我知道已经有很多关于这个的主题,但我找不到合适的答案(大多数时候给出的解决方案不适合我的情况)。这是我的代码(一些命令已被重命名):
\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
与不兼容subequation
。eqnarray
如果它不将字符堆叠在一起,则是可以接受的。
答案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 页)所建议的那样。