如何将行距设置为22bp?

如何将行距设置为22bp?

我想按照 Word 的要求将整个行距设置为 22bp。如何在文件中自定义它.cls

这是我想要更改的mwe文件clsctexbook是一个中文类,主字体大小是12pt。

\setlengh{\baselineskip}{22bp}

我将其写入我的.cls文件中,发现 outpdf 的行距与 Word 有很大不同。

ps. 我确实想在.cls模板文件中设置,而不是在普通文档文件中设置。

答案1

这取决于要点大小:

  • 10分:\linespread{1.8402}
  • 11分:\linespread{1.624}
  • 12分:\linespread{1.523}

该命令应在序言中发出。

如果你使用该setspace包,则发出

\setstretch{<value>}

其中<value>是上述之一。

我的实验表明,10pt 大小时基线跳过 22.08234pt;11pt 大小时基线跳过 22.0863pt;12pt 大小时基线跳过 22.08342pt。

22bp 的实际值是 22.0825pt,因此这些值非常准确:差异无法用尺子测量。

计算很简单。默认的baselineskip是

  • 10pt:12pt
  • 11分:13.6分
  • 12pt:14.5pt

所以这只是一个计算的问题

(22 * 72.27)/(72 * <baseline skip>)

为了获得所需的\baselinestretch因子,要么喂给\linespread,要么喂给\setstretch,因为

(22 * 72.27)/72

我们得到的点值为 22bp。


如何找出应用上述计算的正常基线跳跃?不对行距做任何特殊处理,在行后\begin{document}添加

\the\baselineskip

并查看打印输出。文档开头将显示<baseline skip>上述公式中要使用的。

答案2

(更新了答案以包含两条额外信息:文档类别是ctexbook并且主文档字体大小是12pt

无需修改文档类文件。只需提供说明即可

\fontsize{12pt}{22bp}\selectfont

之后立马\begin{document}

请注意,如果您的代码(或在前言中加载的包)具有以非本地方式更改字体大小或基线跳过的命令,则这些命令将覆盖该\fontsize{12pt}{22bp}\selectfont指令。本地范围字体大小更改命令的一个示例是{\Large ...}没有花括号内,“\Large”的范围将不会被限定。

完整的 MWE(通过 XeLaTeX 或 LuaLaTeX 进行编译):

\documentclass[12pt]{ctexbook}
\usepackage{fontspec}
\begin{document}
\fontsize{12pt}{22bp}\selectfont
Hello World.
\end{document}

相关内容