LaTex实战笔记 3-宏包与控制命令


1. LaTeX 命令的基本架构

LaTex 排版系统对于格式控制、公式编辑比 Word 更加灵活、准确。

Tex 环境中,字符、图片等各种文档内容都装在不同的盒子(box)容器内。这些盒子根据 Tex/Latex 的默认规则和控制命令组合为更大的盒子。字符组合为单词,单词组合为语句。语句在装载到页面盒子时,根据版面格式分解成行列。

LaTex 提供不同层次的命令设置文档版面,从最底层向上依次是:Tex 基础命令、LaTeX 宏命令、.cls 类文件和 .sty 扩展包。

  • TeX 有300多个基础命令(primitive),是最底层的控制命令。例如: \hbox。这些基础命令难记难懂,我们通常不直接使用。

  • LaTex 的核心是一组建立在 TeX 基础命令上的宏命令,是对 TeX 基础命令的封装。例如:\documentclass\usepackage\begin

  • 类文件以 .cls 为扩展名,使用\documentclass命令来加载类文件。例如:foo.cls

  • 扩展包以 .sty 为扩展名,使用\usepackage命令来加载扩展包。例如:pic.sty


2. LaTeX 控制命令

控制命令的形式

LaTeX 命令以反斜线 \ 开头,由反斜线与后面的命令字符组成:

\command {a}[b]

命令字符 command 是单个非字母符号(\$)或字符串(\LaTeX)。

命令字符对大小写敏感,\LaTeX\Latex\latex 都是不同的,错误的大小写可能会报错。

字母形式的 LaTeX 命令忽略其后的所有连续空格。如果必须引入空格,需要在命令后面加一对花括号,将空格放在花括号内。例如:\TeX{ }


控制命令的参数

控制命令可以带有参数,LATEX 的参数分为可选参数和必选参数。

  • 必选参数:以花括号 { } 包裹。例如:{a}
  • 可选参数:以方括号 [] 包裹。例如:[b]
  • 有的命令可以带一个星号 *,可以视为一种特殊的可选参数。例如:\section*{Notice}

当传入多个参数的时候,需要多个括号进行包裹,而不能将多个参数写在同一个括号内。例如:\command{para1}{para2}


控制命令的环境

环境就是我们为正文特定部分所设定的格式,方便编辑文档时使用。
我们用一些命令设置好预定空间/区域的格式,即编译好之后最终的展示格式。例如摘要格式、引文格式、公式格式。
环境设置使用一对命令\begin\end包裹。

\begin{<environment name>}[<optional arguments>]{<mandatory arguments>}
...
\end{<environment name>}

其中,⟨environment name⟩ 为环境名,\begin 和 \end 中的环境名应当相同。


控制命令的作用域

控制命令的作用域,是指该控制命令仅在指定的局部区域生效。

例如:命令\textsl使用不同的参数,可以表示设置不同的作用域,分别在全文或局部区域生效。

\textsl message  % 后续全部区域有效
\textsl{message} % 仅在括号内区域有效
{\textsl message} % 括号内命令后续区域有效

3. LaTeX 宏包

LaTex 的核心是一组建立在 TeX 基础命令上的宏命令,是对 TeX 基础命令的封装。例如:\documentclass\usepackage\begin

宏包就是 Latex 发行版(TexLive、MikTex等)的插件功能,通过安装不同的宏包可以实现一些复杂的排版功能,如复杂列表、插入公式、插入代码等。。

宏包往往包含一个或多个文件(.cls,.sty),利用 Tex 基础命令定义了新的命令,用来改变 Latex 默认的功能。


宏包的安装

编译文档时,如果引用了某个缺失的宏包,编译程序会报package missing的错误。

Latex 发行版经常自带一些常用的 CTAN 宏包,默认安装在路径 texmf/tex/latex/下,便用户快速编译 。

手动安装宏包,最好能直接下载 .sty 格式的文件, 可以直接复制到安装目录下的 \texmf-local\tex\latex\local 路径中,然后更新 Latex 索引文件即可完成。

具体操作在不同编辑器中略有不同。例如,在 Texlive 中的详细操作,参见本系列中的【LaTex实战笔记 4-插入 Python 程序代码块】:2.2 下载和安装 minted 宏包。


宏包的调用

使用 \usepackage 命令调用宏包:

\usepackage[options]{package-name}

使用 \usepackage 命令可以一次性调用多个宏包,在package-name中用逗号隔开。


常用宏包索引

胡伟《LaTeX2e完全学习手册(第二版)》 给出了常用宏包索引,列举如下。

宏包名 功能简介 胡伟《LaTeX》页码
accents 编排特殊的上变音符号 261
adjmulticol 调整多栏环境内外边空宽度 167
afterpage 控制浮动体 90
algorithm2e 编排算法 310
alltt 抄录环境 78
amsfonts AMS字体宏包 260
amsgen AMS其它宏包的内部命令 259
amsmath 多种公式环境和数学命令 27
amsopn 自定义新算符 259
amssymb 数学符号 27
amstext 在公式环境使用\text 259
amsthm 提供定理样式和证明环境 259
amsxtra 定义可排版超宽变音符号 259
animate 影像放映 340
anttor 数学字体宏包 291
apalike 文献格式 387
appendix 附录宏包 400
arabtex 阿拉伯文宏包 136
arev 数学字体宏包 291
array 数组和表格制作 27
arydshln 虚线表格宏包 234
attachfile2 添加附件 400
aurical 手写体宏包 113
avant 字体宏包 109
babel 多语言文字宏包 135
bbding 图形符号 33
bbm 数学字体宏包 291
biblatex 文献宏包 390
bibnat 文献格式宏包 387
bigstrut 控制单元格大小 216
blkarray 矩阵编排环境 285
bm 提供粗体命令 293
bookman 字体宏包 109
booktabs 绘制水平表格线 226
boxedminipage 边框环境 60
braket 可变尺寸的定界符号 264
breqn 长公式自动分段功能 272
calc 四则运算 27
calctab 表格环境和命令 237
calligra 手写体宏包 113
cancel 数学式中的消项操作 264
caption 插图和表格标题格式设置 27
caption2 旧版图表标题宏包 199
cases 特殊功能的公式环境 270
ccaption 标题格式的修改 203
cCT 中文处理方式 9
chancery 手写体宏包 113
changepage 局部版心宽度调整 145
chappg 带章序号的页码 171
chapterbib 章文献宏包 389
charter 字体宏包 109
chemfig 绘制化学分子式 37
chemstr 化学宏包 36
chemsym 化学元素定义 37
circ 电子元件宏包 38
cite 文献引用 378
cJK 中文处理支持 9
cJKfntef 下划线宏包 114
cJKnumb 中文数字宏包 135
cJKpunct 中文标点宏包 114
cJKulem 下划线宏包的扩展 160
cmbright 数学字体宏包 291
color 早期的颜色宏包 93
colortab 彩色表格宏包 233
colortbl 彩色表格宏包 94
comment 注释宏包 93
contour 轮廓线或阴影效果 162
cooltooltips 生成鼠标悬停注释窗 93
courier 字体宏包 109
coverPage 封面宏包 181
cprotect 使用抄录命令 75
ctable 表格宏包 357
ctex 中文字体 6
ctexcap 中文字体和标题 26
dashbox 虚线盒子宏包 56
datetime 日期格式宏包 179
dblfloatfix 跨栏浮动环境 197
dcolumn 小数点对齐宏包 229
delarray 处理array环境 305
diagbox 对角线宏包 230
dingbat 符号宏包 34
dotlessi 提供没有头的字母 i 和 j 263
dpfloat 控制双页的浮动内容排版 90
draftcopy 草稿水印宏包 329
dsfont 数学字体宏包 290
easy 控制矩阵块行高平衡的宏包 285
easybmat 分块矩阵宏包 284
eco 字体宏包 109
emerald 手写体宏包 113
endnotes 尾注宏包 359
enumerate 自定义列表环境 242
enumitem 列表环境的自定义设置 256
epic 化学宏包 36
epstopdf 将eps图形改为pdf格式 403
eqnarray 公式组环境 274
esint 符号宏包,提供可变尺寸的运算符号 261
esopic wallpaper的辅助宏包 327
esvect 箭头符号宏包 265
etex biblatex宏包自动加载 390
eucal 将数学式的字体改为欧拉书写体 260
eufrak 哥特字体 260
euler 数学字体宏包 291
eulervm 数学字体宏包 292
eurosym 欧元符号宏包 32
everb 抄录宏包 269
exscale 大型数学符号在标题环境中大小自适应 309
extarrows 箭头符号宏包 265
extpfeil 箭头符号宏包 265
faktor 斜分数宏包 303
fancybox 扩展功能的盒子宏包 55
fancyhdr 页眉页脚设置 27
fancyvrb 抄录格式设置 28
fge 箭头宏包 265
fixcm 字体尺寸宏包,ctex会自动调用 119
fixltx2e 提供下标命令 32
flafter 阻止浮动体被置于当前页顶部 434
float 浮动体宏包 333
floatflt 绕排宏包 326
floatrow 对float的扩展 204
fontenc 使用其他编码字符 43
fontsmpl 查看字体字样 108
fontspec 字体选择 28
footmisc 脚注宏包 184
footnpag 脚注序号宏包 353
fourier 数学字体宏包 292
fouriernc 数学字体宏包 292
framed 边框宏包 268
ftnright 双栏脚注 354
geometry 版面尺寸设置 28
glossaries 改进版术语表宏包 375
glossary 旧版术语表宏包 372
graphics 旧版的插图宏包 119
graphicx 插图处理 314
graphpap 坐标纸宏包 82
harpoon 箭头宏包 265
harvard 文献格式宏包 386
halvet 字体宏包 445
hhtensor 箭头宏包 265
hyperref 创建超文本链接和PDF书签 26
hyphenat 断词宏包 147
ifpdf 判断当前是否为pdflatex 88,437
ifsym 杂项符号命令 34
ifthen 条件判断 27
ifxetex 判断当前是否为xelatex 88
indentfirst 所有段落首行缩进宏包 157
inputenc 输入编码宏包 137
iwona 数学字体宏包 292
keycommand 定义带有多个可选子参数的命令 20
keyval graphicx的成员宏包 318
kmath 数学字体宏包 292
lastpage 页码格式宏包 175
layout 版面图示宏包( 141
layouts 双栏的版面图示宏包 141
lettrine 首字下沉与上浮 161
lineno 行号宏包 62
listings 代码抄录宏包 78
lmodern 一种编码字体 162
longtable 制作跨页表格 27
lpic 可在插图上添加任何LaTeX对象 332
ltablex 扩展tabularx环境功能实现跨页 226
makecell 旋转表格中的某一列标题 216
makeidx 索引宏包 362
makerobust 使脆弱命令转为坚强 424
marvosym 货币符号宏包 33
mathabx 符号宏包 35
mathbbol 空心字宏包 294
mathbbold 数学字体宏包 291
mathdesign 符号宏包 261
mathdots 数学省略号宏包 266
mathenv 特殊功能的公式环境 270
mathpazo 数学字体宏包 262
mathptm 数学字体宏包 292
mathptmx 使用TimesNewRoman字体 107
mathrsfs 数学字体宏包 291
mathspec 数学字体宏包 295
mathtools 数学工具宏包 260
mattens 符号宏包,用于编排张量或向量式 261
mcaption 将插图或表格的标题置于边空中 436
mdwlist 列表排版样式环境 238
media9 影像放映命令 340
metalogo \XeTex、\LuaTeX等命令所需要的宏包 44
metre 符号宏包 264
mflogo 生成METAFONT的logo 20
mhchem 化学分子式方程式
microtype 在pdflatex下自动调整字词间距 81
minitoc 小型目录宏包 349
mnSymbol 符号宏包 35
morefloats 修改搁置浮动体的上限 436
multicap 多栏标题宏包 168
multicol 多栏排版 27
multido 条件循环宏包 87
multimedia 多媒体文件播放宏包 340
multind 分类索引宏包 370
multirow 跨行表格宏包 216
multitoc 多栏目录宏包 348
musixdoc 乐谱宏包 263
nameref 标题引用宏包 186
natbib 文献格式宏包 388
nath 提供多种可变尺寸的定界符 264
nccmath 调节文本与公式的间距 278
newcent 一种字体宏包 109
newlfont 简化字体命令 101
nicefrac 斜分数宏包 303
ntheorem 定理设置 27
oesch 一种手写体宏包 113
overpic 图形处理宏包 330
palatino 字体宏包 109
paraliet 列表宏包 248
paralist 多种列表环境 27
parallel 两列文本并列 162
parcolumns 多列文本并列 163
parskip 无缩进宏包 158
pbdiagram 绘制交换图 290
pbsi 一种手写体的依赖宏包 113
pdflscape 横向版面宏包 145
pdfpages 插入整页的pdf图片文件 318
pdfscreen 一种制作幻灯片的宏包 437
pdfslide 一种制作幻灯片的宏包 437
pgf 绘图宏包 312
pgfplots 绘图宏包 332
phonetic 音标和变音符号 35
picinpar 绕排宏包 326
pifont 图形符号宏包 33
pinlabel 可在PDF或EPS格式插图上添加文本或数学式 332
placeins 处理浮动体的宏包 436
pmat 排版分块矩阵 285
polyglossia xelatex下的多语言宏包 136
prettyref 修改引用格式 68
psfrag 在EPS格式插图上添加文本、公式或图形等 332
pslatex 一种字体宏包 109
pstcirc 元件宏包 39
pstnode 元件宏包 40
pstoptic 光学符号 37
pstricks 绘图宏包 40
pxfonts 符号宏包 261
ragged2e 对齐宏包 72
rccol 数字对齐宏包 230
refcheck 显示书签 429
relsize 缩放宏包 308
remreset 修改章节脚注序号 353
rotating 只旋转表格中某个单元格的标题 216
rotfloat floatrow扩展 333
setspace 行距宏包 155
shadow 阴影盒子宏包 56
shapepar 调整异形段落尺寸 157
shorttoc 简明目录宏包 349
shortvrb 创建简短的抄录环境符号 文本
showidx 显示索引宏包 430
showkeys 书签名显示宏包 429
showlabels 书签名显示宏包 429
sIunits 解决\square名称冲突 33
siunitx 单位符号宏包 34
slashbox 对角线宏包 230
soul 加宽文本字母间距 148
spreadtab 制作电子表格 237
stmaryrd 符号宏包 261
subdepth 下标深度宏包 308
subeqnarray 公式子序号宏包 274
subfig 子浮动体 203
suetterl 一种手写体宏包 113
supertabular 多页表格宏包 222
syntonly 取消编译过程,只对全文进行语法检查 426
t4phonet 音标和变音符号 35
tabularx 自动设置表格的列宽 27
tabulary 总宽可设,列宽自动的表格环境 226
tdclock 数字时钟宏包 469
tensor 张量符号宏包 309
texnames 提供标签命令 44
textcase 取消章节标题转页眉时字母变大写 170
textcomp 符号宏包 33
textpos 提供文本块环境 330
tgchorus 手写体宏包 113
theorem 定理宏包 287
threeparttable 设置表格脚注环境 357
tikz 绘图宏包 312
times 字体宏包 109
tipa 音标符号宏包 35
tipx 音标符号宏包 35
titleref 标题引用宏包 186
titlesec 章节标题格式设置 27
titletoc 目录格式设置 28
tocbibind 添加文献、索引、插图及其页码到目录 347
tocloft 自定义构造目录 344
tracefnt 字体追踪宏包 426
trfsigns 符号宏包 264
turnstile 符号宏包 264
txfonts 字体宏包 109
typelcm 字体尺寸宏包 119
typearea 一些版面设置功能 144
ulem 下划线宏包 159
undertilde 编排特殊的下变音符号 261
unicodemath 数学字体符号宏包 270
upgreek 希腊字母宏包 262
upref 控制引用命令的字体 259
url beamer宏包会自动加载 437
utopia 字体宏包 109
varioref 引用宏包 243
vector 编排向量式 261
verbatim 抄录宏包 75
vmargin 版面设置功能 144
wallpaper 墙纸宏包 326
wasysym 符号宏包 34
wrapfig 可在小页中对图标绕排 326
xcolor 颜色处理 28
xeCJK 中日朝文字处理和字体选择 4
xfrac 斜分数宏包 303
xkeyval keycommand依赖宏包 84
xspace 智能控制空格 19
xunicode fontspec自动加载的相关宏包 122
xcolor 颜色处理 437
xy 绘制交换图 290
xymtex 化学宏包,会自动加载epic、chemstr 36
yfonts 哥特字体依赖宏包 293
yhmath 提供多种可变尺寸的定界符 264

在这里插入图片描述

(本文完)



版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/125232875)
Copyright 2022 youcans, XUPT
Crated:2022-6-11

猜你喜欢

转载自blog.csdn.net/youcans/article/details/125232875