![使用 align 和 \allowdisplaybreaks 严格控制上边距](https://linux22.com/image/475434/%E4%BD%BF%E7%94%A8%20align%20%E5%92%8C%20%5Callowdisplaybreaks%20%E4%B8%A5%E6%A0%BC%E6%8E%A7%E5%88%B6%E4%B8%8A%E8%BE%B9%E8%B7%9D.png)
在以下使用带有 \allowdisplaybreaks 的对齐环境的 LaTeX 文档中,第二个方程延伸到顶部边距:
\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage[pass,showframe]{geometry}
\begin{document}
\setlength\maxdepth{0pt}
\allowdisplaybreaks
\vspace*{19cm}
\begin{align}
1+1=2\\
\frac{2}{\alpha}=\sum_{i} b_i
\end{align}
\end{document}
我知道 \maxdepth 需要设置为 0pt 才能实现严格的底部边距。我该怎么做才能让 LaTeX 严格遵守顶部边距边界?这可能是 LaTeX / amsmath 的一个错误吗?
答案1
你没有说清楚,但你大概担心的是2越过这条线
这实际上与数学显示无关,只是根据字体设计者的选择,视觉字形比字符的边界框更高,所以 TeX 根本没有关于 2 的曲线顶部的信息。
您可以使用\frac{\mathstrut 2}{\alpha
来获取
更简单的测试
\documentclass[a4paper]{article}
\begin{document}
2\vrule width 3pt height \fontcharht\font `2 %
2\llap{\vrule width 3pt height \fontcharht\font `2 }%
\end{document}
生产
这表明 2 明显高于计算机现代字体指标指定的高度。