两列基线位置一致

两列基线位置一致

在双列模式下,无论当前字体大小如何,列中第一行的基线似乎位于列顶部下方至少约 10pt 的位置。如果字体大小足够大,第一行上的字符高度超过 10pt,则文本会向下移动,使文本不与列顶部重叠。例如:

\documentclass[twocolumn]{article}
\begin{document}
Text \newpage \tiny Text \newpage
\normalsize Text \newpage \Huge Text \newpage
\Huge no ascen-ers \newpage \Huge Ascenders
\end{document} 
  • 在第 1 页上,普通文本和小文本共享相同的基线,距列顶部约 10pt
  • 在第 2 页上,超大文本的高度超过 10pt,因此基线相对于普通文本向下移动
  • 在第 3 页上,两列都有大文本,但由于第一列的第一行没有上升部,因此基线与第二列的基线不匹配。

是否可以在距\baselineskip列顶部下方一定距离(例如)处开始一列,或者避免基线的位置取决于列第一行字符的大小?

编辑:是否可以自动实现这一点(获得同一级别的第一线基线)?

答案1

该命令\smash将消除其参数的高度和深度。如果超大文本具有降部,这可能会影响当前行与下一行的正确基线间距。

该包允许使用或来amsmath消除参数的底部或顶部。 (这些可以在文本和数学中使用。)利用这一点,我们得到以下内容:\smash[b]\smash[t]

\documentclass[twocolumn]{article}
\usepackage{amsmath}
\begin{document}
Text \newpage \tiny Text \newpage
\normalsize Text \newpage \Huge Text \newpage
\Huge no ascen-ers \newpage \Huge \smash[t]{Ascenders}
\end{document}

相关内容