我有这个文件:
\documentclass{article}
\usepackage{amsmath}
\newcommand{\test}[1]{#1\par\rule{\textwidth}{0.4pt}}
\begin{document}
\test{\begin{align*}\text{Equation}\end{align*}}
\vspace{25pt}
\test{\centerline{Not equation}}
\end{document}
当我编译它时,它看起来会像这样:
现在,“方程式”与其分隔线之间的垂直距离大于“非方程式”与其分隔线之间的距离。我希望它与“非方程式”的情况相同。请问我该怎么做?
答案1
这并不奇怪:显示环境会在其上方和下方留下一些垂直空间。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\test}[1]{%
\par\noindent\makebox[\columnwidth]{#1}\par
\noindent\rule{\columnwidth}{0.4pt}%
}
\begin{document}
\test{$\begin{aligned}[b]\text{Equation}&=\text{aaa}\\&=\text{bbb}\end{aligned}$}
\bigskip\bigskip
\test{Not equation}
\end{document}
不要使用\centerline
。
答案2
许多 LaTeX 环境会在上方和/或下方添加空格。对于数学方程式,会在下方\belowdisplayskip
添加一些空格。要针对大多数环境(而不仅仅是数学环境)撤消此操作,我们可以添加。vspace
align*
vspace
\vspace{-\lastskip}
\documentclass{article}
\usepackage{amsmath}
\newcommand{\test}[1]{#1\par\vspace{-\lastskip}\rule{\textwidth}{0.4pt}}
\begin{document}
\centering
\test{\begin{align*}\text{Equation}\end{align*}}
\vspace{25pt}
\test{Not equation}
\end{document}