对具有大量成员资格标准的集合构建器符号进行排版的最佳做法是什么?

对具有大量成员资格标准的集合构建器符号进行排版的最佳做法是什么?

也就是说,我现在有类似以下内容的内容:

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

\begin{document}
We must have $(a^i,b^i,c^i) \in X^i(d) = \bigg\{(a,b,c)
    \in \mathbb R^A \times \mathbb R^B \times \mathbb R^C : $
\begin{displaymath}
    \begin{array}{l}
        1.\ d_0 \cdot (a_0 - b_0) + d_1 \cdot (b_0 - c_0) \leq 0  \\
        2.\ \sum_j c_j b^j \leq d_j \\
        3.\ \forall k \geq 1,
            d_k \cdot \left(a_k - b^h_k - F_k(x_{k^*})\right) \leq 
            \sum_k (b_k-c_k) \cdot \min \left(d_k \cdot G^j_k, m_k \right)
            \bigg\}
    \end{array}
\end{displaymath}
\end{document}

这产生了这个可怕的结果:

糟糕的 TeX 工作

如有任何关于如何消灭这个野兽的建议,我将不胜感激。

目标:

  • 让它看起来干净,
  • 并符合 TeX 最佳实践,
  • 特别是删除手动序列化
  • 以及手动、高度偶然的布局调整

限制:

  • 可供操作的水平空间有限,最终可能需要在与关闭装置不同的线上打开装置。
  • 显然,我不想在集合括号之外定义成员资格标准然后引用它们,除非我能确信这是表达集合的最简单/优雅的方式。

答案1

如果你用自然语言中的单词替换一些符号,我认为你会得到更清晰、更干净的结果;列表最自然的选择是环境enumerate;这是一种可能性:

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

\begin{document}
We must have $(a^i,b^i,c^i) \in X^i(d)$, where $X^i(d)$ is the set of all triples $(a,b,c) \in \mathbb R^A \times \mathbb R^B \times \mathbb R^C $ such that
\begin{enumerate}
  \item $d_0 \cdot (a_0 - b_0) + d_1 \cdot (b_0 - c_0) \leq 0$,
  \item $\smash[b]{\sum_j c_j b^j} \leq d_j$, and
  \item $\forall k \geq 1, d_k \cdot \left(a_k - b^h_k - F_k(x_{k^*})\right) \leq
    \sum_k (b_k-c_k) \cdot \min\bigl(d_k \cdot G^j_k, m_k \bigr)$.
 \end{enumerate}

\end{document}

在此处输入图片描述

相关内容