dgroup 内的 dmath 覆盖方程编号

dgroup 内的 dmath 覆盖方程编号

下面给出了第二个方程式覆盖方程式编号的输出

\documentclass{report}
\usepackage{amssymb,amsmath}
\usepackage{breqn}

\begin{document}

\begin{dgroup}
  \begin{dmath}
    a = a
  \end{dmath}
  \begin{dmath}
    a = a +a+a+a+ b+b+b+b+b+b+b+b+b+b+b+b+b+a+a+a
 \end{dmath}
\end{dgroup}

\end{document}

仅使用

  \begin{dmath}
    a = a +a+a+a+ b+b+b+b+b+b+b+b+b+b+b+b+b+a+a+a
 \end{dmath}

没有dgroup环境也会导致正确的输出。

看起来像这样((1a)和(1.b)在环境中dgroup,而(2)不在): 在此处输入图片描述

是我犯了错误还是这是一个 bug?处理这种情况的正确方法是什么?

答案1

bregn软件包是 alpha 软件,不太可能发生变化。请参阅软件包的文档以了解许多未解决的问题。因此,回答您的第一个问题,是的,这是一个错误。

你可以调整一些内部变量来解决你的问题,无论是全局的还是给定组中的内部的。最相关的选择似乎是

  • \eqnumsep指定主体和方程编号之间的最小空间的尺寸,默认10pt

在您的示例中,\eqnumsep=4em通过将公式编号移至下一行来解决导致行中断的问题。较大的值将导致公式本身中断两行。

示例输出

\documentclass{report}
\usepackage{amssymb,amsmath}
\usepackage{breqn}

\begin{document}

\noindent
\verb+\eqnumsep=4em+
\begin{dgroup}\eqnumsep=4em
  \begin{dmath}
    a = a
  \end{dmath}
  \begin{dmath}
    a = a +a+a+a+ b+b+b+b+b+b+b+b+b+b+b+b+b+a+a+a
 \end{dmath}
\end{dgroup}

\noindent
\verb+\eqnumsep=5em+
\begin{dgroup}\eqnumsep=5em
  \begin{dmath}
    a = a
  \end{dmath}
  \begin{dmath}
    a = a +a+a+a+ b+b+b+b+b+b+b+b+b+b+b+b+b+a+a+a
 \end{dmath}
\end{dgroup}

\noindent
Default \verb+\eqnumsep+
\begin{dgroup}
  \begin{dmath}
    a = a
  \end{dmath}
  \begin{dmath}
    a = a +a+a+a+ b+b+b+b+b+b+b+b+b+b+b+b+b+a+a+a
 \end{dmath}
\end{dgroup}

\end{document}

相关内容