![dgroup 内的 dmath 覆盖方程编号](https://linux22.com/image/277875/dgroup%20%E5%86%85%E7%9A%84%20dmath%20%E8%A6%86%E7%9B%96%E6%96%B9%E7%A8%8B%E7%BC%96%E5%8F%B7.png)
下面给出了第二个方程式覆盖方程式编号的输出
\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}