![为何线扩展因子如此呢?](https://linux22.com/image/241018/%E4%B8%BA%E4%BD%95%E7%BA%BF%E6%89%A9%E5%B1%95%E5%9B%A0%E5%AD%90%E5%A6%82%E6%AD%A4%E5%91%A2%EF%BC%9F.png)
博客文章关于行距的快速说明讨论了行距,并说
要更改整个文档的行距,您可以
linespread
在序言中使用以下命令:\linespread{<factor>}
这个系数有点令人困惑。对于双倍行距,你必须使用 1.6;对于一倍半行距,你必须使用 1.3。不是很直观,但我确信这是有原因的。
这个违反直觉的因素引发了我的好奇心。到底是什么原因导致它变成这样?
这个问题只是出于好奇,我问这个问题没有什么实际理由。如果觉得不合适,可以关闭它,或者查看与此类似的帖子\nothing、\varnothing 和 \emptyset它询问历史或一些设计决策。
答案1
使用 LaTeX 标准类(article
、book
和report
)且不添加类选项时,\normalsize
字体大小(字体中最大字形的大小——通常是括号)为 ,字体间距10pt
(\baselineskip
两个连续行的基线之间的垂直跳跃)为12pt
。字体大小和 之间的比率\baselineskip
为 1.2。
该linespread
命令(必须在文档前言中发出)可用于在\baselineskip
不改变字体大小的情况下进行更改。
\onehalfspacing
和的一个可能定义\doublespacing
是字体大小和 之间的比率\baselineskip
应分别为 1.5 和 2。因为 的“基本”比率10pt
是 1.2,所以必须应用乘数 1.25 和(大约)1.667——这基本上就是该setspace
包所做的。(“基本上”是因为它保留了脚注等的 1.2 比率。)
该声明“双倍行距必须使用 1.6,一倍半行距必须使用 1.3”相当于舍入错误,或混淆,或两者兼而有之。
答案2
扩展lockstep 的回答对于其他文档类选项(如11pt
和12pt
),会导致setspace
包裹:
10pt
(已讨论过)setspace
定义缩放因子为1.25
,并且\onehalfspacing
,因为“基本”比率为(具有;参见1.667
\doublespacing
1.2
\normalfont
\baselineskip
12pt
size10.clo
)11pt
setspace
定义缩放因子为1.213
,并且\onehalfspacing
,因为“基本”比率为(具有;参见1.618
\doublespacing
1.236
\normalfont
\baselineskip
13.6pt
size11.clo
)12pt
setspace
定义缩放因子为1.241
,并且\onehalfspacing
,因为“基本”比率为(具有;参见1.655
\doublespacing
1.208
\normalfont
\baselineskip
14.5pt
size12.clo
)
因此,在以下假设情况下,缩放因子2.4
(即)将在具有和的\setstretch{2.4}
正常字体大小的文档中提供“三倍间距” 。16pt
\baselineskip
20pt
所有缩放因子均四舍五入到小数点后 3 位。
答案3
我最近尝试自定义行距ctex
这篇帖子是我参考的文档之一。然而,在研究过程中,我发现了一个错误,setspace
包裹。
进一步延伸沃纳的回答我想指出的是setspace
11pt
已为文章设置了两个因素错误的, 很遗憾。
我们发现size11.clo
定义\normalsize
为
\@setfontsize\normalsize\@xipt{13.6}%
问题在于11pt
文章中的“基本”比例是不是 13.6/11
而是13.6/10.95
为了历史原因。这意味着\onehalfspacing
,因子应该在 左右1.2077205882
,不是 1.213
;而对于\doublespacing
,因子应该在左右1.6102941176
,不是 1.618
。
我不知道为什么article
不一致地将正文行距/字体大小的基本比率设置为1.2
,1.242
(不是 1.236
) 和分别1.208
为和。10pt
11pt
12pt