![带有上标的内联数学公式的行距发生变化](https://linux22.com/image/388130/%E5%B8%A6%E6%9C%89%E4%B8%8A%E6%A0%87%E7%9A%84%E5%86%85%E8%81%94%E6%95%B0%E5%AD%A6%E5%85%AC%E5%BC%8F%E7%9A%84%E8%A1%8C%E8%B7%9D%E5%8F%91%E7%94%9F%E5%8F%98%E5%8C%96.png)
我正在使用 LaTeX 模板,其中只要有包含上标的内联数学表达式,垂直行距就会增加。
下标没问题。我觉得这很烦人。有没有什么办法可以全局关闭它?\smash{x^2}
在本地可以解决问题,但我不想到处都写它。更改模板不是一个选择。
答案1
有多个参数可以重置以完成要求。实际值取决于所使用的文档类中的设置。此示例根据 使用的正常 10 点类型重置相关参数article
,将基线设置为“实线”,即等于字体大小。
除非下标垂得很低,否则文本字体下行线的深度可能会掩盖它。此示例使用分数来强调效果。在此示例中设置\lineskip
为可消除此效果。0pt
要消除上标产生的额外空间,需要重置\lineskiplimit
,即在添加额外空间之前允许的超出高度量。在示例中,它被重置为-\maxdimen
,这将阻止添加空间,无论上标延伸多高。
但请注意,相邻的线可能会重叠。\smash
除非所设置的材料高度均匀,否则单独控制(使用)可能是更好的选择。
\documentclass{article}
\newcommand{\ordtext}{Ordinary text to fill several lines. }
\newcommand{\testparagraph}{\noindent
\ordtext\ordtext\ordtext
Some math with sub and superscripts:
$X^{\frac12} + Y_2 + \frac12$.
\ordtext\ordtext\ordtext
}
\textwidth=2in
\begin{document}
\baselineskip=10pt
\testparagraph
\medskip
\lineskip=0pt
\testparagraph
\medskip
\lineskiplimit=-\maxdimen
\testparagraph
\end{document}