align* 和包装命令

align* 和包装命令

对于学校来说,我们必须在所有的数学作业成绩下画双线。

我制作了一个命令来简化这一过程。它看起来像这样:

\newcommand*{\uul}[1]{
\underline{\underline{#1}}
}

它工作得很好,除了当我将它与 align* 环境一起使用时。如果有一个&=内部,如下所示:

\uul{x &= 14}

它抛出了各种错误。如果我删除它,&它就可以正常工作。

我猜测传递内容时会出现一些问题,但是有没有什么办法可以解决这个问题呢?

答案1

我认为最简单的方法是使用重叠的 重新追踪“最终方程” \phantom,并在其中设置下划线(如下面的第三组方程所示)。这解决了将函数扩展到对齐标记 的问题&,否则很难做到这一点:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\newcommand*{\uul}[1]{\underline{\underline{#1}}}
\begin{document}

\begin{align*}
  f(x) &= ax^2 + bx + c \\
     x &= 5
\end{align*}

\begin{align*}
  f(x) &= ax^2 + bx + c \\
     \text{\uul{$x$}} &\text{\uul{${}= 5$}}
\end{align*}

\begin{align*}
  f(x) &= ax^2 + bx + c \\
     x &= 5\llap{\uul{\phantom{$x=5$}}}
\end{align*}

\begin{align*}
  f(x) &= ax^2 + bx + c \\
       &\makebox[0pt][r]{\uul{$x$}}\text{\uul{${} = 5$}}
\end{align*}

\end{document}

\llap类似于\makebox[0pt][r]提供l大量lap内容的。

相关内容