在 amsmath 的对齐分隔符(“&”)周围使用 \left( & \right)

在 amsmath 的对齐分隔符(“&”)周围使用 \left( & \right)

我想在匹配和命令中对齐方程(使用包align中的环境) 。例如:amsmath\left(\right)

\documentclass[a4paper,12pt]{article}

\usepackage{amsmath}

\begin{document}

\begin{align}
    a \left( b &= c \right)\\
    d \left( e &= f \right)
\end{align}

\end{document}

但是该代码给出了这个错误:

额外},或者忘记了\right。

当我删除分隔符时,错误消失。有解决方法吗?

答案1

您不能将\left...拆分\right到对齐制表符之间。一种解决方案是使用\big-delimiters(不需要成对使用):

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath

\begin{document}

\begin{align}
  a \bigl( b &= c \biggr) \\
  d \Bigl( e &= f \Biggr)
\end{align}

\end{document}

上面的例子只是为了说明你可以选择的一些分隔符大小。请参阅4.14.1 分隔符大小amsmath 用户指南更多选项:

在此处输入图片描述

或者,可以手动调整对齐方式并&完全避免使用。但是,上述选项更容易管理。

答案2

您还可以将 (i)\left(\right.或 (ii)\left.与一起服用\right)。换句话说,

\documentclass[a4paper,12pt]{article}

\usepackage{amsmath}

\begin{document}

\begin{align}
    a \left( b \right. &=  \left. c \right)\\
    d \left( e \right. &=  \left. f \right)
\end{align}

\end{document}

这样,您就不会收到您发布的错误。

答案3

您可以使用一个非常有用的解决方法mathtools 手册,第 29 页,甚至包括换行符:

\usepackage{mathtools}
\newcommand\MTkillspecial[1]{% helper macro
    \bgroup
    \catcode`\&=9
    \let\\\relax%
    \scantokens{#1}%
    \egroup
    }
\DeclarePairedDelimiter\brackets()
\reDeclarePairedDelimiterInnerWrapper\brackets{star}{
    \mathopen{#1\vphantom{\MTkillspecial{#2}}\kern-\nulldelimiterspace\right.}
    #2
    \mathclose{\left.\kern-\nulldelimiterspace\vphantom{\MTkillspecial{#2}}#3}
    }

平均能量损失

\documentclass[paper=a6]{scrartcl}
\usepackage{mathtools}
\newcommand\MTkillspecial[1]{% helper macro
    \bgroup
    \catcode`\&=9
    \let\\\relax%
    \scantokens{#1}%
    \egroup
    }
\DeclarePairedDelimiter\brackets()
\reDeclarePairedDelimiterInnerWrapper\brackets{star}{
    \mathopen{#1\vphantom{\MTkillspecial{#2}}\kern-\nulldelimiterspace\right.}
    #2
    \mathclose{\left.\kern-\nulldelimiterspace\vphantom{\MTkillspecial{#2}}#3}
    }

\begin{document}
\begin{equation}
\begin{alignedat}{2}
  x &= \brackets*{a &&+ \int_a^b x \,\mathrm{d}x}\\ % auto size
    &= \brackets*{\text{loooong} &&+ (b^2 - a^2)}\\
    &= \brackets[\bigg]{\text{loooong} &&+ (b^2 - a^2)}\\ % manual size
    &= \brackets[\bigg]{\text{loooong} &&\\&&&+ (b^2 - a^2)}
\end{alignedat}
\end{equation}
\end{document}

图像

注意:如果你查看 mathtools 的 pdf 文档,第 29 页后面的符号\catcode似乎是一个撇号。但查看.dtx源代码后,该符号实际上是一个反引号。

相关内容