如何设置方程式编号使其底部+右侧对齐?
例如,在以下代码中。默认编号将放在与 相同的行上S
。但是是否可以将其更改为第 3 行(P = ???
行)?
\begin{equation}
\begin{split}
A &= 0011 0000 0_2\\
S &= 1101 0000 0_2\\
P &= 0000 1100 0_2
\end{split}
\end{equation}
答案1
使用tbtags
选项来amsmath
包装:
tb
代表“顶部或底部”;当方程编号在右侧时,标签将放置在块的底部,当编号在左侧时,标签将放置在顶部。相反的选项是centertags
。split
环境由包定义amsmath
,但如果您mathtools
改为加载,则可以编写将在加载时\usepackage[tbtags]{mathtools}
将选项传递给的选项。amsmath
mathtools
\documentclass{article}
\usepackage[tbtags]{amsmath}
\begin{document}
\begin{equation}
\begin{split}
A &= 0011 0000 0_2\\
S &= 1101 0000 0_2\\
P &= 0000 1100 0_2
\end{split}
\end{equation}
\end{document}
答案2
这也可以通过 TABstacks 来实现。
针对=&
TABstack 规范进行了编辑,而不是&=
,以便在周围获得适当的间距=
。
\documentclass{article}
\usepackage{amsmath,tabstackengine}
\stackMath
\begin{document}
\begin{equation}
\setstackgap{L}{15pt}
\alignLongstack{
A =& 0011 0000 0_2\\
S =& 1101 0000 0_2\\
P =& 0000 1100 0_2
}
\end{equation}
\end{document}
顶部编号可通过 实现\alignLongunderstack
。行间距在调用 之前进行调整\setstackgap{L}{<length>}
。
答案3
我遇到了同样的问题,并想出了一个快速而肮脏的解决方案。我做了以下事情:
\begin{align}
A &= 0011 0000 0_2 \nonumber \\
S &= 1101 0000 0_2 \nonumber \\
P &= 0000 1100 0_2 \nonumber \\[-0.5cm]
&
\end{equation}
您可能需要调整最后两行之间的间距以使方程编号与最后一个方程对齐,但我对我来说已经成功了。