latex快速入门
教程来源:LaTeX不快速的入门
组织文档结构
1. 文档组成
- 标题
- 摘要
- 目录
- 正文
- 篇、章、节、小节、小段
- 文字、公式
- 列表:带编号、不带编号等
- 定理、引理、命题、证明、结论
- 诗歌、引文、程序代码、算法伪码
- 制表
- 画图
- 篇、章、节、小节、小段
- 文献
- 索引、词汇表
latex支持结构化文档的编写方式,也只有具有结构化的文档才适合用latex编写
2. 编写文档的步骤
- 拟定主题
- 列出提纲
- 填写内容
格式(不用在意)
3. latex文档基本结构
以document
环境为界,document
之前的为导言,内部为正文
- 标题:
\title
,\author
,\date
- 摘要:
\abstract
- 目录:
\tableofcontents
- 章节:
\chapter
,\section
- 附录:
\appendix
+\chapter
- 文献:
\bibliography
- 索引:
\printindex
文档划分:
- 大型文档:
\frontmatter
,\mainmatter
,\backmatter
- 一般文档:
\appendix
层次结构:
层次 | 名称 | 命令 | 说明 |
---|---|---|---|
-1 | part | \part | 可选的最高层 |
0 | chapter | \chapter | report,book类最高层 |
1 | section | \section | article类最高层 |
2 | subsection | \subsection | report,book类 |
3 | subsubsection | \subsubsection | report,book类 |
4 | paragraph | \paragraph | 默认不编号,不编目录 |
5 | subparagraph | \subparagraph | 默认不编号,不编目录 |
4. 磁盘文件组织
小文档将所有内容写在同一个目录下,对于较大的文档,可以将文档划分为不同的文件,并划分文件目录结构。
相关命令:
\documentclass
:读入文档类文件(.cls
)\usepackage
:读入一个格式文件——宏包(.sty
)\include
:分页,并读入章节文件(.tex
)\input
:读入任意的文件
填写文档内容
1. latex基础
这是一段最基础的代码,写完之后可放入编译器中进行编译查看结果
\documentclass{article}
\begin{document}
Hello World
\end{document}
下面是中文的基本格式
\documentclass{ctexart}
\begin{document}
你好
\end{document}
编译文件推荐:英文文档(.pdflatex),中文文档(.XeLaTeX)
语法结构
- 命令:参数总在后面花括号表示,用中括号表示可选参数
\documentclass[utf8]{article} % 表示文档类型为使用utf-8编码格式编码的文章
- 环境
\begin{env}
% 此处省略若干行
\end{env}
2. 正文文本
直接输入正文文本,用空格分开单词,一个换行符表示一个空格,需要空行的时候要敲两个换行符(回车符号)
- 正文符号:有些符号被latex语言占用,当需要输入这些符号的时候需要在前面加入反斜线
$, %, &等
3. 公式
- 行内公式:使用一对$ 符 号 表 示 , 公 式 放 在 符 号 中 , 例 如 ‘ 符号表示,公式放在符号中,例如` 符号表示,公式放在符号中,例如‘E=mc^2$`
- 显示公式:
- 不编号公式用命令
\[
和\]
表示 - 编号公式使用equation环境输入,例如
- 不编号公式用命令
\begin{equation}
a^2=b^2+c^2
\end{equation}
上面的这几行代码输出的为勾股定理的数学公式,显示的效果为居中,且带编号
4. 数学符号
这部分的内容可查阅相关手册,不再赘述。
在编写数学公式的时候,一般都会用到amsmath与mathtools宏包
导入宏包的语句\usepackage{pac}
- 数字单位显示宏包:siunitx
\num{-1.235e96}\\ % 科学计数法
\SI{299792458}{m/s}\\
\SI{2x7x3.5}{m}
siunitx的代码有整个latex内核那么长
-
编写化学式:chemformula
-
抄录代码
\verb|#include<stdio.h>| % 使用\verb抄录代码
% 使用verbatim环境抄录代码
\begin{verbatim}
#include<stdio.h>
int main() {
puts('hello world!');
}
\end{verbatim}
% 使用listings宏包,且可以实现代码高亮
\begin{listing}[language=C, basicstyle=\ttfamily, stringstyle=\color{blue}]
#include<stdio.h>
int main() {
puts('hello world');
}
\end{listing}
% 使用minted宏包(调用Pygment)
- 算法结构:clrscode宏包,algorithm2e宏包, 以及algorithmicx宏包的algpseudocode格式等
5. 图表与浮动环境
使用tabular环境,建议数字右对齐,文字居中对齐
一个在线创建latex表格代码的网站tablesgenerator,在这个网站上可以在线创建和拷贝
列举一些表格宏包
- 单元格处理:
multirow
,makecell
- 长表格:
longtable
,xtab
- 定宽表格:
xtabular
- 表线控制:
booktabs
,diagbox
(画表头斜线),arydshln
- 表列格式:
array
- 综合应用:
tabu
图片
使用graphicx宏包的\includegraphicx
命令来插入图片
论文中的表格模块(浮动体)
\begin{table}\centering
\begin{tabular}{|ccccc|}\hline
a&b&c&d&e\\
a&b&c&d&e\\
a&b&c&d&e\\
a&b&c&d&e\\\hline
\end{tabular}
\caption{标题} % 生成底部表格注释
\end{table}
6. 自动化工具
- 目录
- 交叉引用
- PDF链接和书签(常用于幻灯片中):
hyperref
\usepackage{hyperref} % PDF链接与书签
- bibtex:参考文献
使用\cite
命令引用文献,文献需提前存入.bib
数据库中
\bibliographystyle{plain} % 设置参考文献格式,plain为默认格式
去网站数据库中粘贴相关参考文献的bibtex格式至bib文件中,一般的网站均支持bibtex格式。
选用合适的.bst
格式:plainnat,gbt7714-plain(中文格式),natbib与作者-年格式等
设计文档格式
1. 基本原则
格式与内容分离(不要在意细节)
- 使用与内容相关的命令与环境——方便修改
-
推荐:
It is \emph{important}
——当想要强调的时候,推荐使用\emph
命令不好:
It is \textit{important}
——如果某些期刊的强调不是斜体,那么就会出现表意错误 -
推荐:
\caption{流程图}
不好:
\textbf{图1:} 流程图
-
2. 使用宏包
- 作用:宏包可将重复使用的代码提取出来,相当于其他语言中的“库”,提高程序编写效率
- 问题:兼容性问题扩大,不同宏包之间如果出现兼容问题则比较难解决
- 注意事项
- 不用自己创新宏包
- 尽量排除不需要的宏包
3. 字体控制
-
字体字号
- 字体
\rmfamily
,\textrm{}
——罗马字体\sffamily
,\textsf{}
\ttfamily
,\texttt{}
——打字机字体
- 字号
\Huge
,\LARGE
,\Large
,\large
,\normalsize
,\small
,\footnotesize
,\scriptsize
,\tiny
- 中文字号:
\zihao{5}
,\zihao{-3}
- 字体
-
对齐
- 右对齐:
\raggedleft
- 居中:
\centering
- 左对齐:
\raggedright
- 右对齐:
-
空白间距:
\hspace{2cm}
——水平间距2cm,\vspace{3mm}
——竖直间距3mm -
版面布局:宏包例如geometry——设置纸张大小, fancyhdr——设置页面页眉页脚等
-
分页断行:
\\
,\linebreak
,\newpage
,\clearpage
,\cleardoublepage
等
4. 在导言区单独设置格式
- 直接设置相关参数:如设置
\parindent
,\parskip
,\linespread
,\pagestyle
- 修改部分命令定义:如修改
\thesection
,\labelenumi
,\descriptionlabel
,figurename
- 利用工具宏包完成设置:如使用ctex宏包设置中文格式,使用tocloft宏包设置目录格式