我想按照 Word 的要求将整个行距设置为 22bp。如何在文件中自定义它.cls
?
这是我想要更改的mwe文件cls
,ctexbook
是一个中文类,主字体大小是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}