我想将“单词”的中间与其他内容对齐。让我解释一下。以下是我所拥有的。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
a&:=b\\
c&=d
\end{align*}
\end{document}
这看起来还不错,但我真的希望两个等号是我们要对齐的。因此,显而易见的做法是将 移到&
的另一侧:
,如下所示。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
a:&=b\\
c&=d
\end{align*}
\end{document}
但是,当然,这永远不会奏效!最终,冒号和等号之间会出现一个空格,: =
而不是:=
。所以你明白我的问题了……
答案1
这是使用正在开发的tabstackengine
包,首先在这里介绍根据最宽的列编写具有等间距列的表格(源代码可从测量对齐)。
该包stackengine
通过添加制表功能扩展了该包。这个答案,我可以在对齐环境内进行制表吗?,给出了该包的一些语法。我很抱歉,我没有完成该包并将其发布出去,因此查看其实际运行情况的唯一方法是通过此站点搜索tabstackengine
。
\documentclass{article}
\usepackage{tabstackengine}
\usepackage{amsmath}
\stackMath
\begin{document}
\begin{equation*}
\setstacktabulargap{0pt}
\tabularCenterstack{lrl}{%
a&:=&b\\
c&=&d
}
\end{equation*}
\end{document}
答案2
下列内容是您正在寻找的吗?
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{align*}
a \coloneqq{} &b\\
c ={} &d
\end{align*}
\end{document}
或许
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{alignat*}{2}
&a &{}\coloneqq{} &b\\
&c &{}={} &d
\end{alignat*}
\end{document}
更有用吗?
注:\coloneqq
来自mathtools
为动态定义(或任何定义)提供正确的符号。
答案3
如果第二个方程中的空间较大,则下面的操作会非常容易。在这种情况下,左侧项的右侧对齐实际上看起来相当不错。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
a&:=b\\
c&\phantom{:}=d
\end{align*}
\end{document}
\coloneqq
为了使用包更好看mathtools
,只需在等式的右边对齐:={}&