继前两篇入门篇文章LaTeX专栏001|入门篇-谈安装与排版心得和LaTeX 专栏002|入门篇-两种编辑器的配置的推送之后,有大多数同学都开始用上了这款排版软件,这里我不说假话,通过我从2017年开始用起它来排版数学笔记之后,让同学接触与认识到LaTeX
的同学有近四五位数,从中我也帮助过无数的同学正确安装并使用它,我很高兴你们能通过它来排版一篇属于自己的数学notes,或是投稿论文等,当然八一希望有更多的同学们都可以用上它挥洒自如!
今天的内容可能有点多,重点讲解LaTeX
排版入门的基础知识,主要包括行间距与段间距、数学公式、表格、插图、参考文献、页眉页脚、列表、代码块
等,这里分两期讲解,接下来开始我们今天的正文:
行间距与段间距
LaTeX
默认行间距为行高的20%,你要调整行间距是可使用setspace
宏包,它具有的选项onehalfspacing
可将行间距调整为1.5倍行高。宏包parskip
可用于取消段落
的缩进,此宏包中还包括段落间的距离调整功能,这里LaTeX
支持的长度单位有:
in - 英寸(inch)
mm - 毫米(millimeters)
cm - 厘米(centimeters)
pt - points (大约 $1/72$ inch)
em - 接近当前字体的字符 'M'的宽度
ex - 大约为小写字母'x' 的高度
长度是由十进制数和长度单位
表示,并注意到长度是可以为负值,比如 -1.1em
. 注意到数字 0
它本身不是一个长度,你必须表明是0in
或 0pt
等,另外我这里告诉你大概数据,1 in = 2.54cm = 72pt
, em 和 ex
与当前字体尺寸有关
常用长度数据命令 :
extwidth, extheight
parindent, parskip
hoffset, voffset
aselineskip
长度有时也可以是负值如setlength{hoffset}{-1mm}
关于段落间距有关变量:
aselineskip
:行基线间距lineskip
:行间距aselinestretch
:伸展因子parskip
:部分段间距
renewcommand{aselinestretch}{1.2}
linespread{1.2}
linespread
:行间距伸展命令lineskiplimit
:当两行字之间的距离小于lineskiplimit
时,行距自动设为lineskip
这里一般我推荐的搜索引擎为 Google,是其中段间距等于lineskip + parskip
,而LaTeX
中真正的间距,其实也就是两个基线之间的距离等于lineskip = aselineskip 乘 aselinestretch
,假设我们什么都不管,对于不同的文档类,默认字体大小不同,但默认的aselineskip
的值为默认字号的1.2倍,aselinestretch
在不同的文档类中也不同,article
文档类中为1,ctexart
文档类为1.3倍
我再具体解释下,意思就是你在
article
文档类中如果不指定伸展因子aselinestretch
,则行距就是每种字号对应的基本距离;而在ctexart
中,由于是中文文档类,伸展因子aselinestretch
默认为1.3倍 ,行距为文中字号对应基本距离的1.3倍。
% 改变方式
fontsize{字号}{基本距离}selectfont
在不同的段之间,也可以设置段间距(默认为0)。通过setlength{parskip}{parSkip}
来实现。比如说,你想设置段间距为2em,
setlength{parskip}{2em}
在不同两段之间的距离,为parskip+aselineskip
的距离。
这里值得注意的是,由于
\
是断行不是分段,所以由\
引起的下一行与本行之间的距离,只有aselineskip, 而不加上parskip
一般在中文文章中,将parskip
设置为 0pt
,即行间距和段间距相等。设置伸展因子调整行距比较不靠谱,经常调不对,可直接通过fontsize
直接调aselineskip
,使得 aselinestretch
一直是1.
通过设置伸展因子调整行距不靠谱的原因是默认的
aselineskip
大于fontsize
大小
因此如果你伸展因子设置为 1.5,则实际得出的行距要大于 1.5 倍行距,示例如下:
renewcommand{aselinestretch}{xx}:设置伸展因子。
renewcommand{aselinestretch}{1.5} normalsize:不改变字体大小,只改变行距。
通过在源文件中输入showtheaselineskip
,可以在编译时得到当前的aselineskip
的值,并显示aselineskip
的值。
另外我再补充几种分隔方式:
\offset: 换行,并且与下一行的行间距为原来行间距+offset, LaTeX 会自动换行,若需强制换行,可使用 \或 newline
newline:与\相同。
linebreak: 强制换行,与newline的区别为linebreak的当前行分散对齐。
par: 分段,两个连续回车 (即一个空行) 或`par
ewpage
分页命令,clearpage
和ewpage
类似,均为强制分页,
如果想要首行缩进两个汉字距离,则setlength{parindent}{2em}
.
数学公式
LaTeX
境下,最重要的数学宏包是AMS系列的:
提供环境的包
amsmath
:最基本的数学公式包amscd
:绘制交换图amsthm
:制作引理提供字体的包:
amsfont
:定义了mathfrak和mathbb
等数学字体amssymb
:数学符号的包
需要掌握下面最基本的几个环境
equation,equation*
单行单公式multline multline*
多行公式,没有对齐操作,只给一个公式编号gather gather*
多个公式,可添加多个公式编号align align*
多个公式对齐,但只能对齐公式内部的一个部分flalign flalign*
多个公式对齐,可对公式内的多个部分split
分割公式
gathered 和gather
的区别是放在了一个minipage
里,aligned
也是minipage
的问题
行内间、数学字体、符号与函数
常用数学宏包: usepackage{amsmath,amssymb,amsfonts}
在数学模式中输入普通文本: mbox{文本} 或 ext{文本}
(用来加载amsmath
宏包)在数学模式中插入 空格: quad, qquad, hspace
,使用,
等价3/18 quad
数学公式书写:行内 $ ··· $
,行间:[ ··· ]
,这里需要说明行间分单行与多行之分,一般美赛论文中是需要带编号,LaTeX
可实现自动编号,单行可利用egin{equation} ··· end{equation}
环境,多行编号可egin{align} ··· end{align}
实现,如果不要编号,在环境名加*
即可实现,若其中某行公式无需编号, 在后面加otag 或 onumber
常用数学字体命令: mathrm, mathit, mathtt, mathsf, mathbf, mathcal,mathbb
数学公式中的函数名最好用正体, 一般通过函数名命令输入, LaTeX
中的函数命令都是斜杆开始自定义新的函数名 (需
amsmath
宏包),DeclareMathOperator{函数名命令}{函数名}
:注意像这样的命令只能放置在导言区。如果是临时使用未定义的函数名, 也可以直接在公式中使用命令:可利用这样的命令 operatorname{函数名}
角标、分式、求和、积分、定界符与矩阵
角标:上标 ˆ{···}
, 下标_{···}
,若实现导数 → 可以直接使用右单引号'
或prime
分式: frac → 普通分式, frac → extstyle, dfrac → displaystyle
。注意到frac
在行内公式中等价于frac
, 在行间公式中等价于dfrac
;二项式系数:inom, binom, dbinom
;根式:sqrt{···}或sqrt[n]{···}
求和与积分:求和 sum
,积分int
,针对于行内行间公式取不同的尺寸, 上下限位置也可能不同,这里举个例子,行间公式$$ sum_{i=1}^{n} xˆi $$或[]
可以等价于行内公式的$ displaystylesum_{i=1}^{n} xˆi $或()
上、下划线: overline{...},underline{...}
;上、下大括号: overbrace{...},underbrace{...}
堆积: stackrel{上位符号}{基位符号}
,大家可能不懂,例下这样等号上有条件def
这里可以考虑使用
extarrows
宏包,使用xlongequal{条件}
来上下添加文字的长等号定界符: LaTeX
中常用的定界符( ) [ ] | / { } ∥ ⌊ ⌋ ⌈ ⌉ ⟨ ⟩ ↑ ↓ ↕ ⇑ ⇓ ⇕
;定界符可以放大:ig (1.5 倍), Big (2 倍), igg (2.5 倍), Bigg (3 倍)
定界符的自适应放大: left, ight
,比如left(, ight)
产生小括号,中括号为left[... ight]
,大括号为left{... ight}
,尖括号为left<... ight>
, 绝对值为left|... ight|
, 范数为left|... ight|
此外当我们需要出现单边括号时如
,源码为left.frac{x^5}{e^x} ight|_{x=1}
,我们只将不需要的那半边括号用left.
代替好了.矩阵:通用的写法是 egin{matrix}a & b & c\d & e & fend{matrix}
注意这里的
matrix
环境要放在一个行间环境中。以上命令将生成通常当我们使用矩阵时,都需要指定一个定界符。固然,我们可以用matrix
环境外加两侧的自动定界符left, ight
等实现,但这过于繁琐。
简要的方法是使用一些预定义、自带定界符的环境,包括:
带圆括号 的 pmatrix
环境;带方括号 的 bmatrix
环境;带花括号 的 Bmatrix
环境;带绝对值界的 vmatrix
环境与带范数界的Vmatrix
.
只需要将上面的
matrix
替换即可,此外若要在行间改为小矩阵,可使用smallmatrix
环境.
关于数学公式更多详情可查看由去年我翻译的一份简短的 LaTeX 数学指南[1],以及源码可见Short Math Guide for LaTeX 中译本[2]
好了,就介绍到这里,我们下期见,主要把入门篇剩余表格、插图、参考文献、页眉页脚、列表、代码块
讲解下.有关具体的详细内容你可以看看lshort-zh-cn v6.01[3]
参考资料
一份简短的 LaTeX 数学指南: https://www.latexstudio.net/archives/51735.html
[2]Short Math Guide for LaTeX 中译本: https://github.com/hoganbin/short-math-guide
[3]lshort-zh-cn v6.01: https://github.com/CTeX-org/lshort-zh-cn/releases
文章为用户上传,仅供非商业浏览。发布者:Lomu,转转请注明出处: https://www.daogebangong.com/articles/detail/LaTeX%20Column%20003Getting%20Started%20%20Basics%20of%20Typesetting.html
评论列表(196条)
测试