不知道小伙伴们在学习LaTeX的过程中也没有疑问🤷♂️,为什么设置1.5倍行距是\linespread{1.3}
,设置双倍行距是\linespread{1.6}
,这之间有什么必然的联系吗🤔️?
LaTeX的长度单位换算
常常在调整页边距以及表格参数的时候会用到LaTeX中的长度单位,如何合理地选择这些单位呢?下面来介绍一下常用的长度单位,其中em, ex, mu均相对单位。
单位 | 含义 |
---|---|
pt | point,磅,1pt=0.353mm |
pc | pica,1pc=12pt,四号字体大小 |
in | inch,英尺,1in=72.27pt=25.4mm |
bp | bigpoint, 大点,1bp=1/72 in |
cm | 厘米,1cm=1/2.54 in |
mm | 毫米,1mm=1/10 cm |
sp | TEX的基本长度单位,1sp=1/65536 pt |
em | 当前字号下,大写字母M的宽度 |
ex | 当前字号下,小写字母x的宽度 |
mu | math unit,数学单位长度 1/18em |
宏变量设置
LaTeX为排版对象的尺寸和位置定义来一系列宏变量,以便在排版时重用。我们用以下方法改变宏变量的值。
\setlength{变量名} %设置变量的值
\addtolength{变量名} %增加变量的值
\newlength{变量名} % 定义新变量
缩进和段间距
对于article文本类的文章,是可以实现首行缩进的。
但在有些情况下,正文中的第一个段落缺省不缩进的,我们需要用identfirst
宏包使得第一段也缩进。在导言区添加:
\usepackage{identfirst}
段落首行缩进的距离可以用\parindent
变量来控制,段落之间的距离可以用\parskip
变量来控制。
通过代码:
\setlength{\parindent}{4em}
\addtolength{\parskip}{5pt}
将示例中的第三段和第四段都调整为我想要的段间距和缩进距离,如果想进行全局设置可以在导言区添加。
相反,句首取消缩进可以使用\noindent
命令.
行间距
每一行都有一条baseline,同一段落中相邻两行之间的baseline的间距称为行距(linespace)。
设置固定距离为20磅,可以通过设置行间距变量\baselineskip
的值来实现:
\setlength{\baselineskip}{20pt}
在LaTeX中行距\f@baselineskip
随着字号\f@size
大小变化(单位为pt),LaTeX默认情况下\f@baselineskip
是\f@size
的1.2倍。
现在我们引入因子\baselinestrech
,修改行距就是修改因子\baselineskip
=\f@baselineskip
*\baselinestrech
,很多命令改变的都是因子的值,如
\linespread{因子}
\linespread
命令不仅可以改变正文行距,同时也把目录、脚注、图表标题的行距也改了。
\linespread{1.3} %一倍半行距
\linespread{1.5} %双倍行距
setspace
宏包中不仅有命令还有环境,但仅改变正文的行距,包括调整数学公式、浮动体的行距。
\usepackage{setspace}
\singlespacing %单倍行距
\onehalfspacing %1.5倍行距
\doublespacing %双倍行距
\setstretch{1.25} %任意行距
同时也可以在正文中进行局部设置
\begin{doublespacing}
doublespacing
\end{doublespacing}
\begin{spacing}{1.25}
anyspacing
\end{spacing}