在数学对齐环境中使用 booktabs cmidrule 时,垂直空间过大

在数学对齐环境中使用 booktabs cmidrule 时,垂直空间过大

我在数学对齐环境中使用 booktabs cmidrule。它能正常工作,但会产生太多垂直空间。我该如何减少垂直空间。

这是一个简单的演示

cmidrule 的垂直间距过多

\documentclass{article}

\usepackage{amsmath}
\usepackage{booktabs}

\begin{document}

\begin{align*}
  % dummy placeholder equations. highlight spacing
  1 + 1 &= 2 \\
  1 + 1 &= 2 \\
  \cmidrule{1-2}
  2 + 2 &= 4 \\
  2 + 2 &= 4 \\
\end{align*}

\end{document}

答案1

在某种程度上,我很惊讶这\cmidrule有效根本tabular类似和的array环境之外。使用\cmidrule不会立即抛出错误消息这一事实并不表明您正在做的事情可以或应该产生您希望得到的结果。

如果必须使用\cmidrule,请在环境中排版相关方程式array

在此处输入图片描述

\documentclass{article}
\usepackage{array,amsmath,booktabs}
\newcolumntype{L}{>{\displaystyle}l}
\newcolumntype{R}{>{\displaystyle}r}

\begin{document}

\begin{minipage}[t]{0.22\textwidth}
\texttt{array} approach
\[
\renewcommand{\arraystretch}{1.28} % emulate display-style math setting
\begin{array}{@{} R @{{}={}} L @{}}
  1 + 1 & 2 \\
  1 + 1 & 2 \\
  \cmidrule{1-2}
  2 + 2 & 4 \\
  2 + 2 & 4 
\end{array}
\]
\end{minipage}\quad
\begin{minipage}[t]{0.22\textwidth}
\texttt{align*} approach
\begin{align*}
  1 + 1 &= 2 \\
  1 + 1 &= 2 \\
  \cmidrule{1-2}
  2 + 2 &= 4 \\
  2 + 2 &= 4 \\
\end{align*}
\end{minipage}
\end{document}

答案2

如果你想减少此示例中的垂直空间,或在类似情况下,请在前面添加负空间,例如使用 \\[-2ex]

除了您会注意到的过多空间之外,booktabs两侧还增加了垂直空间,\cmidrule因此更难以纠正。

\documentclass{article}

\usepackage{amsmath}
%\usepackage{booktabs}

\begin{document}

\begin{align*}
  % dummy placeholder equations. highlight spacing
  1 + 1 &= 2 \\
  1 + 1 &= 2 \\[-1.5ex]
  \cline{1-2}
  2 + 2 &= 4 \\
  2 + 2 &= 4 \\
\end{align*}

\end{document}

X

相关内容