如何在 align* 环境中居中方程时忽略文本?

如何在 align* 环境中居中方程时忽略文本?

我在环境中写了几行align*,我想在其中一行添加注释,然后它会将整个部分移到左侧。理想情况下,我希望align将方程式居中并忽略对齐中的文本。

目前,我并不太担心如果最终需要将文本换行到多行会发生什么,但我对如何处理这个问题也很感兴趣。

示例代码:

\begin{align*}
    a &= b+c\\
    b &= a-c
\end{align*}

\begin{align*}
    a &= b+c \text{this comment should not affect the position.}\\
    b &= a-c
\end{align*}

答案1

这实际上要求将注释设置在零宽度框中。然而,这会导致(过长的)内容溢出到边距中。

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{align*}
  a &= b + c \\
  b &= a - c
\end{align*}

\begin{align*}
  a &= b + c \makebox[0pt][l]{~this comment should not affect the position.} \\
  b &= a - c
\end{align*}

\end{document}

在这些情况下,您可以使用来tabular垂直构建内容:

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{align*}
  a &= b + c \\
  b &= a - c
\end{align*}

\begin{align*}
  a &= b + c \makebox[0pt][l]{~%
    \begin{tabular}[t]{@{}l@{}}
      this comment should not \\ 
      affect the position.\end{tabular}} \\
  b &= a - c
\end{align*}

\end{document}

相关内容