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


在`\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)](https://bbs.csdn.net/topics/618317507)


[CTAN: Package lshort-zh-cn](https://bbs.csdn.net/topics/618317507)


### 尾言


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







![在这里插入图片描述](https://img-blog.csdnimg.cn/20210511152217670.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaWd1aWd1,size_16,color_FFFFFF,t_70)

**感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:**



① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值