我想将公式置于等号中间。到目前为止,我已经
\begin{alignat*}{2}
v_2(16)&=\frac{2}{5}[v_3(32)+v_3(8)] &&= 0, \\
v_2(4)&=\frac{2}{5}[v_3(8)+v_3(2)] &&= 1.20,\\
v_2(1)&=\frac{2}{5}[v_3(2)+v_3(0.50)] &&= 3.
\end{alignat*}
基本上我有
A =BBB = CC
A =B = CCCC
但我想要
A = BBB = CC
A = B =CCCC
答案1
要使三个“列”中的每一个都居中,您可以使用环境。请注意 (i)数组环境标题中列分隔符array
的规范,以确保适合数学的间距,以及 (ii) 重置参数以获得适合一组显示方程的外观。=
\arraystretch
\documentclass{article}
\begin{document}
\renewcommand\arraystretch{1.33} % default value: 1.0
\[
\begin{array}{c @{{}={}} c @{{}={}} c}
v_2(16) & \frac{2}{5}[v_3(32)+v_3(8)] & 0, \\
v_2(4) & \frac{2}{5}[v_3(8) +v_3(2)] & 1.20,\\
v_2(1 ) & \frac{2}{5}[v_3(2) +v_3(0.50)] & 3.
\end{array}
\]
\end{document}
如果要将最左边的列与第一个=
符号的右对齐,将最右边的列与第二个符号的左对齐=
,则可以将其设置{r @{{}={}} c @{{}={}} l}
为数组标题规范。
alignat*
我实际上建议保留环境,同时在符号处添加另一个对齐点,而不是将方程的中间部分居中设置+
。我还会使用\tfrac
而不是frac
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{3}
v_2(16)&=\tfrac{2}{5}[v_3(32) &&+v_3(8)] &&= 0, \\
v_2(4) &=\tfrac{2}{5}[v_3(8) &&+v_3(2)] &&= 1.20,\\
v_2(1) &=\tfrac{2}{5}[v_3(2) &&+v_3(0.50)] &&= 3.
\end{alignat*}
\end{document}
答案2
这类似于我在这个答案。如果您覆盖环境的对齐默认值,您可以通过插入一些“橡胶长度”(即可拉伸空间)来实现此目的。alignat
在您的情况下:
\documentclass{article}
\usepackage{amsmath}
\newcommand*\centermathcell[1]{\omit\hfil$\displaystyle#1$\hfil\ignorespaces}
\begin{document}
\begin{alignat*}{2}
v_2(16) &={}& \centermathcell{\frac{2}{5}[v_3(32)+v_3(8)]} &= 0, \\
v_2(4) &={}& \centermathcell{\frac{2}{5}[v_3(8)+v_3(2)]} &= 1.20,\\
v_2(1) &={}& \centermathcell{\frac{2}{5}[v_3(2)+v_3(0.50)]} &= 3.
\end{alignat*}
\end{document}
该宏\centermathcell
(其名称具有描述性,但您当然可以缩短它)用于\omit
删除当前单元格中的默认对齐方式,并将其替换为居中。(这\ignorespaces
是为了防止\centermathcell
在输出中产生虚假间隙之后出现空白。)我对列进行了一些重新组织,以便必须完全居中的材料占据其自己的列。
与使用array
环境相比,这样做的优点是, 的行为alignat
在其他方面得以保留,并且比 idea 更简洁\fakewidth
。缺点是超出了 LaTeX 排版结构和编码范式,因为\omit
是 TeX 原语,而您“不应该知道”alignat
是如何实现的(在本例中,作为\halign
某种)。
答案3
如果你输入
\documentclass{amsart}
\newlength\wantedwidth
\newcommand{\fakewidth}[2]{%
\settowidth{\wantedwidth}{\ensuremath{#2}}%
\makebox[\wantedwidth]{\ensuremath{#1}}%
}
\begin{document}
\begin{alignat*}{2}
v_2(16)&=\fakewidth{\frac{2}{5}[v_3(32)+v_3(8)]}
{\frac{2}{5}[v_3(2)+v_3(0.50)]}
&&= \fakewidth{0,}{1.20} \\
v_2(4)&=\fakewidth{\frac{2}{5}[v_3(8)+v_3(2)]}
{\frac{2}{5}[v_3(2)+v_3(0.50)]}
&&= 1.20,\\
v_2(1)&=\fakewidth{\frac{2}{5}[v_3(2)+v_3(0.50)]}
{\frac{2}{5}[v_3(2)+v_3(0.50)]}
&&= \fakewidth{3.}{1.20}
\end{alignat*}
\end{document}
那么你会得到
答案4
这似乎比适合对齐环境更复杂。您可以array
在这里使用通用的:
\documentclass{article}
\begin{document}
\[%
\begin{array}{r@{\,}l@{\,}c@{\,}l@{\,}l}
A&=&BBB&=&CC\\
A&=&B&=&CCCC
\end{array}
\]
\end{document}