Mac电脑用Latex论文排版3天速成5天实战de笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

我后悔了,这五天竞赛搞得我视力都下降了...

一个冲动的决定后成为数模竞赛论文写手,3天速成+5天时间=点亮攻克latex写论文技能💡


关于Overleaf
我是Mac,曾经按照大部分推荐的方式用TEXshop+vs code,但是把模板导入就开始报错。跟着少之又少的适配mac的教程(此时我已知道大概是走错路了)改了配置也无效。
海鲜市场找佬改了半天,佬问我:一定要用VC吗?我说,那倒也不是。
于是佬推荐我overleaf,三下五除二帮我挑配了环境,美汁汁收了我30块钱。
使用下来的感受就是,很好用,但别去网卡的地方————
我曾在深夜头脑风暴和争分夺秒的交稿前夕碰到突然就疯狂报错。
我很清楚以我只会用“替换关键部位”写代码的方式是不会出什么大错的,我甚至下载了无错的历史版本也疯狂报错,于是我坚信一定是它自己的问题。
果然刷新到五六分钟之后,恢复正常。就好像那个上一秒要和男友分手的臭女人一样,下一秒正常的让我觉得我有臆想症。

(p.s. 每次改动后需要点击绿色的Recompile重跑一次代码才能更新右侧的论文。自动更新可以打开这个On,但会卡。建议保持Off状态!)

开启前的必备品
模板
首先要获取官方or按官方要求开发好的latex模板。我的模板里包含了:

  • 官方要求的封面和摘要(但摘要字体有误,时间短暂没学会mac电脑怎么安装字体。解决方案:用word模板做好之后对输出的pdf打一套移花接木的组合拳即可)
  • 一些标配的包的引用、目录、页码设置、一二级标题、bib格式的摘要、附录、附录代码

框架

\documentclass{article}
\usepackage[framemethod=TikZ]{mdframed} %加入宏包

\title{填入论文的标题}
\author{作者姓名}
\date{\today}

\begin{document} %开始文档
\maketitle %在文档中显示标题

\bibliography{references} % 假设参考文献存储在 references.bib 文件中

\end{document}

宏包
宏包(package)是LaTeX中用于扩展和增强文档处理功能的模块,它们提供了额外的命令、环境和样式,使得文档排版更加灵活和丰富。
注意⚠️在\begin{document}之前载入宏包
这次建模用到的宏包:

\usepackage[framemethod=TikZ]{mdframed}
\newcommand{\upcite}[1]{\textsuperscript{\cite{#1}}}
\bibliographystyle{unsrt}
\usepackage{makecell}
\usepackage{float}
\usepackage{amsmath}
\documentclass{article}
\usepackage{algorithm}
\usepackage{algpseudocode}
  1. mdframed: 提供了创建精美框架的功能,framemethod=TikZ参数表示使用TikZ宏包来绘制框架。

  2. newcommand: 定义了一个新的命令\upcite,它将引用作为上标输出,这在引用文献时很有用。

  3. bibliographystyle{unsrt}: 设置参考文献的样式为无序(unsrt),即参考文献将按照文中引用的顺序而不是按照作者或年份排序。

  4. makecell: 提供了在表格单元格中进行换行的功能。

  5. float: 允许你更好地控制浮动对象(如图表和表格)的位置。

  6. amsmath: 提供了增强的数学公式排版功能。

  7. algorithmalgpseudocode: 这两个宏包通常一起使用,用于编写算法伪代码。

论文常用

1.摘要

\begin{abstract}

填入摘要内容

\keywords{\textbf{关键词1、关键词2}} 
\end{abstract}

2.页码

我的论文要求从摘要页开始页码编号,前面的封面页编号,于是在end abstract后加入了这个语句,表示从这个页面开始编号。

\pagestyle{plain} %页码编号

想要结束页码编号,就在要结束处加上这句。

\pagestyle{empty} 

3.目录与章节

自动生成目录。目录是根据具体的章节内容生成的。

\tableofcontents

按照层级关系,章节的写法如下。

\section{一级标题}
\subsection{二级标题}
\subsubsection{三级标题}

4.单图

\begin{figure}[H]  %开始一个图的模块,[H]表示强制在这个位置插入图
\centering  %居中
\includegraphics[width=.75\textwidth]{GMCMthesis-master/figures/流程图.jpg} %宽度为0.75倍的页面宽度,图片文件所在位置(或直接写图片的文件名也行,比如流程图.jpg)
\caption{流程图} % 图片的题目,会显示在图下方
\label{IS}  % 图片的标签,可以在其他地方引用
\end{figure}

注意:
1.图片要先Upload进子文件夹figures中。在这里插入图片描述
2.注意图片的格式.png.jpg.jpeg.pdf等,要对应更新在代码中,推荐矢量图更清晰。

5.多图

举个🌰:三图并排

\begin{figure}[htb]
	
	\begin{minipage}{0.32\linewidth}%可修改0.32为其他比例,调整大小
		\vspace{3pt}
        %这个图片路径替换成你的图片路径即可使用
		\centerline{\includegraphics[width=\textwidth]{GMCMthesis-master/figures/k31.png}}
          % 加入对这列的图片说明
		\centerline{波形-材料}
	\end{minipage}
	\begin{minipage}{0.35\linewidth}
		\vspace{3pt}
		\centerline{\includegraphics[width=\textwidth]{GMCMthesis-master/figures/k32.png}}
	 
		\centerline{波形-温度}
	\end{minipage}
	\begin{minipage}{0.28\linewidth}
		\vspace{3pt}
		\centerline{\includegraphics[width=\textwidth]{GMCMthesis-master/figures/k33.png}}
	 
		\centerline{温度-材料}
	\end{minipage}

由于我的图没有统一规格,做出来的效果就比较一般。建议使用这个方法的要控制自己的图的规格。
在这里插入图片描述

6. 最基本的三线格

论文常用的三线格

%三线格
\begin{table}[htbp]
    \centering
    \caption{符号说明}
    \renewcommand{\arraystretch}{.5} %行间距为0.5
    \begin{tabular}{c|l} %一共两列,c:第一列居中,|:两列用竖线隔开,l:第二列居左
     \hline %插入横线
     \makebox[0.1\textwidth][c]{符号}	&  \makebox[0.7\textwidth][l]{含义} \\ \hline
  % 第一列设置0.1倍列宽,这列的列名居中,列名为“符号”
  % 第二列设置0.7倍列宽,这列的列名居左,列名为“含义”
  % \\表示换行;\hline表示在这个位置下面插入横线
     $x$_{ij}           & 自行磁滞密度,其中i表示第i个样本,j表示第j时刻  \\
     $t$	             & 温度,取4个值:25、50、70、90,单位:摄氏度(°C)  \\ 
     $G$       & 常数0.1356      \\  \hline
    \end{tabular}
    \label{fuhao} % 取一个标签,方便后面引用
\end{table}
%字多就居左,字少就居中

三线表格的意义就在于只有三条横线,所以在需要加横线的位置增加\hline即可,若要更多的横线可以自行添加。
若想增加或删减竖线,可以在[c|l]中完成,比如[|c|l|]。
也可以[c|l]中改变表格中单元格的居左、中、右(lcr)。
也可以[c|l]中改变列数,比如三列居中就是[ccc],但别忘了要在表格内容中改成 xx & xx & xx 。

建议文字多就加竖线并居左,文字少就无竖线居右。
在这里插入图片描述
举个🌰:

\begin{table}[htbp]  % 尝试将表格放置在合适的位置
  \centering  % 使表格居中
  \begin{tabular}{cccccccc}  % 定义一个有三列的表格
    \toprule
    算法 & 温度 & 频率 & 材料 & 波形 & 最大磁密 & 磁芯损耗 & 传输磁能  \\  % 表头
    \midrule
    MOPSO & 90 & 498602 & 材料1 & 正弦波 & 0.2973
 & 5215000 & 102560 \\  % 第一行数据
    NSGA2 & 70 & 474097 & 材料3 & 三角波 & 0.3132 & 7348200 & 148500 \\  % 第二行数据
    \bottomrule
  \end{tabular}
  \caption{模型求解结果}  % 表格标题
  \label{tab:example}  % 表格标签,用于引用
\end{table}

在这里插入图片描述

7.复杂表格

举个🌰:

\begin{table}[htbp]
		\caption{分类变量标签编码对应表}
		\centering
        \renewcommand\arraystretch{.8} % 设置行间距(但好像对我无效)
		\begin{tabular}{p{40mm}p{40mm}p{30mm}} %设置列宽度
			\toprule [1pt]     % 表格顶线[宽度]
			分类变量 & 类别名称 & 标签编码 \\
			\midrule [1pt]    % 表格中间横线[宽度]
			\multirow{4 }{=}{磁芯材料} 
            &    材料1     &       1 \\
			&    材料2     &       2 \\
			&    材料3     &       3 \\
			&    材料4     &       4 \\    \hline
   
            \multirow{4 }{=}{温度} 
            &    25°C     &       1 \\
			&    50°C     &       2 \\
			&    70°C     &       3 \\
			&    90°C     &       4 \\   \hline
   
			\multirow{3}{=}{励磁波形} 
            &    正弦波     &      1 \\
			&    三角波     &      2 \\
			&    梯形波     &      3 \\
			\bottomrule [1pt]     
		\end{tabular}
		\vspace{-2mm}
		\label{bianma}
	\end{table}

在这里插入图片描述
再举个🌰:

更详细的表格看这里:https://blog.csdn.net/qq_50604294/article/details/139804628
调整行列间距看这里:
https://blog.csdn.net/qq_53372572/article/details/138574363
网上很多人推但我没学会怎么用的在线表格编辑器:
http://www.latex-tables.com

8.数学公式

数学公式编辑器:https://www.latexlive.com,可以识图但非会员好像只有一天一次。
(我以前总用xmind做脑图,经常手打公式,打习惯了就很快,很好上手,不要怕手打,真的超爽的~~)
我这几天用下来常用的输入数学字符的方法有三种,各有千秋。

$

第一种适用于表格中、文中一两个字母之类的:就是用美元符号包裹住想要变成数学符号的部分,他就可以让数学字符出现在文中的任一角落。
在这里插入图片描述

[ … ]

这种方法写出的公式不带编号。适合放在表格中,以及文中不太重要的、非核心的、不需要引用的式子使用。

\[
\text{net}_j^l = \sum_{i=1}^{n} w_{ij}^l a_i^{l-1} + b_j^l
\]
\[
a_j^l = f(\text{net}_j^l)
\]

在这里插入图片描述

公式块

正式的公式块引用公式会为公式自动编号,且整体更美观。
单行公式

\begin{equation}
\label{zhengxianbo} 
    y(t) = A\sin(\omega t + \phi) +c
\end{equation}

在这里插入图片描述

大花括号的多行公式

\begin{equation}\label{sanjiaobo} 
\begin{equation}\label{tixingbo}
    y(t) = \begin{cases} 
    A & \text{if } t \in [0, T_1], \\
    B + \frac{C - B}{T_2 - T_1} (t - T_1) & \text{if } t \in (T_1, T_2], \\
    C & \text{if } t \in (T_2, T_3], \\
    D + \frac{E - D}{T - T_3} (t - T_3) & \text{if } t \in (T_3, T],
\end{cases}
\end{equation}

在这里插入图片描述
巨长公式
latex的公式不会自动转行,这是用下来效果最好的转行方式。

\begin{equation}\label{erjie}
\begin{aligned}
   P = & \, \beta_0 + \beta_1T50 + \beta_2T70 + \beta_3T90 + \beta_4S_{\triangle} + \beta_5S_{\text{梯形}} + \beta_6M2 + \beta_7M3 + \beta_8M4 \\
   & + \beta_9(T50 \times S_{\triangle}) + \beta_{10}(T50 \times S_{\text{梯形}}) + \beta_{11}(T70 \times S_{\triangle}) + \beta_{12}(T70 \times S_{\text{梯形}})\\
   & + \beta_{13}(T90 \times S_{\triangle}) + \beta_{14}(T90 \times S_{\text{梯形}}) 
    + \beta_{15}(T50 \times M2) + \beta_{16}(T50 \times M3) \\
   & + \beta_{17}(T50 \times M4)  + \beta_{18}(T70 \times M2) + \beta_{19}(T70 \times M3) + \beta_{20}(T70 \times M4) \\
   & + \beta_{21}(T90 \times M2) + \beta_{22}(T90 \times M3) + \beta_{23}(T90 \times M4) + \beta_{24}(S_{\triangle} \times M2)\\
    &+ \beta_{25}(S_{\triangle} \times M3) + \beta_{26}(S_{\triangle} \times M4) 
   + \beta_{27}(S_{\text{梯形}} \times M2) + \beta_{28}(S_{\text{梯形}} \times M3) \\
   & + \beta_{29}(S_{\text{梯形}} \times M4) + \epsilon
\end{aligned}
\end{equation}

在这里插入图片描述

更多的公式格式可以看:https://blog.csdn.net/AbaloneVH/article/details/125599538

9.伪代码

为了让内容更高级(凑字数),加入了伪代码模块。这个模板是我搜罗出来格式最舒服的。

% 伪代码
\begin{algorithm}
    \caption{孤立森林算法}
    \label{alg:isolation_forest}
    
    \begin{algorithmic}[1]
        \State 给定:数据集 $D$,树的数量 $T$,子样本大小 $s$
        \State 初始化树列表 $\mathcal{T} = []$
        \For{$t = 1$ 到 $T$}
            \State 从 $D$ 中随机抽取 $s$ 个样本构成子样本集 $S$
            \State 构建隔离树 $tree$ 并加入到树列表 $\mathcal{T}$
        \EndFor
        \State 对每个数据点 $x$,计算其在 $\mathcal{T}$ 中的平均路径长度
        \If{平均路径长度显著小于正常点}
            \State 输出:$x$ 是离群值
        \Else
            \State 输出:$x$ 是正常点
        \EndIf
    \end{algorithmic}
    
\end{algorithm}

在这里插入图片描述

10.无序圆点

在写假设的时候用到了无序排列

\begin{itemize}
\item 题目提供的训练数据和测试数据的原始分布一致;
\item 
\item
\end{itemize}

得到的结果如图所示:在这里插入图片描述

11.引用

引用表格、图片、参考文献,都可以用\cite[lable]的方式。
对于图片和表格,[…]内就是之前图片表格的label。
对于文献,参考下面bib格式录入参考文献,把bib码中的lable粘贴上来即可。
如果想实现引用的数字码在右上角,可以用\upcite[]。

12.参考文献

两种方式,第一种手工录入:

% \begin{thebibliography}{9}%宽度9
% \bibitem{bib:one} ....
% \bibitem{bib:two} ....
%\end{thebibliography}

我用的是第二种,采用bibtex方案。
可以直接把所要引用的文献的bib码粘贴在文件夹中的.bib文件中,之后再需要引用的地方\cite[…]即可。

%\cite{mittelbach_latex_2004,wright_latex3_2009,beeton_unicode_2008,vieth_experiences_2009}

之后,插入下面这个就会自动生成引用过的文献,并按顺序自动排序。

\bibliographystyle{引用格式参考}
\bibliography{bib文件名}

13.附录与代码

添加附录

\appendix

插入代码

\section{MATLAB源程序与运行说明}
\begin{lstlisting}[language=Matlab]%设置不同语言即可。

kk=2;[mdd,ndd]=size(dd);
clear
clc
%% 加载数据
data = xlsread('信号数据.xlsx'); 
...

\end{lstlisting}

14.分页符

\newpage

15.零碎的细节

换行
latex的换行要两个回车。
标题
注意顺序:

\title{...}
\begin{document}  %在begin之前写上title是什么
 
\maketitle  %之后再引用

加粗

\textbf{要加粗的内容}

公式的自动换行
看公式的第三部分


遇到困难

善于使用AI工具。别忘了检查是否有冲突的begin和end,是否有网络因素导致疯狂报错,在复制粘贴过程中是否更改了label,是否更改了文件后缀。

我用过觉得不错的教程,除了上述插入的还有下面:
https://www.bilibili.com/video/BV1cg411V7hW/?spm_id_from=333.337.search-card.all.click&vd_source=9db3623f73af7b21f6ee9bc9f5996649

总结

在这篇详尽的文章中,我们学习了如何使用LaTeX进行学术论文的排版,包括了从基础的文档框架构建、宏包的使用,到复杂的表格制作、数学公式编辑、伪代码插入以及参考文献的自动化管理。文章还介绍了如何调整文档的页码、目录生成、图表插入和代码附录的添加。此外,还分享了使用在线工具辅助LaTeX表格制作的技巧,以及一些实用的LaTeX资源链接。通过这些步骤和技巧,我们可以高效地创建出格式规范、内容清晰的学术论文。(来自AI,因为我真的不会写总结嘻嘻)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值