我正在尝试垂直对齐两个不等式。\le
符号应具有相同的水平位置,并且中的项应居中。我的第一次尝试:
\begin{align*}
\sum a &\le \sum b &\le \sum c \\
\log \sum a &\le \log \sum b &\le \log \sum c
\end{align*}
不起作用。我的第二次尝试:
\[
\begin{array}{rcccl}
\sum a &\le& \sum b &\le& \sum c \\
\log \sum a &\le& \log \sum b &\le& \log \sum c
\end{array}
\]
对齐效果很好,但是总和符号比对齐环境中的要小。
制作这个 LaTeX 的“最佳”方法是什么?
答案1
alignat
是你的朋友:
\begin{alignat*}{2}
\sum a &\le &\sum b &\le \sum c \\
\log \sum a &\le{} &\log \sum b &\le \log \sum c
\end{alignat*}
生成:
我需要在列之间添加两个额外的对齐字符,并添加一个{}
以使其成为\le
二元运算符。& 的数量应为 2n-1,其中 n 是给定的参数(在上述情况下为 2)。
虽然现在我再次阅读了这个问题,我意识到我并没有回答它。看来你想让这个\sum
术语居中......
我能想到的唯一办法是有点丑陋:
\newlength{\yuckkyhack}
\settowidth{\yuckkyhack}{$\displaystyle\log \sum b$}
\begin{alignat*}{2}
\sum a &{}\le{} &\makebox[\yuckkyhack]{$\displaystyle\sum b$} {}&\le \sum c \\
\log \sum a &\le{} &\log \sum b &\le \log \sum c
\end{alignat*}
这给出了期望的结果(我认为):
但需要手动选择最大的文本位,并使用长度...有什么改进的想法吗?
答案2
这匹马死了吗……既然我的另一个答案被采纳了,我不想修改它。所以,我在这里用一个新的答案来补充我的想法。
这个怎么样:
\begin{equation*}
\begin{aligned}\sum a &\le{}\\ \log \sum a &\le{} \end{aligned}\!
\begin{gathered}\sum b\\ \log \sum b \end{gathered}\!
\begin{aligned}{}&\le \sum c\\ {}&\le \log \sum c \end{aligned}
\end{equation*}
生成结果:
无需任何技巧,但书写并不“线性”,因为您需要自己将方程式拆分成列。还请注意,为了获得更好的列间距,需要留出负空间。
这里还有一个解决方案:
\usepackage{array}
\begin{document}
\newcolumntype{C}{>{\(\displaystyle}c<{\)}@{}}
\newcolumntype{L}{>{\(\displaystyle}l<{\)}@{}}
\newcolumntype{R}{>{\(\displaystyle}r<{\)}@{}}
\center{
\begin{tabular}{RCL}
\sum a \le{} & \sum b &\le \sum c \\
\log \sum a\le{} &\log \sum b &{}\le \log \sum c
\end{tabular}
\end{document}
哦,有一个警告:我不知道这个解如何能得到多个方程编号。
答案3
正如记录的那样amsmath 的用户指南如果要使所有等价符号对齐,请使用&&
第二个等价:
\begin{alignat}{2}
x& = y_1-y_2+y_3-y_5+y_8-\dots
&\quad& \text{by \eqref{eq:C}}\\
& = y’\circ y^* && \text{by \eqref{eq:D}}\\
& = y(0) y’ && \text {by Axiom 1.}
\end{alignat}
答案4
我知道这个问题已经解决了一段时间了,但是你不能只使用 OP 的第二个解决方案吗?\displaystyle?
\[
\begin{array}{rcccl}
\displaystyle\sum a &\le& \displaystyle\sum b &\le& \displaystyle\sum c \\
\displaystyle\log \sum a &\le& \displaystyle\log \sum b &\le& \displaystyle\log \sum c
\end{array}
\]