为何线扩展因子如此呢?

为何线扩展因子如此呢?

博客文章关于行距的快速说明讨论了行距,并说

要更改整个文档的行距,您可以 linespread在序言中使用以下命令:

\linespread{<factor>}

这个系数有点令人困惑。对于双倍行距,你必须使用 1.6;对于一倍半行距,你必须使用 1.3。不是很直观,但我确信这是有原因的。

这个违反直觉的因素引发了我的好奇心。到底是什么原因导致它变成这样?

这个问题只是出于好奇,我问这个问题没有什么实际理由。如果觉得不合适,可以关闭它,或者查看与此类似的帖子\nothing、\varnothing 和 \emptyset它询问历史或一些设计决策。

答案1

使用 LaTeX 标准类(articlebookreport)且不添加类选项时,\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 的回答对于其他文档类选项(如11pt12pt),会导致setspace包裹

  • 10pt(已讨论过)

    setspace定义缩放因子为1.25,并且\onehalfspacing,因为“基本”比率为(具有;参见1.667\doublespacing1.2\normalfont\baselineskip12ptsize10.clo

  • 11pt

    setspace定义缩放因子为1.213,并且\onehalfspacing,因为“基本”比率为(具有;参见1.618\doublespacing1.236\normalfont\baselineskip13.6ptsize11.clo

  • 12pt

    setspace定义缩放因子为1.241,并且\onehalfspacing,因为“基本”比率为(具有;参见1.655\doublespacing1.208\normalfont\baselineskip14.5ptsize12.clo

因此,在以下假设情况下,缩放因子2.4(即)将在具有和的\setstretch{2.4}正常字体大小的文档中提供“三倍间距” 。16pt\baselineskip20pt

所有缩放因子均四舍五入到小数点后 3 位。

答案3

我最近尝试自定义行距ctex这篇帖子是我参考的文档之一。然而,在研究过程中,我发现了一个错误,setspace包裹。

进一步延伸沃纳的回答我想指出的是setspace11pt已为文章设置了两个因素错误的, 很遗憾。

我们发现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.21.242不是 1.236) 和分别1.208为和。10pt11pt12pt

相关内容