使用 amsmath 放置标签

使用 amsmath 放置标签

我正在使用amsmath及其\tag命令来标记方程式。我记得曾经有过一种情况,我更喜欢将标签放在左边而不是右边。所以我给了我的班级(顺便说一下reportleqno选项。然而,现在我发现自己想恢复到reqno。然而,我担心实际上删除leqno会使上述情况看起来更糟。我发现解决方案在同一文档中切换 leqno 和 reqno 选项(amsmath 的)不适用于equation

\documentclass{report}
\usepackage[leqno]{amsmath}

\makeatletter
\newcommand{\leqnomode}{\tagsleft@true}
\newcommand{\reqnomode}{\tagsleft@false}
\makeatother
\begin{document}

\begin{align}
  f(x) &= ax^2 + bx + c \\
  g(x) &= dx^2 + ex + f
\end{align}

\reqnomode

\begin{align}
  f(x) &= ax^2 + bx + c \\
  g(x) &= dx^2 + ex + f \tag{e}
\end{align}

\begin{equation}
  a^2+b^2=c^2.\tag{1}
\end{equation}

\leqnomode

\begin{equation}
  -\Delta\phi=4\pi k\rho.\tag{2}
\end{equation}


\end{document}

输出:

在此处输入图片描述

第一个equation应该仍然位于第二个对齐的\reqnomode(别名\tagsleft@false)中,但标签位于左侧。如何在不使用align用于多行显示并因此在单个单行方程式中不合适的符号的情况下解决该问题?

答案1

\documentclass{report}


\usepackage[leqno]{amsmath}



\makeatletter
\newcommand{\leqnomode}{\tagsleft@true\let\veqno\@@leqno}
\newcommand{\reqnomode}{\tagsleft@false\let\veqno\@@eqno}
\makeatother
\begin{document}

\begin{align}
  f(x) &= ax^2 + bx + c \\
  g(x) &= dx^2 + ex + f
\end{align}

\reqnomode

\begin{align}
  f(x) &= ax^2 + bx + c \\
  g(x) &= dx^2 + ex + f \tag{e}
\end{align}


\begin{equation}
  a^2+b^2=c^2.\tag{1}
\end{equation}


\leqnomode

\begin{equation}
  -\Delta\phi=4\pi k\rho.\tag{2}
\end{equation}


\end{document}

相关内容