使用 \left 和 \right 时出现忘记括号的错误

使用 \left 和 \right 时出现忘记括号的错误

我有一个简单的公式:

\documentclass[]{article}

\usepackage{mathtools}

\newcommand\norm[1]{\left\lVert#1\right\rVert}

\begin{document}
    \begin{equation*}
        \displaystyle\sum\limits_{\mathclap{j \in \{1,2\}}}~\frac{q^{0} - q^{j}}{{(\norm{q^{0} - q^{j}}^{2} - d^{2}})^{2}}
    \end{equation*} 
\end{document}

添加\left\right命令使分母的括号变大后,LaTeX 生成如下输出:

\documentclass[]{article}

\usepackage{mathtools}

\newcommand\norm[1]{\left\lVert#1\right\rVert}

\begin{document}
    \begin{equation*}
        \displaystyle\sum\limits_{\mathclap{j \in \{1,2\}}}~\frac{q^{0} - q^{j}}{{\left(\norm{q^{0} - q^{j}}^{2} - d^{2}}\right)^{2}}
    \end{equation*} 
\end{document}

在此处输入图片描述

但会出现类似这样的错误。即使没有这些和命令Extra }, or forgotten \right. ...orm{q^{0} - q^{j}}^{2} - d^{2}}\right)^{2}},代码也可以无缝编译。\left\right

答案1

您的代码中有太多无用的部分

  • 并且equation已经生效\displaystyle\limits
  • 分母中的额外括号可能会破坏间距
  • \mathclap是不需要的(也是错误的,正如需要~显示的那样)

以下是我的建议(我会选择第一个)。请注意,我对 的定义\norm\norm*你的定义基本相同。

\documentclass{article}

\usepackage{mathtools}

%\newcommand\norm[1]{\left\lVert#1\right\rVert}
\DeclarePairedDelimiter{\norm}{\lVert}{\rVert}

\begin{document}

\subsection*{Good}

\begin{equation*}
\sum_{j \in \{1,2\}} \frac{q^{0} - q^{j}}{(\norm{q^{0} - q^{j}}^{2} - d^{2})^{2}}
\end{equation*}

\subsection*{Possibly preferable}

\begin{equation*}
\sum_{j \in \{1,2\}} \frac{q^{0} - q^{j}}{\bigl(\norm{q^{0} - q^{j}}^{2} - d^{2}\bigr)^{2}}
\end{equation*}

\subsection*{Possibly preferable again}

\begin{equation*}
\sum_{j \in \{1,2\}} \frac{q^{0} - q^{j}}{\bigl(\norm{q^{0} - q^{j}}^{2} - d^{2}\bigr)^{\!2}}
\end{equation*}

\subsection*{Disputable}

\begin{equation*}
\sum_{j \in \{1,2\}} \frac{q^{0} - q^{j}}{\left(\norm*{q^{0} - q^{j}}^{2} - d^{2}\right)^{2}}
\end{equation*}

\end{document}

在此处输入图片描述

答案2

您的代码中分组错误,下面是更新后的代码:

\begin{equation*}
    \displaystyle\sum\limits_{\mathclap{j \in
    \{1,2\}}}~\frac{q^{0} - q^{j}}{{\left(\norm{q^{0} - q^{j}}^{2} - d^{2}\right)}^{2}}
\end{equation*} 

相关内容