答案1
您可以使用以下方式设置多行内容array
:
\documentclass{article}
\usepackage{braket}
\begin{document}
\[
A = \left\{ b\ \middle\vert \begin{array}{l}
C, d \\
e, F, g
\end{array}\right\}
\]
% Using braket; see http://tex.stackexchange.com/q/32051/5764
\[
A = \Set{ b\ | \begin{array}{l}
C, d \\
e, F, g
\end{array}}
\]
\end{document}
答案2
您应该为这种对象定义一个唯一的结构,我建议\Set
在文档中描述该命令的变体mathtools
。
\documentclass{article}
\usepackage{mathtools,bm}
\providecommand\given{} % ensure it exists
\newcommand\givensymbol[1]{%
\nonscript\;\delimsize#1\allowbreak\nonscript\;\mathopen{}%
}
\DeclarePairedDelimiterX\Set[1]\{\}{%
\renewcommand\given{\givensymbol{\vert}}%
#1%
}
\begin{document}
\begin{gather*}
\Set{x\given y} \\
\Set[\big]{x\given (a+b)c} \\
\Set*{z \given
\begin{aligned}
& 1\le z_{(k,m)}^{l}\le 1+a_{(k,m)}^{l}\gamma_{(k,m)}^{l}(\bm{p}) \\
& \forall k\in\mathcal{K}, \forall m\in\mathcal{M},
\forall l\in\mathcal{L}, \forall\bm{a}\in\mathcal{A}^{\dagger},
\forall \bm{p}\in\mathcal{P}
\end{aligned}
}
\end{gather*}
\end{document}