2.6 长度设置
在排版论文的过程中, 文本行的高度, 插图的位置都可以通过相关命令中的长度参数来调整, 而LaTeX中提供的长度单位不只有pt(磅)一种, 下面来简单介绍LaTeX中的长度单位
2.6.1 长度单位
要精确的调整和描述各种LaTeX对象在版面中的位置, 就必须要标准的长度单位来度量, 在源文件中可以描述长度的单位有两种, 通用长度单位和专用长度单位.
通用长度单位
通用长度单位指的是国际标准长度和在社会和出版界通行的长度单位, 源文件中可以使用的长度单位如下表所示:
单位 | 名称 | 说明 | 单位 | 名称 | 说明 |
---|---|---|---|---|---|
mm | 毫米 | 1mm=2.845pt | cm | 厘米 | 1cm=28.453pt |
pt | 点 | 1pt=0.351mm | cc | 西塞罗(cicero) | 1cc=4.513mm=12dd=12.84pt |
bp | 大点 | 1bp=0.353mm≈1pt | in | 英寸(inch) | 1in=25.4mm=72.27pt |
dd | 迪多(didot) | 1dd=0.376mm=1.07pt | ex | ex | 1ex=当前字体中x的高度 |
pc | 派卡(pica) | 1pc=12pt | em | em | 1em=当前字体尺寸≈当前字体中M宽度 |
sp | 定标点 | 65536sp=1pt |
在上表中所列出的通用长度单位可分为以下两种类型:
- 绝对长度单位, 它有固定不变的数值, 例如mm, cm, pt等;
- 相对长度单位, 例如ex和em, 其数值大小正比与字体尺寸, 当字体尺寸确定后, 相对长度单位也是定值, 例如中文五号字的大小为10.5pt, 那么1em就是10.5pt.
下面对上述的长度单位进行一下说明:pt是point的缩写, 很细小, 多用于字体尺寸的设定; 1pc相当于常规文本中的行距; LaTeX系统内部使用的长度单位主要是pt, em, ex; EPS图形的坐标单位采用的是bp; 在英语国家, pt, pc和em是印刷出版界的传统度量单位; cc和dd这两个长度单位起源于18世纪法国的铅字度量标准, 欧洲很多国家仍在使用; 工程人员常用mm和cm.
下面对em和ex长度补充说明, 因为在很多排版的时候都需要用到这两种长度单位. 每种字体都有其对应的em和ex值, 他们都直接来源于当前字体, 例如当前字体大小是10pt的时候
字体 | em长度 | ex长度 |
---|---|---|
罗马体 | 10pt | 4.3pt |
粗罗马体 | 11.5pt | 4.4pt |
等宽体 | 10.5pt | 4.3pt |
从上表会发现, 在同一字号下, em的变化较大, 而ex变化不明显, 所以对水平距离设置常用em, 而对垂直距离设置, 如行距常用ex.
定标点sp是系统中最小的长度单位, 1sp约为二十万分之一毫米; 在源文件中任何长度单位设定的长度都将被转化为sp的整数倍, 在源文件里做设置的各种长度不得超过230sp, 否则系统将提示出错.
专用长度单位
除了上表中的通用长度单位意外, 系统自行定义了以下两个专用的长度单位:
- mu, 数学长度单位, 专用于数学模式, 18mu=1em.
- fil, fill, filll, 它们三个都表示任意长, 这种长度主要用在无法预知长度的位置, 例如将剩余版面填满时.
这两个专用长度单位一般不会用到, 这里只是提及一下, 在后续有需要的时候会拿出来用.
2.6.2 刚性与弹性长度
- 刚性长度, 不会随排版情况变化而变化的长度, 例如15pt, 3em等都是刚性长度;
- 弹性长度, 可根据排版情况有一定程度伸缩的长度, 它由设定长度, 伸长范围和缩短范围三个部分构成:设定长度, 伸长范围和缩短范围3个部分构成. 例如:
2mm plus 0.2mm minus 0.3mm
, 它表示这个长度的设定是2mm, 系统可根据实际排版的情况将它伸长最多0.2mm, 或者缩短最多0.3mm.
而什么时候需要用到弹性长度呢, 比如文本中要插入图片时, 有时候差一点就放不进去, 如果这时候段落行距用的是刚性长度, 那么就硬碰硬, 只能把图片挤到下一页上, 而这一页就留出了巨大的空白, 这显然不是我们希望看到的, 这时候如果段落内的行距使用的是弹性长度, 那么可以根据图片的尺寸缩小或放大间距来使文档看起来更美观, 实际上LaTeX中的行间距使用的就是弹性长度, 会自动调整行间距离.
2.6.3 长度命令
LaTeX中提供了很多与长度相关的命令, 他们基本可以分为以下三类
- 长度数据命令, 它们仅代表一个长度值, 不能单独使用, 只能作为其他命令中的长度参数数据, 例如代表段落首行缩进的长度数据命令是
\parindent
, 其默认值是17pt. - 长度赋值命令, 用于为长度数据命令赋值, 例如
\setlength{\parindent}{9mm}
, 将首行缩进的长度设置为9mm. - 长度设置命令, 用于生成某一高度或宽度的空白, 例如生成一段首行缩进宽度两倍的水平空白:
\hspace{2\parindent}
, 生成一段高度是6mm的垂直空白:\vspace{6mm}
.2\parindent
表示两倍于\parindent
的长度.
关于更多的长度命令, 不在此占用过多的篇幅, 将在后面用到的时候再做介绍.