我们的设计师建议使用 10.5 号字体。我们将其作为选项传递给类srcbook
,除了主文本和浮动之间的空间外,一切似乎都运行良好。fontsize=10.5
插入的空间比平常多得多。有办法解决这个问题吗?
\documentclass[fontsize=10.5pt]{scrbook}
%\documentclass[fontsize=10pt]{scrbook}
%\documentclass[fontsize=11pt]{scrbook}
\usepackage{lipsum}
\usepackage{float}
\begin{document}
\lipsum
\lipsum[3-8]
\begin{table}[H]
\centerline{%
\begin{tabular}{|c|c|c|c|c|c|}\hline
& Prefield & T/C & \multicolumn{3}{c|}{Sentence Field}\\ \hline
& & & & Verbal Field & \\ \hline\hline
(han siger) & & & han ikke & har & lyst \\
(`he says') & & & (`he not') & (`has') & (`desire') \\ \hline
\end{tabular}
}
\end{table}
\lipsum[3-10]
\end{document}
答案1
如果您添加,\showoutput
您会发现将原始文档与相同的选项进行比较,第一种情况下11pt
后面的空格是H
...\glue 31.3488 plus 4.1697 minus 4.1697
...\glue(\parskip) 0.0 plus 1.0
...\glue(\baselineskip) 4.9958
...\hbox(7.60416+2.12917)x373.44246, glue set - 0.48822
而在 11pt 版本中,空间是
...\glue 12.0 plus 2.0 minus 2.0
...\glue(\parskip) 0.0 plus 1.0
...\glue(\baselineskip) 5.99585
...\hbox(7.60416+2.12917)x418.25555, glue set - 0.64508
....\hbox(0.0+0.0)x10.95003
正如 LaTeX 警告的那样,两种情况下都使用相同的 11pt 字体(至少这里使用的字体):
LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <10.5> not available
(Font) size <10.95> substituted on input line 1368.
无需深入研究,scrbook
就可以推测大多数长度都没有设置为非标准尺寸选项。它在日志中警告:
Class scrbook Warning: Using fallback calculation to setup font sizes
(scrbook) for basic size `10.5pt' on input line 1368.
换句话说,如果您选择,11pt
您可以获得人类选择的设计师长度设置,但如果您选择,10.5pt
它只会执行它所做的操作。
由于在任何一种情况下您都会获得相同的 11pt 字体,因此最简单的方法似乎是使用 11pt 选项。
请注意,如果您使用的H
插入根本不是浮动,它本质上是一个带标题的小页面,并且不会获得与浮动的图形相同的间距t
。一般来说,它充其量只是最后的选择,因为防止浮动会使获得良好的分页符变得困难。
答案2
请注意,您不会通过该声明获得 10.5pt 字体,因为 Computer Modern 字体默认具有固定大小:10pt、11pt(实际上是 10.95pt)、12pt 等等。
但是,可以解决这个问题并使用可自由缩放的字体(但在缩放之前选择最接近的固定字体大小)
\RequirePackage{fix-cm}
\documentclass[fontsize=10.5pt]{scrbook}
还有一个问题。由各种参数进行的计算scrbook
给出了错误的结果,至少对于\intextsep
是31.3488pt plus 4.1697pt minus 4.1697pt
,而\baselineskip
固定为12.59996pt
。
当选择11pt大小时,两个参数分别为12.0pt plus 2.0pt minus 2.0pt
和13.6pt
。在10pt大小时,它们分别为12.0pt plus 2.0pt minus 2.0pt
和12.0pt
。
解决方法是添加
\setlength{\intextsep}{12pt plus 2pt minus 2pt}
到前言部分(或任何您认为合适的值)。但是,这并不能解决所有问题。例如,字体\large
计算为 12.6/15.12(size/baselineskip)和\small
9.5/11.5,而对于 11pt 基本大小,我们将得到 12/14\large
和 10/12 \small
。
的比较\huge
并未显示出像 那样的较大差距\large
。
总之,使用pointsize=10.5pt
是有风险的,应该检查所有参数的一致性。