如何向 breqn 建议一个合适的换行位置?

如何向 breqn 建议一个合适的换行位置?

我有一个很长的方程式,我想使用 breqn 自动将其拆分为多行。该方程式是:

 C_{\bm{r},\bm{V}} = \max \left\lbrace c: \forall S\subseteq \{1,\dots,N\}, 
      c \leq I(\bm{V}_{S^C};X) + \sum_{m\in S} r_m - I(V_m) \right\rbrace

如果我把它放进去dmath并在第二行的开头添加一个额外的关系(如\leq),它就会正确地中断,以向 breqn 建议这是一个在需要时添加换行符的好地方。

显然,额外的符号是没有意义的,所以我也应该让它不被打印。因此,我可以做一些事情,比如\mathrel{\phantom{.}}创建一个不可见的关系字符并换行。

问题在于,在实践中,添加一个预定义的关系字符(如)\leq可以dmath正确打破等式,但添加一个则\mathrel{\phantom{.}}根本不会打破它。


以下是演示此行为的 MWE:

\documentclass{article}
\usepackage{amsmath,amsfonts,amssymb,bm}
\usepackage{breqn}
\usepackage{multicol}

\begin{document}
\begin{multicols}{2}

\begin{dmath}[compact]
  C_{\bm{r},\bm{V}} = \max \left\lbrace {c:\forall S\subseteq \{1,\dots,N\},}
      \leq {c \leq I(\bm{V}_{S^C};X) + \sum_{m\in S} r_m - I(V_m)} \right\rbrace
\end{dmath}

\begin{dmath}[compact]
  C_{\bm{r},\bm{V}} = \max \left\lbrace {c:\forall S\subseteq \{1,\dots,N\},}
      \mathrel{\phantom{.}} {c \leq I(\bm{V}_{S^C};X) + \sum_{m\in S} r_m - I(V_m)}\right\rbrace
\end{dmath}

\end{multicols}
\end{document}

得出的结果为:

在此处输入图片描述

第一列中的方程式用 正确地分解\leq,但第二列中的方程式根本没有用不可见的关系分解。

相关内容