I don't know what to search, so I'm adding a picture of what I want to do. Basically, I want to write multiple set constraints on the right hand side (see below). How do I accomplish this in latex?
Asked
Active
Viewed 749 times
2 Answers
3
Something of this type?
\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}
Mico
- 506,678
Sebastiano
- 54,118
-
2+1. I've taken the liberty of streamlining your code slightly, e.g., by using
\;\middle\vert\;. Feel free to revert. – Mico Jul 17 '19 at 17:32 -
2@Mico You are ALWAYS welcome into my heart. Very best user can take the liberty to edit my code. Grazieeeeeeeeeeeeeeeeeeeeeeeeeeeee. – Sebastiano Jul 17 '19 at 18:43
-
-
1@yoshi the concept is not simple. It only serves to correctly align the array to have the three relationships aligned to the left: see for example this link https://tex.stackexchange.com/questions/207457/question-about-used-in-array-environment. See also the another answer of great user Bernard. – Sebastiano Jul 17 '19 at 21:47
2
Another solution, base on \DeclarePairedDelimiterX from mathtools and``xparse` for a natural syntax (I mean, close to what one writes by hand):
\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}
Bernard
- 271,350


mathtools, §3.6Paired delimiters. – Bernard Jul 17 '19 at 16:42