我需要在对齐环境中绘制一条水平线。例如,在下面的 MWE 中,我需要一条线将第三行分隔开。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
x &= 1\\
y & = 2 \\
\hline
x + y &= 3
\end{align*}
\end{document}
编辑我忘了说了,左边的线不应该太长(注意附图)。
答案1
这是一个解决方案
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
x &= 1\\
y & = 2 \\
\cline{1-2}
x + y &= 3
\end{align*}
\end{document}
答案2
我对这个问题进行了大量研究,这是我见过的最简单的解决方案。虽然touhami 的回答很棒,但我对垂直间距有异议。
为了\hline
在数学环境中使用类似的东西,我发现你需要处于一个“子”数学环境中* split
,如aligned
,等等。一旦这样,您就可以使用不变的代码:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\begin{split}
x &= 1 \\
y &= 2 \\
\hline
x + y &= 3
\end{split}
\end{equation*}
\end{document}
如果要包含方程编号,请将equation*
环境替换为equation
:
我对 周围的垂直间距不太满意\hline
。对于某些公式,它可以更大一些,但\hline \\[-.5ex]
没有得到尊重。欢迎在评论中留下解决方案,我会将其纳入。
记录的其他选项可能包括尝试争取\frac{top}{bottom}
做你想做的事情。
*欢迎对此声明进行强化!我的乳胶知识有限。
有用资源:
amsmath 用户指南
更新 [2.27.22]
\noalign{\smallskip} \hline \noalign{\smallskip}
可以存储在命令中:
\newcommand{\eqline}{\noalign{\smallskip} \hline \noalign{\smallskip}}
更新文本:
\documentclass{article}
\usepackage{amsmath}
\newcommand{\eqline}{\noalign{\smallskip} \hline \noalign{\smallskip}}
\begin{document}
\begin{equation*}
\begin{split}
x &= 1 \\
y &= 2 \\
\eqline{}
x + y &= 3
\end{split}
\end{equation*}
\end{document}
答案3
不是太复杂,但是你可以rule
在这里使用一个简单的。
% arara: pdflatex
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{align*}
x &= 1\\
y & = 2 \\[-\jot] % you may decrease the vertical space here and in the next line as well.
\mathclap{\rule{2cm}{0.4pt}}\\
x + y &= 3
\end{align*}
\end{document}
答案4
只是为了完整性。在纯 TeX 中,我们没有遇到任何问题。
$$
\eqalign{
x &= 1 \cr
y &= 2 \cr \noalign{\smallskip\hrule\smallskip}
x + y &= 3
}
$$
\bye
给出期望的结果。