不知道小伙伴们在学习LaTeX的过程中也没有疑问🤷♂️,为什么设置1.5倍行距是\linespread{1.3}
,设置双倍行距是\linespread{1.6}
,这之间有什么必然的联系吗🤔️?
LaTeX的长度单位换算
常常在调整页边距以及表格参数的时候会用到LaTeX中的长度单位,如何合理地选择这些单位呢?下面来介绍一下常用的长度单位,其中em, ex, mu均相对单位。
宏变量设置
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}
double
spacing
\end{doublespacing}
\begin{spacing}{1.25}
any
spacing
\end{spacing}