LaTeX 不快速的入门笔记
说明:
- 以下代码块中的内容均匀 LaTeX 语法
- 参考视频: 刘海洋・LaTeX 不快速的入门 - 跟着大神学习最纯正的 LaTeX 知识
- 在线表格转 latex:https://tablesgenerator.com/latex_tables
- 推荐:在线 Latex 公式编辑器 Equation Editor
- 推荐博客:始终
命令
命令以反斜杠开头,后面可跟花括号加参数,后面跟中括号表示可选参数
1 | \documentclass[11pt,twoside,a4paper]{article} |
1 | \documentclass[UTF8]{ctexart} |
UTF8 是 TeXworks 编辑器默认使用的编码类型
中文的文档类为 ctexart(Chinese tex article)
.tex⇒.pdf
英文推荐:pdflatex
中文推荐:xelatex
源代码结构
documentclass 和 begin 之间的内容为导言(前言 preamble)「有点类似 HTML 当中的 head 标签」
介于 begin 和 end 之间的内容为正文「类似于 HTML 中是 body」
格式化命令
加粗:\textbf {要加粗的内容}
说明:bf 也就是 bold font 的缩写
斜体:\textit {要斜体的内容}
下划线:underline {下划线内容}
添加一个段落:输入两个换行符;「单独一个换行符只会生成一个空格」
1 | % 章节 |
插入图片
Latex 本身不支持插图功能,需要使用 graphicx 宏包辅助支持
如何控制图片的大小呢?在 graphicx 命令后加可选参数
1 | \graphicx[width=0.5\textwidth]{这里是图片的名字} |
如果要为图片添加图注信息,则将图片嵌套在 figure 环境当中
1 | \begin{figure} |
列表
有序列表:enumerate
无序列表:itemize
1 | \begin{itemize} |
数学公式
行内公式:可以使用 inline equation 直接在段落内添加公式,写在两个美元符号中间
行间公式:使用 equation 环境,「可以将环境简写为」
1 | \[ |
一般符号:α,β……
指数上下标形式:^ and _
分式和根式
推荐:在线 Latex 公式编辑器 Equation Editor
表格
创建环境 tabular
1 | \end{itemize} |
说明:
- ccc 表示共表格共 3 列,且三列为居中对齐,如果是 CRR,表示第一列居中对齐,第二三列为右对齐
- 单元格与单元格用 & 隔开
- 表格一行结束使用两个反斜杠 \
- 如果在参数 ccc 中插入竖线 | c|c|c|,可为表格添加垂直方向的边框
- 水平方向的边框通过
\hline
添加
和图片类似,如果表注,需要将表格添加的表的环境中「开始是 tabular,需要嵌入 table 环境中」,再使用 \caption {} 添加表注
注释
百分号开头,和 matlab 相同
正文文本
一个换行符等同于一个空格,多个空格的效果与一个相同
自然段分段式空一行
标题:title、author、date——maketitle
摘要 / 前言:abstract 环境 /chapter
目录:tableofcontents
章节:chapter,section
附录:appendix+chapter 或 section
文献:bibliography(自动生成参考文献)
索引:printindex
章节层次结构:
- part:可选的最高层
- chapter:report,book 类最高层
- section:article 类最高层
- subsection
- subsubsection:默认不编号,不编目录
- paragraph:默认不编号,不编目录
- subparagraph:默认不编号,不编目录
正文符号
一些符号被 latex 宏语言占用,需要以命令形式输入:
比如反斜杠:\textbackslash
公式
- 行内公式
- 列表(显示公式)公式
- 简单不编号的公式使用命令
\[ \]
- 基本的编号的公式用 equation 环境(beq tab 键即可出来)
- 更复杂的结构,使用 amsmath 宏包…
- 简单不编号的公式使用命令
上标和下标:^ and _
分式:frac{分子}{分母}
根式:sqrt[次数]{根号下}
矩阵:amsmath 宏包提供了专门的矩阵环境,matrix,pmatrix,bmatrix 等
数学符号
- 数学字母
- 普通符号
- 乘号:\times
- 除号:\div
- 二元运算符
- 二元关系符:大于小于等于等
- 括号
- 标点:逗号,
\colon
冒号,\semicolon
分号 - 分式使用 \frac {分子}{分母} 形式书写;分式在行间正常大小显示,而如果在行中,则会被压缩
- 根式使用 \sqrt [n 次]{内容}
数学公式
amsmath 是基本的数学工具包,在包含数学公式的文档中几乎无处不在,mathtools 则对 amsmath 做了一些补充和增强
科技功能
siunitx:数字单位的一揽子解决方案
1 | \num{-1.2345e95} |
编写化学式
chemformula 宏包(\ch 命令)
1 | \ch{2 H2 + O2 -> 2 H2O} |
列表与文本块
抄录代码
\verb | 这里是代码 |
\verbatim 环境
1 | \begin{verbatim} |
高级代码:语法高亮
使用 listings 宏包
算法结构
- clrscode 宏包
- algorithm2e 宏包
- …
图表与浮动环境
画表图:使用 tabular 环境
表格转换为 latex 代码:https://tablesgenerator.com/latex_tables
功能各异的表格宏包
- 单元格处理:multirow、makecell
- 长表格:longtable、xtab
- 表线控制:booktabs(三线表)、diagbox(斜线表)
- 综合应用:tabu
- …
插图
graphics 宏包提供 \includegraphics 命令
代码画图
优先使用外部工具绘图,矢量图 Lnkscape(开源),Illustrator,甚至是 powerpoint(保存为 PDF 格式),数学图形使用 matlab 之类
浮动体
- figure 环境
- table 环境
其他环境可以使用 float 宏包得到
浮动体的标题使用 \caption 命令得到,自动编号
自动化工具
- 自动目录
- 交叉引用
- PDF 的链接与书签(hyperref 宏包)
- BIBTex
- .bib 数据库
- JabRef:管理 bib 数据库
- \cite 命令引用
- 末尾 \bibliography {math} 引用
- .bib 数据库
设置文献格式
选用合适的.bst 格式,比如 plainnat,gbt7714-plain
natbib 与作者 - 年格式
利用 custom-bib 产生定制的格式文件
bilatex+biber:文献处理的新方式
设计文档格式
基本原则
格式与内容分离,不要在意细节上 Latex 的一大卖点
使用内容相关的命令与环境
只使用语义相关的的命令
比如推荐 emph,不推荐使用 textit
推荐 caption {流程图},不推荐 textbf {图 1:} 流程图
使用宏包
格式控制功能
字体
rmfamily,textrm
sffamily,textsf
ttfamily,texttt
字号
zihao{5},zihao{-3}
对齐
\centering,\raggedleft,\raggedright
空白间距
\hspace{2cm},vspace{3cm}
版面布局
geometry 宏包
fancyhdr 宏包(设置页眉页脚)
分页断行
linebreak、\\
(一般表格的时候使用)
pagebreak,newpage,clearpage,cleardoublepage
盒子
\mbox {内容}
\parbox {4em}{内容},minipage
格式应用于文档
使用在导言区单独设置格式
直接设置相关参数:如 parindent,parskip,linespread(几倍行距),pagestyle(页眉页脚)
修改部分命令定义:thesection,labelenumi,descriptionlabe1,figurename
利用工具宏包完成设置:toclof 宏包设置目录格式
利用自定义命令和环境
例如,为程序名定义一个命令
1 | \newcommand\prg[1]{\textsf{#1}} |
此后,如果想要修改 sort 的样式,那么直接修改我们自定义的命令,比如
1 | \newcommand\prg[1]{\textbf{\huge #1}} |
章节标题
ctex 宏包及文档类,用 \ctexset 定制,西文用 titlesec 等
浮动标题
caption 宏包
texdoc caption
列表环境的定制
enumitem 宏包
如设置列表不设置多倍行距
1 | \usepackage{enumerate} |