我在数学对齐环境中使用 booktabs 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}