修复过长集合定义拆分时周围括号的问题

修复过长集合定义拆分时周围括号的问题

请考虑以下示例:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{amsmath, amsthm, amssymb, mathtools, thmtools, unicode-math}

\begin{document}
    \begin{equation*}
        \begin{split}
            |\mu|(B):=\sup\left\{&\sum_{i=1}^k|\mu(B_i)|:k\in\mathbb N\text{ and}\right.\\
            &\left.B_1,\ldots,B_k\in\mathcal E\text{ are disjoint with }\biguplus_{i=1}^kB_i\subseteq B\right\}
        \end{split}
    \end{equation*} 
\end{document}

输出如下所示:

在此处输入图片描述

我需要将定义分成两行,因为它占用了太多的水平空间。显然,括号有问题。实际上,我想我知道出了什么问题。问题是第一个&符号出现在第一个&符号之后,\left\{但相应的结束符\right.出现在第一个&符号之后。所以,我猜这导致它们无法匹配。但是,我不知道如何解决这个问题。

答案1

\biggl\{我的主要建议是在第一行和\biggr\}第二行中使用。而且,由于您加载了mathtools包,我会将其替换:=\coloneqq;这会影响 TeX 在“:=”两侧插入空格的方式。

或者,可以将\biguplus_{i=1}^k B_i \subseteq B \biggr\}代码块装​​入包装器中\smash[t]{...}。这样做可以使方程的两行间隔更近一些。(\smash[t]将其参数的隐式高度设置为零。这里没问题,因为材料“上方”绝对没有任何东西\biguplus_{i=1}^k B_i \subseteq B \biggr\}。)

我使用 LuaLaTeX 编译了以下修改后的代码。使用 XeLaTeX 得到相同的输出。

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amssymb, amsthm, thmtools}
\usepackage{mathtools} % for \coloneqq and \DeclarePairedDelimiter macros
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\usepackage{unicode-math} % requires LuaLaTeX or XeLaTeX

\begin{document}
\begin{equation*}
\begin{split}
 \abs{\mu}(B) \coloneqq \sup {}\biggl\{
 &\sum_{i=1}^k\abs{\mu(B_i)} :
  \text{$k\in\mathbb{N}$ and}\\
 &\quad\text{$B_1,\dots,B_k\in\mathcal{E}$ 
  are disjoint with }
 \smash[t]{\biguplus_{i=1}^k B_i \subseteq B \biggr\}}
\end{split}
\end{equation*}
\end{document}

答案2

自动括号很少是正确的,手动操作通常更好:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{amsmath, amsthm, amssymb, mathtools, thmtools, unicode-math}

\begin{document}
    \begin{equation*}
        \begin{split}
            |\mu|(B):=\sup\Bigg\{&\sum_{i=1}^k|\mu(B_i)|:k\in\mathbb N\text{ and}\\
            &B_1,\ldots,B_k\in\mathcal E\text{ are disjoint with }\biguplus_{i=1}^kB_i\subseteq B\Bigg\}
        \end{split}
    \end{equation*} 
\end{document}

如果您仍然想要自动调整大小,您可以使用这个小技巧:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{amsmath, amsthm, amssymb, mathtools, thmtools, unicode-math}

\begin{document}
    \begin{equation*}
        \begin{split}
            |\mu|(B):=\sup\left\{\vphantom{\biguplus_{i=1}^k}\right.&\sum_{i=1}^k|\mu(B_i)|:k\in\mathbb N\text{ and} \\
            &\left. B_1,\ldots,B_k\in\mathcal E\text{ are disjoint with }\biguplus_{i=1}^kB_i\subseteq B\right\}
        \end{split}
    \end{equation*} 
\end{document}

答案3

我会按照以下方式写出你的方程式:

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{amssymb, amsthm, mathtools, thmtools}
\DeclarePairedDelimiter\abs{\lvert}{\rvert}
\usepackage{unicode-math}

\begin{document}
    \[
\abs{\mu(B)}\coloneqq \sup \sum_{i=1}^k\abs{\mu(B_i)},\quad
    \begin{cases}
        k\in\mathbb N\text{ and} \\
        B_1,\dotsc,B_k\in\mathcal{E}\text{ are disjoint with }
            \smash[t]{\biguplus\limits_{i=1}^k B_i \subseteq B}
    \end{cases}
    \]
\end{document}

上述代码中的某些解决方案是从 @Mico 的优秀回答 (+1) 中窃取的。

相关内容