如何在使用单行和多行(对齐)方程式时防止出现长时间中断?

如何在使用单行和多行(对齐)方程式时防止出现长时间中断?

我有以下代码,它产生两个对齐的方程式:一个是一行长,而另一个则aligned有多行。

\begin{align}
  W' &= W \cup W^\star &\text{donde } \left| W^\star \right| = \left| W \right| \text{ y } W \cap W^\star = \varnothing \\
  R' &=
    \begin{aligned}[t]
      &\left\{ \left< u, v \right> \mid u \neq v \wedge u \operatorname{R} v \right\} \\
      \cup &\left\{ \left< f(u), f(v) \right> \mid u \neq v \wedge u \operatorname{R} v \right\} \\
      \cup &\left\{ \left< u, f(u) \right> \mid u \operatorname{R} u \right\} \\
      \cup &\left\{ \left< f(u), u \right> \mid u \operatorname{R} u \right\}
    \end{aligned}
    &\text{donde } f : M \to W
\end{align}

结果就是这幅图,后面有一个很大的断点,W'以便它具有与 相同的高度R'

LaTeX 方程

奇怪的是,如果我不对齐第二列(donde ...),就不会发生这种情况。

我怎样才能防止出现这种较大的垂直空间?两条线应该合理靠近。

答案1

不幸的是,当方程式编号必须向下移动因为它无法适合这条线时,就会发生这种情况。

解决方法:稍微退格一下。

\documentclass{article}
\usepackage{amsmath,amssymb}

\begin{document}

\begin{align}
W' &= W \cup W^\star 
  &\hspace{-4em}\text{donde } \lvert W^\star \rvert = \lvert W \rvert \text{ y } W \cap W^\star = \varnothing \\
R' &=
    \begin{aligned}[t]
      &\{ \langle u, v \rangle \mid u \neq v \wedge u \mathrel{\mathrm{R}} v \} \\
      &\cup \{ \langle f(u), f(v) \rangle \mid u \neq v \wedge u \mathrel{\mathrm{R}} v \} \\
      &\cup \{ \langle u, f(u) \rangle \mid u \mathrel{\mathrm{R}} u \} \\
      &\cup \{ \langle f(u), u \rangle \mid u \mathrel{\mathrm{R}} u \}
    \end{aligned}
    &\hspace{-4em}\text{donde } f : M \to W
\end{align}

\end{document}

我删除了全部 \left并且\right在特定情况下只会添加不必要的空间。我还将四行集合描述修改为更标准的外观。

在此处输入图片描述

答案2

您可以在最长的行中使用mathrlap命令(来自)。mathtools

然而,我认为以下两种解释东德不需要对齐,在我们定义了\set和命令之后,我建议使用更好看的布局和更简单的代码,\innerp这些命令需要 \DeclarePairedDelimiterX命令(再次来自mathtools)和xparse

\documentclass{article}
\usepackage{xparse}
\usepackage{mathtools, amssymb}

\DeclarePairedDelimiterX{\set}[1]\{\}{\setargs{#1}}
\NewDocumentCommand{\setargs}{>{\SplitArgument{1}{;}}m}
{\setargsaux#1}
\NewDocumentCommand{\setargsaux}{mm}
{\IfNoValueTF{#2}{#1}{\nonscript\,#1\nonscript\;\delimsize\vert\nonscript\:\allowbreak #2\nonscript\,}}

\DeclarePairedDelimiterX{\innerp}[1]{\langle}{\rangle}{\innpargs{#1}}
\NewDocumentCommand{\innpargs}{ >{\SplitArgument{1}{,}}m }
 {\innpargsaux#1}
\NewDocumentCommand{\innpargsaux}{ m m }
 {#1\,,#2}%

\begin{document}

\begin{align}
  W' &= W \cup W^\star & & \text{donde } \left| W^\star \right| = \left| W \right| \text{ y } W \cap W^\star = \varnothing \\
  R' &=
    \begin{aligned}[t]
      &\left\{ \left< u, v \right> \mid u \neq v \wedge u \operatorname{R} v \right\} \\
      \cup &\mathrlap{\left\{ \left< f(u), f(v) \right> \mid u \neq v \wedge u \operatorname{R} v \right\}} \\
      \cup &\left\{ \left< u, f(u) \right> \mid u \operatorname{R} u \right\} \\
      \cup &\left\{ \left< f(u), u \right> \mid u \operatorname{R} u \right\}
    \end{aligned}
    & & \text{donde } f : M \to W
\end{align}
\vskip 2ex
\begin{align}
  W' &= W \cup W^\star, \qquad \text{donde } \left| W^\star \right| = \left| W \right| \text{ y } W \cap W^\star = \varnothing \\
  R' &=
    \begin{aligned}[t]
  &\set[\big]{\innerp{u, v } ; u \neq v \wedge u \operatorname{R} v } \\
 & \cup \set[\big]{\innerp{f(u), f(v) } ; u \neq v \wedge u \operatorname{R} v } \qquad
 \text{donde } f : M \to W\\
 & \cup \set[\big]{\innerp{u, f(u) } ; u \operatorname{R} u } \cup \set[\big]{\innerp{f(u), u} \mid u \operatorname{R} u }
    \end{aligned}
\end{align}

\end{document}

在此处输入图片描述

相关内容