我正在排版一本书,其中作者使用对齐方程组作为枚举列表的项目,如下所示:
以及枚举列表中其他非公式项。是否可以描述环境的变体align*
,当在枚举列表中使用时,该变体将与项的编号垂直对齐?
理想情况下是这样的:
\begin{enumerate}
\item\begin{align*}(T_1+T_2)(\vec{x}+\vec{y})&=T_1(\vec{x}+\vec{y})+T_2(\vec{x}+\vec{y})\\
&=T_1(\vec{x})+T_1(\vec{y})+T_2(\vec{x})+T_2(\vec{y})\\
etc.
\end{align*}
\item\begin{align*}(T_1+T_2)(\alpha\vec{x})&=etc.
\end{align*}
\item …
\item as well as other entries that are not formulas…
\end{enumerate}
另外,如果可能的话,是否要在整个\item
命令中保持水平对齐?例如,通过使用\item
内部,或者通过使用一个可以在不离开环境的情况下发挥作用的\intertext
特殊命令?\interitem
\item
align
理想情况下是这样的:
\begin{enumerate}
\item\begin{align*}(T_1+T_2)(\vec{x}+\vec{y})&=T_1(\vec{x}+\vec{y})+T_2(\vec{x}+\vec{y})\\
&=T_1(\vec{x})+T_1(\vec{y})+T_2(\vec{x})+T_2(\vec{y})\\
etc.
\interitem(T_1+T_2)(\alpha\vec{x})&=etc.
\interitem …
\end{align*}
\item as well as other entries that are not formulas…
\end{enumerate}
答案1
(我已更新此答案以提供第二种解决方法。)
我想到两种方法:
您可以使用
flalign*
环境并在最左侧手动插入数字,使其看起来像是enumerate
环境的一部分。优点是所有方程式将自动对齐到单个=
符号上。缺点是没有使用真实enumerate
环境。您可以使用一系列环境,使用定制的 来实现符号
aligned
左侧材料的通用宽度。优点是您可以使用环境的所有功能,并且可以使用和 ,而无需应用进一步的定位指令。主要缺点是您需要手动选择 parbox 的宽度;在下面的代码中,我设置了一个名为 的参数来控制 parbox 的宽度。另一个潜在的缺点是 LaTeX 不允许在环境内分页:这在实践中可能会或可能不会成为问题。=
\parbox
enumerate
\intertext
\shortintertext
\mylen
aligned
下列屏幕截图中的框线是由该showframe
包绘制的。
\documentclass{article}
\usepackage{newtxtext,newtxmath} % optional
\usepackage{amsmath} % for 'flalign*' and 'aligned' environments
\usepackage{xcolor,enumitem,showframe}
% code for 2nd solution approach:
\newlength\mylen
\setlength\mylen{4.5cm} % choose a suitable value
\newcommand\mybox[1]{\parbox{\mylen}{\raggedleft$\displaystyle #1$}}
\begin{document}
%% first approach
\begin{flalign*}
\quad&\textcolor{red}{1.} &
(T_1+T_2)(\vec{x}+\vec{y}) &= T_1(\vec{x}+\vec{y}) + T_1(\vec{x}+\vec{y}) & {} \\
&&&= \dots & \\
&&&= \dots & \\
&&&= (T_1+T_2)(\vec{x})+(T_1+T_2)(\vec{y})\,. & \\[0.75\baselineskip]
&\textcolor{red}{2.} &
(T_1+T_2)(\alpha\vec{x}) &= \dots & {} \\
&&&= \dots & \\
&&&= \dots & \\
&&&= \alpha(T_1+T_2)(\vec{x}))\,. & \\[0.75\baselineskip]
&\textcolor{red}{3.} &
(kT_1)(\vec{x}+\vec{y}) &= \dots & {} \\
&&&= \dots & \\
&&&= \dots & \\
&&&= (kT_1)(\vec{x})+(kT_1)(\vec{y})\,.
\end{flalign*}
\hrule
%% second approach
\begin{enumerate}[label=\color{red}\arabic*.]
\item
$\begin{aligned}[t]
\mybox{(T_1+T_2)(\vec{x}+\vec{y})}
&= T_1(\vec{x}+\vec{y}) + T_1(\vec{x}+\vec{y}) \\
&= \dots \\
&= \dots \\
&= (T_1+T_2)(\vec{x})+(T_1+T_2)(\vec{y})\,.
\end{aligned}$
\item
$\begin{aligned}[t]
\mybox{(T_1+T_2)(\alpha\vec{x})}
&= \dots \\
&= \dots \\
&= \dots \\
&= \alpha(T_1+T_2)(\vec{x}))\,.
\end{aligned}$
\item
$\begin{aligned}[t]
\mybox{(kT_1)(\vec{x}+\vec{y})}
&= \dots \\
&= \dots \\
&= \dots \\
&= (kT_1)(\vec{x})+(kT_1)(\vec{y})\,.
\end{aligned}$
\end{enumerate}
\end{document}