我试图将一组等号处的方程对齐,但其中一个方程断开了。这就是 MWE。
\documentclass{article}
\usepackage{amsmath,mathtools,breqn}
\usepackage{amssymb}
\begin{document}
\begin{dgroup*}
\begin{dmath*}
(A \times B) \cup (B \times A)= \{(1,3),(1,4),(2,3),(2,4),(3,1),(3,2),(3,3),(3,4),(4,1),(4,2),(4,3)\},
\end{dmath*}
\begin{dmath*}
(A \times B) \cap (B \times A)= \{(3,3)\},
\end{dmath*}
\begin{dmath*}
(A \times B) \smallsetminus (B \times A)= \{(1,3),(1,4),(2,3),(2,4),(3,4)\}.
\end{dmath*}
\end{dgroup*}
\end{document}
第一个等式应该在集合中间的某个地方断开。然而,dgroup* 在等号处断开,完全破坏了它的对齐。我怀疑这是因为 breqn 不喜欢在逗号处断行;我尝试按照这个解决方案回答相关问题,但没有效果。
答案1
breqn
在某些地方有一些启发式方法。它将绝不在逗号处断开,因为它无法区分两个逗号(1,3),
:第一个逗号一定不用来休息,而你的情况是第二个可能使用。
由于breqn
以及 LaTeX 并不真正懂数学,因此破坏这种显示必须由懂数学的人来完成。
不过,您可以手动设置断点。比较以下两个显示并决定采用哪种样式。
\documentclass{article}
\usepackage{amsmath,mathtools}
\usepackage{breqn}
\usepackage{amssymb}
\begin{document}
\begin{dgroup*}
\begin{dmath*}
(A \times B) \cup (B \times A)=
\{(1,3),(1,4),(2,3),(2,4),\penalty0
(3,1),(3,2),(3,3),(3,4),(4,1),(4,2),(4,3)\},
\end{dmath*}
\begin{dmath*}
(A \times B) \cap (B \times A)= \{(3,3)\},
\end{dmath*}
\begin{dmath*}
(A \times B) \smallsetminus (B \times A)= \{(1,3),(1,4),(2,3),(2,4),(3,4)\}.
\end{dmath*}
\end{dgroup*}
\begin{align*}
(A \times B) \cup (B \times A) &= \{
\begin{aligned}[t]
&(1,3),(1,4),(2,3),(2,4),\\
&(3,1),(3,2),(3,3),(3,4),(4,1),(4,2),(4,3)\},
\end{aligned}
\\
(A \times B) \cap (B \times A) &= \{(3,3)\},
\\
(A \times B) \smallsetminus (B \times A) &= \{(1,3),(1,4),(2,3),(2,4),(3,4)\}.
\end{align*}
\end{document}