通常,LaTeX 输出中的基线在各个页面上是完全连续的,因此翻页时,后续页面上的行看起来就像打印在彼此的“顶部”。
但这种行为可能会受到baselineskip
与正文不同的元素的干扰。我经常遇到这种情况,例如
- 当元素使用较小的字体大小时,例如在引文或表格中(至少在某些样式表中),或者当
\\[x pt]
使用时,例如在表格中 - 当使用包中的元素导致不寻常的间距时,例如当
\vspace
在包中进行硬编码时
我想找到一种方法,在使用此类元素后自动恢复到基线。例如,在下面的 MWE 中,我正在寻找一个命令,\baselinerevert
该命令可以自动计算并在表格和正文之间插入所需的垂直跳跃,以使对页上的正文中的基线匹配。
(就 Adobe 的 InDesign 而言,我需要相当于段落设置中的“对齐到基线网格”设置)
梅威瑟:
\documentclass{scrbook}
\usepackage{kantlipsum,booktabs}
\begin{document}
\kant[1-3]
\begin{table}{\footnotesize
\caption{A table that does not make much sense.}
\begin{tabular}{lrr}
\toprule
Variable & Value 1 & Value 2\\\midrule
A & 42.0 & 1.2\\
B & 0.5 & 2.1\\
\bottomrule
\end{tabular}}
\end{table}
\kant[6-7]
\end{document}
答案1
您可以尝试 returntogrid 包。它需要进行几次编译才能稳定下来。
意识到
顶部表格是个问题。在您的示例中,它像在第一页一样工作,但在实际文档中,您必须确保它们具有正确的高度,以免干扰网格。
\flushbottom 有问题,因为它会不断改变标签,所以我使用 \raggedbottom。
\documentclass{scrbook}
\usepackage{kantlipsum,booktabs}
\usepackage{returntogrid,tikz}
\AddToShipoutPictureBG {\AtTextUpperLeft{\showdebugpagegrid}}
\raggedbottom
\begin{document}
\returntogrid aaaaa\kant[1-3]
\begin{table}{\footnotesize
\caption{A table that does not make much sense.}
\begin{tabular}{lrr}
\toprule
Variable & Value 1 & Value 2\\\midrule
A & 42.0 & 1.2\\
B & 0.5 & 2.1\\
\bottomrule
\end{tabular}}
\end{table}
\kant[6-7]
\end{document}