对多列方程进行编号和对齐

对多列方程进行编号和对齐

我寻找一种方法来对齐具有多列的方程式,其中应满足以下条件:

  • 方程标签应该在最后一行

  • 等号应居中并对齐

使用alignat可以得到正确的编号,但我无法像overset引用那样将最后一个等号居中放在第二行。使用array内部equation可以得到正确的对齐(尽管列之间有更多空间),但编号现在居中而不是在末尾。

\documentclass{book}
\usepackage{amsmath}
\renewcommand\theequation{\thesection.\arabic{equation}}


\begin{document}
\chapter{}
\section{Section}
\subsection{subsection}
\begin{equation}
 1 + 1 = 2 
 \label{eq:1}
\end{equation}

\begin{alignat}{3}
 E =& n^\mu n^\nu T_{\mu\nu} &&=&& \rho \notag \\
 T =& T^\mu_\mu = -\rho + p_r + 2 p_\perp 
                   &&\overset{(\ref{eq:1})}{=}&& 2 (p_\perp -\rho) \notag \\
 S =& T+E &&=&& 2 p_\perp - \rho \notag \\
 p^\mu =& - \gamma^{\mu \alpha} n^\beta T_{\alpha \beta} &&=&& 0 \quad .
\end{alignat}

\begin{equation}
\begin{array}{cclcl}
 E &=& n^\mu n^\nu T_{\mu\nu} &=& \rho  \\
 T &=& T^\mu_\mu = -\rho + p_r + 2 p_\perp 
                   &\overset{(\ref{eq:1})}{=}& 2 (p_\perp -\rho)  \\
 S &=& T+E &= & 2 p_\perp - \rho  \\
 p^\mu &=& - \gamma^{\mu \alpha} n^\beta T_{\alpha \beta} &= & 0 \quad .
\end{array}
\end{equation}

\end{document}

答案1

我的答案https://tex.stackexchange.com/a/136374/15925可以进行调整以引入一个命令,使材料在显示数学和相关环境\cmdcol中的一列中居中:alignat

示例输出

\documentclass{book}

\usepackage{mathtools}
\numberwithin{equation}{section}

\makeatletter
\newcommand{\cmdcol}[1]{\omit\hfil\strut@ \( \m@th\displaystyle #1 \)\hfil}
\makeatother

\begin{document}

\chapter{}
\section{Section}
\subsection{Subsection}

\begin{equation}
 1 + 1 = 2 
 \label{eq:1}
\end{equation}

\begin{alignat}{2}
 E &= n^\mu n^\nu T_{\mu\nu} &\cmdcol{=}& \rho \notag \\
 T &= T^\mu_\mu = -\rho + p_r + 2 p_\perp 
                   &\cmdcol{\overset{\eqref{eq:1}}{=}}& 2 (p_\perp -\rho) \notag \\
 S &= T+E &\cmdcol{=}& 2 p_\perp - \rho \notag \\
 p^\mu &= - \gamma^{\mu \alpha} n^\beta T_{\alpha \beta} &\cmdcol{=}& 0 \quad .
\end{alignat}

\end{document}

该命令的结构\cmdcol被构建来模仿和朋友ams中列的标准定义align

顺便说一句, 更能体现你的编号方案\numberwithin。我已切换到mathtools而不是amsmath该包提供的进一步扩展,它amsmath无论如何都会加载。

答案2

您的想法array很好,但需要一些改进。不过,我不会将等式编号放在等号上方,而是放在侧面。我将展示这两种方式。

\documentclass{book}
\usepackage{amsmath,array}
\newcolumntype{R}{>{\displaystyle}r}
\newcolumntype{C}{>{\displaystyle{}}c<{{}}}
\newcolumntype{L}{>{\displaystyle}l}

\renewcommand\theequation{\thesection.\arabic{equation}}


\begin{document}
\chapter{Title}
\section{Section}
\subsection{subsection}
\begin{equation}
 1 + 1 = 2 
 \label{eq:1}
\end{equation}

\begin{equation}
\renewcommand{\arraystretch}{1.3}
\setlength{\arraycolsep}{0pt}
\begin{array}[b]{RCLCL}
 E &=& n^\mu n^\nu T_{\mu\nu} &=& \rho,  \\
 T &=& T^\mu_\mu = -\rho + p_r + 2 p_\perp 
                   &\overset{(\ref{eq:1})}{=}& 2 (p_\perp -\rho),  \\
 S &=& T+E &= & 2 p_\perp - \rho,  \\
 p^\mu &=& - \gamma^{\mu \alpha} n^\beta T_{\alpha \beta} &= & 0.
\end{array}
\end{equation}

\begin{equation}
\begin{alignedat}[b]{3}
 E     &= n^\mu n^\nu T_{\mu\nu}                        &&= \rho, \\
 T     &= T^\mu_\mu = -\rho + p_r + 2 p_\perp           &&= 2 (p_\perp -\rho),
   &&\quad\text{by \eqref{eq:1}} \\
 S     &= T+E                                           &&= 2 p_\perp - \rho,  \\
 p^\mu &= -\gamma^{\mu \alpha} n^\beta T_{\alpha \beta} &&= 0.
\end{alignedat}
\end{equation}

\end{document}

在此处输入图片描述

相关内容