我有以下代码:
\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<{$}}
然后$ ... $
省略表格中每个单元格。这可以稍微简化方程的编写。