如果之前有人问过这个问题,我很抱歉,但我在几个地方搜索后找不到它。我目前正在处理如下方程数组:
\begin{align}
y_i^3=y_i^2&=z_i^2=z_i^3 &&\text{if\, $1\leq i\leq n-1$}\\
y_iz_iy_i=y_i,\quad &z_iy_iz_i=z_i &&\text{if\, $1\leq i\leq n-1$}\\
y_iz_i&=z_{i+1}y_{i+1} &&\text{if\, $1\leq i\leq n-2$}
\end{align}
但我真的想去掉&
方程式中的 's,这样方程式就会居中对齐,“如果...”位就会左对齐,而且每行仍然有标签。如果我去掉 ' &
s 并将&&
's改为&&&
's,那么除了方程式是右对齐的以外,我得到了我想要的一切。
有人可以帮忙吗?
答案1
r
的右对齐l
是align
在所谓的“align
前导码”中设置的(存储在\align@preamble
)。您可以更新此序言来调整结构的对齐/布局align
。
下面是一个提供 的 MWE myalign
,它使“左列”居中,并使“右列”在常规 内左对齐。本质上,只有通过在“左列”内容的右侧align
插入附加内容,才能将“左列”对齐更改为居中:\hfil
\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\makeatletter
\newenvironment{myalign}{%
\def\align@preamble{% Definition taken from amsmath.dtx
&\hfil
\strut@
\setboxz@h{\@lign$\m@th\displaystyle{####}$}%
\ifmeasuring@\savefieldlength@\fi
\set@field
\hfil% <---------- Alignment added
\tabskip\z@skip
&\setboxz@h{\@lign$\m@th\displaystyle{{}####}$}%
\ifmeasuring@\savefieldlength@\fi
\set@field
\hfil
\tabskip\alignsep@
}\align}{\endalign}
\begin{document}
\begin{align}
y_i^3 = y_i^2 = z_i^2 = z_i^3 &\qquad \text{if $1 \leq i \leq n-1$} \\
y_iz_iy_i = y_i, \quad z_iy_iz_i = z_i &\qquad \text{if $1 \leq i \leq n-1$} \\
y_iz_i = z_{i+1}y_{i+1} &\qquad \text{if $1 \leq i \leq n-2$}
\end{align}
\begin{myalign}
y_i^3 = y_i^2 = z_i^2 = z_i^3 &\qquad \text{if $1 \leq i \leq n-1$} \\
y_iz_iy_i = y_i, \quad z_iy_iz_i = z_i &\qquad \text{if $1 \leq i \leq n-1$} \\
y_iz_i = z_{i+1}y_{i+1} &\qquad \text{if $1 \leq i \leq n-2$}
\end{myalign}
\end{document}