在对齐方程中水平对齐相同的变量

在对齐方程中水平对齐相同的变量

我想在方程式之间对齐相同的文本,例如在这种情况下的 ET、E 和 T。

\documentclass[12pt]{article}
\usepackage{mathtools}

\begin{document}

\begin{align}
    ET &= E+ T &\\
    \delta_{ET} ET &= \delta_{E} E + \delta_{T} T &
    \label{eq:mass balance} 
\end{align}
\end{document}

结果如下

在此处输入图片描述

但我希望它像这样显示

在此处输入图片描述

有人可以给我一点提示吗?

答案1

这里的典型方法是使用\phantoms 来表示缺失的元素:

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{align}
  \phantom{\delta_{ET}}ET &= \phantom{\delta_E}E + \phantom{\delta_T}T \\
           \delta_{ET} ET &=          \delta_E E +          \delta_T T
\end{align}

\end{document}

您还可以使用alignat

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{alignat}{3}
              & ET ={} &          E +{} &&          T \\
  \delta_{ET} & ET ={} & \delta_E E +{} && \delta_T T
\end{alignat}

\end{document}

或者,你可以使用其他框操作,例如eqparbox

\documentclass{article}

\usepackage{amsmath}

\usepackage{eqparbox,xparse}

% https://tex.stackexchange.com/a/34412/5764
\makeatletter
\NewDocumentCommand{\eqmathbox}{o O{c} m}{%
  \IfValueTF{#1}
    {\def\eqmathbox@##1##2{\eqmakebox[#1][#2]{$##1##2$}}}
    {\def\eqmathbox@##1##2{\eqmakebox{$##1##2$}}}
  \mathpalette\eqmathbox@{#3}
}
\makeatother

\newcommand{\ET}[2][ET]{\eqmathbox[#1][r]{#2 ET}}
\newcommand{\E}[2][E]{\eqmathbox[#1][r]{#2 E}}
\newcommand{\T}[2][T]{\eqmathbox[#1][r]{#2 T}}

\begin{document}

\begin{align}
  \ET{}            &= \E{}         + \T{}         \\
  \ET{\delta_{ET}} &= \E{\delta_E} + \T{\delta_T}
\end{align}

\end{document}

相关内容