枚举中的对齐

枚举中的对齐

我想写类似的东西:

\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}

并且我希望每行在逗号处对齐(​​在\quads 之间)。 有什么简单的方法可以做到这一点吗?


由于上面的例子太简单,我给出一部分实际代码:

\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的框中插入(或)。llap\mathllap

在 (6) 中,我们将f(x)和插入到具有相同标签 ( )g(x)的 内。这确保它们在水平方向上占用相同的空间。此外,我们将 对齐到框内。\eqmakeboxlhsg(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}

在此处输入图片描述

相关内容