对数组的所有行进行编号

对数组的所有行进行编号

我知道已经有很多关于这个的主题,但我找不到合适的答案(大多数时候给出的解决方案不适合我的情况)。这是我的代码(一些命令已被重命名):

\begin{subequations}
\begin{array}{rcll}
\dint_{K} \underline{E}_h \cdot \underline{z} dx + \dint_{K}\Phi_h \nabla\cdot \underline{z} dx -\dint_{\partial K} \lambda_h \underline{z} \cdot \underline{n} d\sigma & = & 0, & \forall\  \underline{z}_h \in\mathbb{Q}^k(K), \\[4mm]
\dint_K \nabla \cdot \underline{E}_h p dx & = & \dint_K (1-\rho)p dx, & \forall\  p \in \mathbb{P}^k(K), \\[4mm]
\dint_e \ldbrack \underline{E}_h \rdbrack \mu d\sigma & = & 0, & \forall\ \mu\in\mathbb{P}^k(e).
\end{array}
\label{eq:Poisson-RT
\end{subequations}

我想保持垂直对齐(一个\forall在另一个之上...)并且有像这样的编号

... (1.a)
... (1.b)
... (1.c)

我尝试使用subequation和,align但对齐方式不符合预期,并且array与不兼容subequationeqnarray如果它不将字符堆叠在一起,则是可以接受的。

答案1

您想使用align环境。执行类似以下操作...

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage[margin=1in]{geometry}
\pagestyle{empty}
\newcommand{\dint}{\int}
\newcommand{\ldbrack}{[}
\newcommand{\rdbrack}{] }
\begin{document}

\begin{subequations}
\begin{align}
\dint_{K} \underline{E}_h \cdot \underline{z} \, dx + \dint_{K}\Phi_h \nabla\cdot \underline{z} \, dx -\dint_{\partial K} \lambda_h \underline{z} \cdot \underline{n} \, d\sigma & = 0,
                && \forall\  \underline{z}_h \in\mathbb{Q}^k(K), \\[4mm]
\dint_K \nabla \cdot \underline{E}_h p \, dx              & = \dint_K (1-\rho)p \, dx,
                && \forall\  p \in \mathbb{P}^k(K),              \\[4mm]
\dint_e \ldbrack \underline{E}_h \rdbrack \mu \, d\sigma  & = 0,
                && \forall\  \mu\in\mathbb{P}^k(e).
\end{align}
\label{eq:Poisson-RT}
\end{subequations}

\end{document}

请注意我擅自重新定义了一些命令。但这应该能让您大致了解如何完成您想要的任务。

在此处输入图片描述

编辑:&将之前的文字加倍\forall以对齐它们,并\,在所有内容之前添加细空格()d<something>以改善外观并帮助理解,正如 Knuth(TeXbook,第 168 页)所建议的那样。

相关内容