我想写类似的东西:
\begin{enumerate}
\item $f(x)=0\quad,\quad\forall{x}\in{S_1}$
\item $g(x)=0\quad,\quad\forall{x}\in{S_2}}$
\end{enumerate}
并且我希望每行在逗号处对齐(在\quad
s 之间)。 有什么简单的方法可以做到这一点吗?
由于上面的例子太简单,我给出一部分实际代码:
\begin{enumerate}
\item
$X\left(V\left(\varphi\right)\right)=\left\langle {{\operatorname{grad}}_{V}}\left(\varphi\right),X\left(\varphi\right)\right\rangle\quad,\quad\forall{X}\in{TM},\varphi\in{{C}^{\infty}}\left(M,W\right)$
\item ${{\operatorname{grad}}_{V}}\left(\rho\left(g\right)u\right)=\rho\left(g\right){{\operatorname{grad}}_{V}}\left(u\right)\quad,\quad\forall{u}\in{W},g\in{G}$
\item $\left\langle{\operatorname{grad}}_{V}\left(u\right),\rho_{*}\left(X\right)u\right\rangle=0\quad\quad\quad\quad\,,\quad\forall{u}\in{W},X\in{\mathfrak{g}}$
\end{enumerate}
如您所见,我已“手动”对齐了逗号,方法是插入适当长度的空格。有没有简单的方法可以自动对齐它们?
答案1
以下是实现此目的的两种方法:
\documentclass{article}
\usepackage{mathtools,eqparbox}
\begin{document}
\begin{enumerate}
\item $f(x) = 0, \quad \forall x \in S_1$
\item $g(x) = 0, \quad \forall x \in S_2$
\bigskip
\item $f(x) = 0, \quad \forall x \in S_1$
\item $\phantom{f(x)}\mathllap{g(x)} = 0, \quad \forall x \in S_2$
\bigskip
\item $\eqmakebox[lhs]{$f(x)$} = 0, \quad \forall x \in S_1$
\item $\eqmakebox[lhs][r]{$g(x)$} = 0, \quad \forall x \in S_2$
\end{enumerate}
\end{document}
上面的 (1) 和 (2) 是您的原始设置。我们注意到 比f(x)
更宽g(x)
。因此,我们的重点将只放在g(x)
向右移动一点点。
在 (4) 中,我们插入一个\phantom{f(x)}
,使它们处于正确的水平位置,然后g(x)
在一个带有math
的框中插入(或)。l
lap
\mathllap
在 (6) 中,我们将f(x)
和插入到具有相同标签 ( )g(x)
的 内。这确保它们在水平方向上占用相同的空间。此外,我们将 对齐到框内。\eqmakebox
lhs
g(x)
r
以下是使用相同设置的更复杂示例:
\documentclass{article}
\usepackage{mathtools,amsfonts,eqparbox}
\DeclareMathOperator{\grad}{grad}
\begin{document}
% Original setup
\begin{enumerate}
\item
$X\left(V\left(\varphi\right)\right)=\left\langle {{\operatorname{grad}}_{V}}\left(\varphi\right),X\left(\varphi\right)\right\rangle\quad,\quad\forall{X}\in{TM},\varphi\in{{C}^{\infty}}\left(M,W\right)$
\item ${{\operatorname{grad}}_{V}}\left(\rho\left(g\right)u\right)=\rho\left(g\right){{\operatorname{grad}}_{V}}\left(u\right)\quad,\quad\forall{u}\in{W},g\in{G}$
\item $\left\langle{\operatorname{grad}}_{V}\left(u\right),\rho_{*}\left(X\right)u\right\rangle=0\quad\quad\quad\quad\,,\quad\forall{u}\in{W},X\in{\mathfrak{g}}$
\end{enumerate}
\bigskip
\begin{enumerate}
\item
$\phantom{\grad_V(\rho(g) u) = \rho(g) \grad_V(u)}
\mathllap{X(V(\varphi)) = \langle \grad_V(\varphi), X(\varphi) \rangle}, \quad \forall X \in TM , \varphi \in C^\infty(M,W)$
\item
$\grad_V(\rho(g) u) = \rho(g) \grad_V(u), \quad \forall u \in W ,g \in G $
\item
$\phantom{\grad_V(\rho(g) u) = \rho(g) \grad_V(u)}
\mathllap{\langle \grad_V(u), \rho_*(X) u \rangle = 0}, \quad \forall u \in W , X \in \mathfrak{g}$
\end{enumerate}
\bigskip
\begin{enumerate}
\item
\eqmakebox[lhs][r]{$X(V(\varphi)) = \langle \grad_V(\varphi), X(\varphi) \rangle$}%
$, \quad \forall X \in TM , \varphi \in C^\infty(M,W)$
\item
\eqmakebox[lhs]{$\grad_V(\rho(g) u) = \rho(g) \grad_V(u)$}%
$, \quad \forall u \in W ,g \in G $
\item
\eqmakebox[lhs][r]{$\langle \grad_V(u), \rho_*(X) u \rangle = 0$}%
$, \quad \forall u \in W , X \in \mathfrak{g}$
\end{enumerate}
\end{document}
答案2
使用包align
中的环境amsmath
。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
f(x)&=0\qquad\text{for all $x\in S_1$} \label{eq:f}\\
g(x)&=0\qquad\text{for all $x\in S_2$} \label{eq:g}
\end{align}
See equations \ref{eq:f} and~\ref{eq:g}.
\end{document}
要将数字放在左边距,请使用该leqno
选项作为类选项
\documentclass[leqno]{article}
或作为套餐选项
\usepackage[leqno]{amsmath}