排版多个集合约束

排版多个集合约束

我不知道要搜索什么,所以我添加了一张我想要的图片。基本上,我想在右侧写多个设置约束(见下文)。如何在 latex 中实现这一点?

在此处输入图片描述

答案1

类似这种类型的东西吗?

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\begin{document}
\[
U=\left\{ (u,v) \;\middle\vert\;
   \begin{array}{@{}l@{}}
   u, v\colon \mathbb{R}^d\to[0,\infty) \\ 
   \text{bla bla bla}\\
   u+v<7 
   \end{array}
\right\} 
\]
\end{document}

答案2

另一个解决方案,基于\DeclarePairedDelimiterXfrommathtools和``xparse`` 实现自然语法(我的意思是接近手写的语法):

\documentclass{article}

\usepackage{amssymb}
\usepackage{mathtools}
\usepackage{xparse} 

\DeclarePairedDelimiterX{\Set}[1]\{\}{\setargs{#1}}
\NewDocumentCommand{\setargs}{>{\SplitArgument{1}{|}}m}
{\setargsaux#1}
\NewDocumentCommand{\setargsaux}{mm}
{\IfNoValueTF{#2}{#1}{\nonscript\,#1\nonscript\;\delimsize\vert\allowbreak \nonscript\:\mathopen{}#2\nonscript\,}}

\begin{document}

\[ \Set*{(u, v) | \begin{array}{@{}l@{}}
        u, v: \mathbb{R}^d ―――→ [0,∞)\\[-0.5ex]
        \text{upper semi-continuous} \\[-0.5ex]
        u + v < 7
                        \end{array}} \]%

  \end{document}

在此处输入图片描述

相关内容