我有以下方程组:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{flalign*}
\begin{array}{lllclllr}
& 2x &-& 9y &+& 5 &=& 0\\
-& 2x &+& 6y &+& 20 &=& 0\\[2pt]
\hline\\[-2\baselineskip]
&&& -15y &-& 15 &=& 0\\
&&&&& y &=& -1
\end{array}&&
\end{flalign*}
\end{document}
我该如何去掉 后面的多余空间hline
?我只想要那里 2 个点的垂直空间,就像我在它上面那样。
完全删除换行符会导致下一行过于接近\hline
,然后添加则hspace
不会产生任何效果,无论幅度如何。
笔记。我使用是flalign*
有原因的。它与我的其他文档有关。
答案1
您的\\
后面\hline
会在表中打开一个新行。您可以\noalign
在行尾之后(即\\
LaTeX 中的后面或\cr
TeX 原语含义中)使用 TeX 原语。原语的参数\noalign
包括一个垂直列表。在我们的例子中,它是空格、行、空格。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{flalign*}
\begin{array}{lllclllr}
& 2x &-& 9y &+& 5 &=& 0\\
-& 2x &+& 6y &+& 20 &=& 0\\
\noalign{\kern2pt\hrule\kern3pt}
&&& -15y &-& 15 &=& 0\\
&&&&& y &=& -1
\end{array}&&
\end{flalign*}
\end{document}
答案2
\hline
我建议您使用比:更好的工具\midrule
,它由包提供booktabs
。
如果您想使用array
环境来排版方程组,您应该将\arrayrulsep
控制列边缘空白填充量的参数——设置为0pt
。
\documentclass{article}
\usepackage{mathtools}% for \math[lr]lap macros
\usepackage{booktabs} % for \midrule macro
\usepackage{array} % for \newcolumntype macro
\newcolumntype{C}{ >{{}}c<{{}} } % for mathbin and mathrel operators
\begin{document}
\[
\setlength{\arraycolsep}{0pt}
\begin{array}{ l rCrCrCr }
& 2x &-& 9y &+& 5 &=& 0\\
-( & 2x &+& 6y &+& 20 &=& 0\mathrlap{)}\\
\midrule
& & & \mathllap{-15}y &-& 15 &=& 0\\
& & & & & y &=& -1
\end{array}
\]
\end{document}