我必须以这种格式写出方程式:
(1) A → (*some terms*)
A.a = (*some terms*)
A.b = (*some terms*)
...
A.z = (*some terms*)
(2) B → (*some terms*)
B.a = (*some terms*)
B.b = (*some terms*)
...
B.z = (*some terms*)
...
(5) E → (*some terms*)
E.a = (*some terms*)
E.b = (*some terms*)
...
E.z = (*some terms*)
数字((1)、(2) 等)必须位于左侧,'→' 符号需要对齐,并且所有 '=' 符号都需要对齐。此外,Aa、Ab 等必须从 '→' 的右侧开始。
我该怎么做?我是 LateX 的初学者。
答案1
您可以使用flalign
;\lefteqn
忽略参数的宽度。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Some text before the display just to see where the margins of the type block
are, some more to be sure
\begin{flalign*}
(1)\quad A &\to \lefteqn{(*some terms*)} &&& \\
& & A.a &= (*some terms*) \\
& & A.b &= (*some terms*) \\
& & A.c &= (*some terms*) \\
(2)\quad B &\to \lefteqn{(*some terms*)} \\
& & B.a &= (*some terms*) \\
& & B.b &= (*some terms*) \\
& & B.c &= (*some terms*) \\
(3)\quad C &\to \lefteqn{(*some terms*)} \\
& & C.a &= (*some terms*) \\
& & C.b &= (*some terms*) \\
& & C.c &= (*some terms*)
\end{flalign*}
Some text before the display just to see where the margins of the type block
are, some more to be sure
\end{document}
答案2
您可以随时使用eqparbox
在文档元素之间提供类似大小的宽度(如enumerate
或align
):
\documentclass{article}
\usepackage{amsmath,eqparbox,enumitem}
\begin{document}
Some text before the display just to see where the margins of the type block
are, some more to be sure:
\begin{enumerate}[label={(\arabic*)}]
\item
$\eqmakebox[LHSitem][r]{$A$} \to text{(*some terms*)}$
\begin{align*}
\eqmakebox[LHS][r]{$A.a$} &= \text{(*some terms*)} \\
\eqmakebox[LHS][r]{$A.b$} &= \text{(*some terms*)} \\
\eqmakebox[LHS][r]{$A.c$} &= \text{(*some terms*)}
\end{align*}
\item
$\eqmakebox[LHSitem][r]{$AB$} \to \text{(*some terms*)}$
\begin{align*}
\eqmakebox[LHS][r]{$AB.a$} &= \text{(*some terms*)} \\
\eqmakebox[LHS][r]{$AB.b$} &= \text{(*some terms*)} \\
\eqmakebox[LHS][r]{$AB.c$} &= \text{(*some terms*)}
\end{align*}
\item
$\eqmakebox[LHSitem][r]{$ABC$} \to \text{(*some terms*)}$
\begin{align*}
\eqmakebox[LHS][r]{$ABC.a$} &= \text{(*some terms*)} \\
\eqmakebox[LHS][r]{$ABC.b$} &= \text{(*some terms*)} \\
\eqmakebox[LHS][r]{$ABC.c$} &= \text{(*some terms*)}
\end{align*}
\end{enumerate}
Some text before the display just to see where the margins of the type block
are, some more to be sure.
\end{document}