括号中的子堆栈

括号中的子堆栈

我有以下代码:

\begin{dcases}
\left\lbrace  j\in C/\!\!\!\!\!\!\!\!
\bigcup_{\substack{\scriptscriptstyle \forall c' \text{ s.t.\@}\\
\scriptscriptstyle \pi_{ic'}(\alpha)>\pi_{ic}(\alpha)}}
\!\!\!\! C'\ \middle|\ \omega_{ij}(\alpha)>0 \right\rbrace  & \mbox{if } \mathtt{max}_p(S_0) = \emptyset\\[5pt]

\left\lbrace  j\in C/\!\!\!\!\!\!\!\!\bigcup_{\substack{\scriptscriptstyle \forall c' \text{ s.t.\@}\\
\scriptscriptstyle c'\in\mathtt{isucc}(C),\\
\scriptscriptstyle \nexists c'' \text{ s.t.\@} \\
\scriptscriptstyle \pi_{ic''}(\alpha)>\pi_{ic'}(\alpha)}}\!\!\!\! 
C'\ \middle|\ \omega_{ij}(\alpha)>0 \right\rbrace &  \mbox{otherwise}
\end{dcases}&&

它产生以下结果:

在此处输入图片描述

整个东西都很难看。如何清洗?

尤其是,在 中的每个案例中dcases,括号都占用了太多空间。如果它们没有像 那样扩展到方程的顶部和底部(这是 的需要substack),它看起来会更干净。

还请建议任何更好的方法以更清晰的形式产生此结果。

答案1

大括号内没有必要涵盖那些复杂的情况:

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

\begin{document}

\begin{equation}
\begin{dcases}
\biggl\lbrace
  j\in C\bigg/
  \mspace{-18mu}
  \bigcup_{\scriptscriptstyle\substack{
    \forall c' \text{ s.t.}\\
    \pi_{ic'}(\alpha)>\pi_{ic}(\alpha)
  }}
  \mspace{-18mu}
  C' \biggm| \omega_{ij}(\alpha)>0
\biggr\rbrace
  & \text{if } \mathtt{max}_p(S_0) = \emptyset
\\[5pt]
\biggl\lbrace  
  j\in C\bigg/
  \mspace{-18mu}
  \bigcup_{\scriptscriptstyle\substack{
    \forall c' \text{ s.t.}\\
    c'\in\mathtt{isucc}(C),\\
    \nexists c'' \text{ s.t.}\\
    \pi_{ic''}(\alpha)>\pi_{ic'}(\alpha)
  }}
  \mspace{-18mu}
  C' \biggm| \omega_{ij}(\alpha)>0
\biggr\rbrace
  & \text{otherwise}
\end{dcases}
\end{equation}

\end{document}

在此处输入图片描述

答案2

我个人更喜欢以下形式: 在此处输入图片描述

获取宽度的代码如下:

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

    \begin{document}
\begin{equation}
    \begin{dcases}
    \begin{tabular}[t]{r|l}
$j\in \dfrac{C}{\bigcup\limits_{\substack{
                        \forall c' \text{ s.t.}\\
                        \pi_{ic'}(\alpha)>\pi_{ic}(\alpha)
                        \hphantom{''}%just for centering
                        }} C'}$
    & $\omega_{ij}(\alpha)>0$
    \end{tabular}   & \text{if } \mathtt{max}_p(S_0) = \emptyset    \\
    \begin{tabular}[t]{r|l}
$j\in \dfrac{C}{\bigcup\limits_{\substack{
                        \forall c' \text{ s.t.}\\
                        c'\in\mathtt{isucc}(C),\\
                        \nexists c'' \text{ s.t.}\\
                        \pi_{ic''}(\alpha)>\pi_{ic'}(\alpha)
                        }}  C'}$ 
    & $\omega_{ij}(\alpha)>0$
    \end{tabular}   & \text{otherwise}
    \end{dcases}
\end{equation}
    \end{document}

如果您希望将案例的每个部分都放在花括号中,则在每个表格之前和之后分别添加\left{right}

我希望我能理解你的等式......

编辑: 使用添加的array包(在 poreamble 中),您可以tabular在以下位置重写这两个环境:

\begin{tabular}[t]{>{$}r<{$}|>{$}l<{$}}

然后$ ... $省略表格中每个单元格。这可以稍微简化方程的编写。

相关内容