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

Posted 小白YouCans

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

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


控制命令的环境

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

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

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


控制命令的作用域

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

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

\\textsl message  % 后续全部区域有效
\\textslmessage % 仅在括号内区域有效
\\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
amsfontsAMS字体宏包260
amsgenAMS其它宏包的内部命令259
amsmath多种公式环境和数学命令27
amsopn自定义新算符259
amssymb数学符号27
amstext在公式环境使用\\text259
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 和 j263
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
esopicwallpaper的辅助宏包327
esvect箭头符号宏包265
etexbiblatex宏包自动加载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判断当前是否为pdflatex88,437
ifsym杂项符号命令34
ifthen条件判断27
ifxetex判断当前是否为xelatex88
indentfirst所有段落首行缩进宏包157
inputenc输入编码宏包137
iwona数学字体宏包292
keycommand定义带有多个可选子参数的命令20
keyvalgraphicx的成员宏包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的logo20
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
polyglossiaxelatex下的多语言宏包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
rotfloatfloatrow扩展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
urlbeamer宏包会自动加载437
utopia字体宏包109
varioref引用宏包243
vector编排向量式261
verbatim抄录宏包75
vmargin版面设置功能144
wallpaper墙纸宏包326
wasysym符号宏包34
wrapfig可在小页中对图标绕排326
xcolor颜色处理28
xeCJK中日朝文字处理和字体选择4
xfrac斜分数宏包303
xkeyvalkeycommand依赖宏包84
xspace智能控制空格19
xunicodefontspec自动加载的相关宏包122
xcolor颜色处理437
xy绘制交换图290
xymtex化学宏包,会自动加载epic、chemstr36
yfonts哥特字体依赖宏包293
yhmath提供多种可变尺寸的定界符264

(本文完)



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

以上是关于LaTex实战笔记 3-宏包与控制命令的主要内容,如果未能解决你的问题,请参考以下文章

LaTex实战笔记 2-插入 Python 程序代码块

LaTeX自定义宏包类文件的默认搜索路径设置方法

在winEdt有一下语句:“宏包与tex文件在同一文件夹”指的是哪个文件夹?

latex中脚注第一行为啥会向右缩进两个字

[原创][LaTex]LaTex学习笔记之框架及宏包

LaTeX技巧 twocolumn 双栏