LaTex学习LaTex文档类与宏包
Posted 沧夜2021
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LaTex学习LaTex文档类与宏包相关的知识,希望对你有一定的参考价值。
认识LaTex
LaTeX 处理一个包含文本的文件,文件中散布着描述文本格式的命令。 它至少产生三个文件作为输出
.dvi
文件:这包含可以用于各种输出命令。 之所以可以使用各种程序查看LaTeX的输出,是因为这些程序实际上使用了 .dvi
文件。
.log
文件。包含输入文件中发现的错误摘要和诊断信息。
.aux
文件。LaTeX 自己用,用于诸如切片之类的处理。
LaTex的命令主要结构是\\[]{}
,以命令名称开头,命令名称后要么跟一串字母,要么跟单个非字母的东西组成。 方括号中的参数是可选的,而大括号中的参数是必需的。注意LaTeX 区分大小写,除非明确说明了,否则以小写形式输入所有命令。
\\documentclass{article}
保留字符
LaTex中有一种特殊的符号,它们在LaTex中有着特殊的定义成。在生成文档时候不能直接输出
# %自定义命令时,表明参数序号
$ %数学环境命令符,用于输入数学表达式,进入或者退出数学环境
% %注释符
^ %数学上标命令符
& %表格跳列符
_ %数学下标命令符
{ %标记命令
} %标记命令
\\ %开始LaTex命令
但是如果在使用中你明确要将这些符号作为文本输出。可以在它们前面加上\\
转义。类似于C语言中的转义。可以这样理解。
\\
的转义就比较麻烦。
可以使用
\\texttt{\\char92}
92是\\
的ASCII码
或者
\\texttt{\\char`\\\\}
char`后跟字符的方式输出,对于保留字要多加一个 \\ 进行转义
LaTex环境
LaTex
的环境是指让一些效果在局部生效,或者生成特殊的文档元素的标记
主要使用方法是使用\\begin
与 \\end
\\begin{document}
...
\\end{document}
以上示例说明的是document
环境的开始与结束。环境可以嵌套用。
导言区
LaTex的文本框架一般是这样的
\\documentclass[options]{...} %...为文档类型输入点
% 导言区
\\begin{document}
% 正文区
\\end{document}
在\\documentclass[options]{doc-class}
与\\begin{document}
之前的内容就是导言区。这个区域可以留空,也可以进行文档前的配置工作。
提醒一下%
后的是注释,类似于python
中的#
注释符
文档类
顾名思义,文档类就是标记文档的类型。文档类的定义必须在文档开头就注明。格式如下:
\\documentclass[⟨options⟩]{⟨class-name⟩}
class-name
为文档类的名称。article, book, report为最基本的三个文档类,因此常常称为这三个为 标准文档类
注意派生出的支持中文的文档类常见的有ctexart
,ctexbook
, ctexrep
名称 | 说明 |
---|---|
article | 文章格式的文档类,广泛用于科技论文、报告、说明文档等。 |
report | 长篇报告格式的文档类,具有章节结构,用于综述、长篇论文、简单的书籍等 |
book | 书籍文档类,包含章节结构和前言、正文、后记等结构 |
proc | 基于 article 文档类的一个简单的学术文档模板 |
slides | 幻灯片格式的文档类,使用无衬线字体 |
minimal | 一个极其精简的文档类,只设定了纸张大小和基本字号,用作代码测试的最小工作示例(Minimal Working Example) |
options
为文档类可选项,规定一些排版的参数,如字号、纸张大小、单双面等等
对于标准文档类的可选项有
名称 | 说明 |
---|---|
10pt, 11pt, 12pt | 指定文档的基本字号。默认为 10pt。 |
a4paper, letterpaper,a5paper,b5paper,executivepaper 和 legalpaper | 指定纸张大小,默认为美式信纸 letterpaper (8.5 × 11 英寸) |
twoside, oneside | 指定单面/双面排版。双面排版时,奇偶页的页眉页脚、页边距不同。article和 report 默认为 oneside,book 默认为 twoside。 |
onecolumn, twocolumn | 指定单栏/双栏排版。默认为 onecolumn。 |
openright, openany | 指定新的一章 \\chapter 是在奇数页(右侧)开始,还是直接紧跟着上一页开始。report 默认为 openany,book 默认为 openright。对 article 无效 |
landscape | 指定横向排版。默认为纵向。 |
titlepage, notitlepage | 指定标题命令 \\maketitle 是否生成单独的标题页。article 默认为notitlepage,report 和 book 默认为 titlepage |
fleqn | 令行间公式左对齐。默认为居中对齐。 |
leqno | 将公式编号放在左边。默认为右边。 |
draft, final | 指定草稿/终稿模式。草稿模式下,断行不良的地方会在行尾添加一个黑色方块。默认为 final。 |
宏包
在使用Latex时,就像Python一样,会有许多第三方强大的模块。宏包就是这样的一个东西,用来增强LaTex的功能。
宏包的定义格式如下:
\\usepackage[⟨options⟩]{⟨package-name⟩}
\\usepackage
可以一次性调用多个宏包,在 ⟨package-name⟩
中用逗号隔开。这种用法一般不要指定选项。因为如果使用多个宏包时指定选项,相当于给每个宏包指定同样的选项。如果正好有某个宏包不能识别指定的选项,就会出错了。
% 一次性调用三个排版表格常用的宏包
\\usepackage{tabularx, makecell, multirow}
注意,在调用宏包的时候,就像使用python那样,要确认你已经安装了它
当你不熟悉某个宏包的时候,在windows CMD终端输入
texdoc pkg-name
pkg-name
用包的名字替代一下
常用宏包
不需要记忆,需要时候查阅即可。
文字、公式和符号
amsmath %AMS 数学公式扩展。
mathtools %数学公式扩展宏包,提供了公式编号定制和更多的符号、矩阵等。
amsfonts %AMS 扩展符号的基础字体支持。
amssymb %在 amsfonts 基础上将 AMS 扩展符号定义成命令。
bm %提供将数学符号加粗的命令 \\bm。
siunitx %以国际单位规范排版物理量的单位。
mhchem %排版化学式和方程式。
tipa %排版国际音标。
排版元素
ulem %提供排版可断行下划线的命令 \\uline 以及其它装饰文字的命令。
endnote %排版尾注。
marginnote %改善的边注排版功能。
multicol %提供将内容自由分栏的 multicols 环境。
multitoc %生成多栏排版的目录。
minitoc %为章节生成独立的小目录。
glossaries %生成词汇表。
verbatim %对原始的 verbatim 环境的改善。提供了命令 \\verbatiminput 调用源文件。
fancyvrb %提供了代码排版环境 Verbatim 以及对版式的自定义。
listings %提供了排版关键字高亮的代码环境 lstlisting 以及对版式的自定义。类似宏包有minted。
algorithmic %一个简单的实现算法排版的宏包。如果要生成浮动体的话,需要搭配 algorithm 宏包使用。
algorithm2e %较为复杂的、可定制的算法排版宏包。类似宏包有 algorithmicx 等。
ntheorem %定制定理环境。类似宏包包括 theorem、thmtools、amsthm 等。
mdframed %排版可自动断页的带边框文字段落,提供边框样式的定制功能。
tcolorbox %以TikZ为基础提供排版样式丰富的彩色盒子的功能。
图表和浮动体
booktabs %排版三线表。
array %对表格列格式的扩展。
tabularx %提供 tabularx 环境排版定宽表格,支持自动计算宽度的 X 列格式。
arydshln %支持排版虚线表格线。
colortbl %支持修改表格的行、列、单元格的颜色。
multirow %支持合并多行单元格。
makecell %支持在单元格里排版多行内容(嵌套一个单列的小表格)。
diagbox %排版斜线表头。
longtable %提供排版跨页长表格的 longtable 环境。
ltxtable %跨页长表格可使用 tabularx 的 X 列格式。
tabu %提供排版复杂格式表格的 tabu 环境。与 longtable 一同调用时,提供排版复杂格式跨页长表格的 longtabu 环境。
graphicx %支持插图。
bmpsize %latex + dvipdfmx 命令下支持 BMP/JPG/PNG 等格式的位图。
epstopdf %pdflatex 命令下支持 EPS 格式的矢量图。
wrapfig %支持简单的文字在图片周围的绕排。
subfig %提供子图表和子标题的排版。类似宏包有 subfigure 和 subcaption 等。
caption %控制浮动体标题的格式。
bicaption %生成双语浮动体标题。
float %为浮动体提供不浮动的 H 模式;提供自定义浮动体结构的功能。
修改版式
geometry %修改页面尺寸、页边距、页眉页脚等参数。
fancyhdr %修改页眉页脚格式,令页眉页脚可以左对齐、居中、右对齐。
titlesec %修改章节标题 \\chapter、\\section 等的格式。
titletoc %修改目录中各条目的格式。
tocloft %类似 titletoc 的修改目录条目格式的宏包。
tocbibind %支持将目录、参考文献、索引本身写入目录项。
footmisc %修改脚注 \\footnote 的格式。
indentfirst %令章节标题后的第一段首行缩进。
enumerate %提供简单的自定义标签格式的 enumerate 环境。
enumitem %修改列表环境 enumerate 和 itemize 等的格式。
lettrine %生成段落首字母大写的效果。
参考资料
Characters and Control Sequences (tcd.ie)
尾言
以上是这一篇LaTex的主要内容。后期的更新,敬请期待!
以上是关于LaTex学习LaTex文档类与宏包的主要内容,如果未能解决你的问题,请参考以下文章