LaTex学习(三)LaTex文档类与宏包

网友投稿 1729 2022-05-29

文章目录

认识LaTex

保留字符

LaTex环境

导言区

文档类

宏包

LaTex学习(三)LaTex文档类与宏包

常用宏包

文字、公式和符号

排版元素

图表和浮动体

修改版式

参考资料

尾言

认识LaTex

LaTeX 处理一个包含文本的文件,文件中散布着描述文本格式的命令。 它至少产生三个文件作为输出

.dvi文件:这包含可以用于各种输出命令。 之所以可以使用各种程序查看LaTeX的输出,是因为这些程序实际上使用了 .dvi文件。

.log文件。包含输入文件中发现的错误摘要和诊断信息。

.aux文件。LaTeX 自己用,用于诸如切片之类的处理。

LaTex的命令主要结构是\[]{},以命令名称开头,命令名称后要么跟一串字母,要么跟单个非字母的东西组成。 方括号中的参数是可选的,而大括号中的参数是必需的。注意LaTeX 区分大小写,除非明确说明了,否则以小写形式输入所有命令。

\documentclass{article}

1

保留字符

LaTex中有一种特殊的符号,它们在LaTex中有着特殊的定义成。在生成文档时候不能直接输出

# %自定义命令时,表明参数序号 $ %数学环境命令符,用于输入数学表达式,进入或者退出数学环境 % %注释符 ^ %数学上标命令符 & %表格跳列符 _ %数学下标命令符 { %标记命令 } %标记命令 \ %开始LaTex命令

1

2

3

4

5

6

7

8

9

但是如果在使用中你明确要将这些符号作为文本输出。可以在它们前面加上\转义。类似于C语言中的转义。可以这样理解。

\的转义就比较麻烦。

可以使用

\texttt{\char92}

1

92是\的ASCII码

或者

\texttt{\char`\\}

1

char`后跟字符的方式输出,对于保留字要多加一个 \ 进行转义

LaTex环境

LaTex的环境是指让一些效果在局部生效,或者生成特殊的文档元素的标记

主要使用方法是使用\begin 与 \end

\begin{document} ... \end{document}

1

2

3

以上示例说明的是document环境的开始与结束。环境可以嵌套用。

导言区

LaTex的文本框架一般是这样的

\documentclass[options]{...} %...为文档类型输入点 % 导言区 \begin{document} % 正文区 \end{document}

1

2

3

4

5

在\documentclass[options]{doc-class}与\begin{document}之前的内容就是导言区。这个区域可以留空,也可以进行文档前的配置工作。

提醒一下%后的是注释,类似于python中的#注释符

文档类

顾名思义,文档类就是标记文档的类型。文档类的定义必须在文档开头就注明。格式如下:

\documentclass[⟨options⟩]{⟨class-name⟩}

1

class-name为文档类的名称。article, book, report为最基本的三个文档类,因此常常称为这三个为 标准文档类

注意派生出的支持中文的文档类常见的有ctexart ,ctexbook , ctexrep

options为文档类可选项,规定一些排版的参数,如字号、纸张大小、单双面等等

对于标准文档类的可选项有

宏包

在使用Latex时,就像Python一样,会有许多第三方强大的模块。宏包就是这样的一个东西,用来增强LaTex的功能。

宏包的定义格式如下:

\usepackage[⟨options⟩]{⟨package-name⟩}

1

\usepackage 可以一次性调用多个宏包,在 ⟨package-name⟩中用逗号隔开。这种用法一般不要指定选项。因为如果使用多个宏包时指定选项,相当于给每个宏包指定同样的选项。如果正好有某个宏包不能识别指定的选项,就会出错了。

% 一次性调用三个排版表格常用的宏包 \usepackage{tabularx, makecell, multirow}

1

2

注意,在调用宏包的时候,就像使用python那样,要确认你已经安装了它

当你不熟悉某个宏包的时候,在windows CMD终端输入

texdoc pkg-name

1

pkg-name 用包的名字替代一下

常用宏包

不需要记忆,需要时候查阅即可。

amsmath %AMS 数学公式扩展。 mathtools %数学公式扩展宏包,提供了公式编号定制和更多的符号、矩阵等。 amsfonts %AMS 扩展符号的基础字体支持。 amssymb %在 amsfonts 基础上将 AMS 扩展符号定义成命令。 bm %提供将数学符号加粗的命令 \bm。 siunitx %以国际单位规范排版物理量的单位。 mhchem %排版化学式和方程式。 tipa %排版国际音标。

1

2

3

4

5

6

7

8

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为基础提供排版样式丰富的彩色盒子的功能。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

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 模式;提供自定义浮动体结构的功能。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

geometry %修改页面尺寸、页边距、页眉页脚等参数。 fancyhdr %修改页眉页脚格式,令页眉页脚可以左对齐、居中、右对齐。 titlesec %修改章节标题 \chapter、\section 等的格式。 titletoc %修改目录中各条目的格式。 tocloft %类似 titletoc 的修改目录条目格式的宏包。 tocbibind %支持将目录、参考文献、索引本身写入目录项。 footmisc %修改脚注 \footnote 的格式。 indentfirst %令章节标题后的第一段首行缩进。 enumerate %提供简单的自定义标签格式的 enumerate 环境。 enumitem %修改列表环境 enumerate 和 itemize 等的格式。 lettrine %生成段落首字母大写的效果。

1

2

3

4

5

6

7

8

9

10

11

参考资料

Characters and Control Sequences (tcd.ie)

CTAN: Package lshort-zh-cn

尾言

以上是这一篇LaTex的主要内容。后期的更新,敬请期待!

Python

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用yapi工具编辑接口文档
下一篇:【Flutter 专题】46 图解新的状态管理 Provider (一)
相关文章