LaTex | LaTeX 学习心得
起因
最近要准备数模国赛了,因此学习一下LaTeX的写作排版。
配置有关环境
VScode集成了非常功能,心想着应该也有Latex插件,在一番参考网上教程后,下载了LaTex Workshop插件。
之后在VScode中,打开一个准备好的空文件夹,创建一个my_latex.tex文件,就可以在VScode中进行LaTex的写作了。
在写作的同时,也可以随时在VScode中预览效果。
如果你想在线编辑LaTeX,也可以使用Overleaf。
学习过程
基本语法规则
LaTex中,注释以%开头
LaTeX语言的写法大致分为两类
-
命令
以
\开头,后面跟命令名,如\documentclass -
环境
以
\begin开头,以\end结尾,如\begin{document}
命令和环境可以嵌套
空格和换行符在LaTex中会被忽略,因此需要专门的空格和换行符。
- 空格:一般采用
\quad或\qquad - 换行符:
\\
分段只需要相邻两段之间空一行即可,分段会自动缩进
this is paragraph1, you can see that there is a space between paragraph1 and paragraph2. |
开始一个pdf文档的写作
\documentclass{classname} |
classname 代表文章的风格,可选参数有:
-
article: 用于写短文章 -
report: 用于写长文章 -
book: 用于写书 -
letter: 用于写信件
如果要在文中使用中文,在头部加上xeLaTeX编译(这里我也有点没搞懂)
相关包安装
在开始文档后,需要安装一些包
\usepackage{package1,package2,...} |
常用的包包括:
xeCJK: 用于在xelatex中使用中文。amsmath,amsfonts,amsthm:数学相关支持包,提供了许多数学函数和符号。bm: 用于在公式中使用黑斜体字体。mathrsfs: 用于在公式中使用斜体字体。graphicx: 用于插入图片。subfigure: 用于在同一张图中插入多个子图。geometry: 用于设置页面布局。fancyhdr: 用于自定义页眉和页脚。lastpage: 用于获取总页数。listings: 用于插入代码。hyperref: 用于生成目录和链接。
导言区
Latex将文章分为导言区(preamble)和正文区(main matter)。
导言区可以放置一些全局的设置,如页眉页脚、字体、标题等。
设置文章格式
设置页面边距
\geometry{left=2cm,right=2cm,top=2cm,bottom=2cm} |
设置页眉和页脚
\pagestyle{fancy} |
设置底部页码(默认是1、2…数字)
\cfoot{第 \thepage 页(共 \lastpage 页)} |
\thepage 和 \lastpage 是内置的宏
设置标题格式
\title{文章标题} |
编写正文区
正文区以\begin{document}开始,以\end{document}结束。
如果你想显示各个设定好的标题,可以加入如下代码:
\maketitle |
如果你需要一些无意义的填充,可以加入如下代码:
\lipsum[1-5] % 参数1-5表示填充5段无意义的文本 |
以下内容均均属正文内容:
目录
如果你想显示目录,可以加入如下代码:
\tableofcontents |
目录是根据文章的各级标题自动生成的
各级标题
通过\section{},\subsection{},\subsubsection*{},你可以分别设置一级二级三级标题。
\section{一级标题} % 1 一级标题 |
如果不想有前缀数字,可以使用
\section*{},\subsection*{},\subsubsection*{}
字体
LaTex中,字体可以分为粗体、斜体、无衬线字体、打字机字体、小型大写字母、中等大写字母。
\textbf{粗体} % 加粗 |
数学公式
LaTex中,数学公式可以分为行内公式和行间公式。
行内公式以$符号包裹,如$x^2$
行间公式以\[和\]符号包裹,如\[x^2\]
对于复杂的行间公式,可以使用amsmath包中的equation环境。
行内公式演示: |
插入行间公式时,如果用
equation环境,那么公式会自动编号,如果用equation*环境,那么公式不会自动编号。而如果用\[]\包裹的形式,也不会自动编号
如果想对公式字母加粗,可以用\bm{需要加粗的字母}方法,注意引入bm包
对于复杂的LeTeX公式代码建议利用LaTex公式编辑网站中创建
插入图片
请将需要插入的图片放入你的.tex文件所在目录中(可以是有文件夹的子目录)
插入单图
使用环境\begin{figure}和\end{figure}包裹图片
\begin{figure}[h] |
需要关注的参数:
h:代表自动调整位置\center:表示图片居中width=0.6\textwidth:代表图片宽度为页面宽度的60%your_pic_dir:代表你的图片相对.lex文件的相对路径(如你有一张图片pic.png在与.tex文件同目录下,则可以填pic.png)
插入双图
先使用环境\begin{figure}和\end{figure}包裹双图图片,再使用环境\begin{minipage}和\end{minipage}包裹每张图片
\begin{figure}[h] |
需要关注的参数:
h:代表自动调整位置\centering表示图片居中0.48\textwidth:代表创建一个宽度为页面宽度的48%的容器width=0.9\textwidth:代表图片宽度为容器宽度的90%your_pic1_dir:代表你的第一张图片相对.lex文件的相对路径your_pic2_dir:代表你的第二张图片相对.lex文件的相对路径
调整宽度时不要让你的两张图相互重叠了
插入表格
使用环境\begin{table}和\end{table}包裹表格
使用\centering 设置表格居中
使用环境\begin{tabular}和\end{tabular}包裹具体的表格内容
使用\caption{title}设置表格标题
普通表格示例: |
绘制普通表格关注的参数:
|c|c|c|:c是占位符,c的个数决定了表的列数,同时c也意味着文件居中。l:居左;r:居右\hline:在当前行上方绘制一条横线&:分隔单元格\\:分隔行
绘制三线表关注的参数:
\toprule:顶部横线\midrule:中部横线\bottomrule:底部横线&:分隔单元格\\:分隔行
表格每列最大宽度是由最宽的单元格决定的,因此直接插入表格可能会显得非常小,一个便捷的方法是手动加入空格
\qquad然后手动调整居中(如上方三线图示例)。
事实上,在了解完表格的基础后,我们并不需要手动建表并调整格式,可以通过在线表格创建网站快速编辑所需表格。如果使用了合并单元格等,注意网站给出添加有关包的提示。
如果你只是想创建简单的表格,或许这个在线表格创建网站使用起来更方便。
插入代码
首先添加包 listings
使用环境\begin{lstlisting}和\end{lstlisting}包裹代码
\usepackage{listings} |
需要关注的参数:
language=C++:代表代码语言为C++
标签
为了能在文章快速引用公式、图片、表格、章节等,可以使用标签。
同时标签能够避免手动标号产生修改麻烦的问题。
使用\label{label_name}设置标签
使用\ref{label_name}引用标签
\begin{equation}\label{eq:1} |
标签建议写在环境开始
\begin{}前。标签的命名建议:公式:
eq:eq_name图片:pic:pic_name表格:tab:tab_name章节:sec:sec_name。
参考文献
参考文献可以选择使用BibTex,也可以选择不使用。为了参考文献管理方便,建议选择使用BibTex。
Step1:
使用BibTex需要添加包biblatex。
Step2:
在.tex文件下建立一个BibTex文件,即.bib文件,例如my_bib.bib。
Step3:
在BibTex文件中添加参考文献,例如:
@article{name1, |
参考文献的类型由@后面的参数决定,常见有:
article:文章book:书籍incollection:书籍中的某一章(inproceedings:会议论文report:报告thesis:学位论文unpublished:未发表的论文misc:其他类型
Step4:
在论文最末,\end{document}之前,使用\bibliographystyle{}和\bibliography{}设定参考文献样式和导入数据库。
\bibliographystyle{plain} |
常见的预设样式的可选项有8种,分别是:
plain:按字母的顺序排列,比较次序为作者、年度和标题;unsrt:样式同plain,只是按照引用的先后排序;abbrv:类似plain,将月份全拼改为缩写,更显紧凑;ieeetr:国际电气电子工程师协会期刊样式;acm:美国计算机学会期刊样式;siam:美国工业和应用数学学会期刊样式;
Step5:
在论文中需要引用参考文献的地方使用\cite{name}引用参考文献。
\documentclass{article} %文章类型 |
论文模板
在学习完基础知识后,就可以直接上手模板啦!
对于论文模板,我们不需要关注他的配置,只需要修改其中内容即可。
在overleaf中,可以找到很多优秀的模板,包括全国大学生数学建模竞赛论文模板
其中template.tex很好地演示了模板,能够应付绝大多数数模论文需求。在学习完基础知识后,看懂模板示例代码应该不难,其中的自定义命令也比较好理解,这里就不过多讲解了。
为了方便本地编写全国大学生数学建模竞赛论文,我将论文下载到本地,并打包到自己的github仓库中。如有侵权,请联系我删除。
结语
文中大部分内容学习自LaTeX快速上手与数学建模论文写作
通过简单的LaTeX学习,终于已经能够写出自己的数学建模论文了!对于有markdown基础的同学,学习LaTeX应该会比较快。
既然你已经学会了LaTeX的基础知识,现在就快去写一篇数模国赛论文吧!23333
这篇博客仅记录一下自己的学习心得,希望能对你有所帮助。


