For completeness here is the one I normally use
\usepackage{mathtools}
\DeclarePairedDelimiterX\Set[2]{\{}{\}}{#1\,\delimsize\vert\,#2}
Edit 2014. After using \Set{A}{B} for some time, this syntax is not particularly natural, too far from the actual meaning. Instead I'm now using this
\providecommand\given{} % is redefined in \Set
\newcommand\SetSymbol[1][]{\nonscript\:#1\vert\nonscript\:}
\DeclarePairedDelimiterX\Set[1]{\{}{\}}{
\renewcommand\given{\SetSymbol[\delimsize]}
#1
}
Now we can simply use
\Set{ x\in A \given x^2 > 1 }
much much closer to the mathematical meaning.
I use the \SetSymbol because there are very complicated set constructions, where one cannot use \Set (\{ and \} on separate lines), and thus in that case one may want to be able to refer to the given symbol for sets, just in case one want change the symbol later on.
\,\middle\vert\,– Gonzalo Medina Jul 22 '13 at 14:47\midis not a fence it is a binary symbol. I would also suggest making a macro for sets and thus hide the vertical line inside the macro. Then it is also easier to change syntax later on instead of having to do a lot of search and replace. (personally I tend to usemathtoolsto build such a set macro). – daleif Jul 22 '13 at 14:47\textfor operators, use say\operatornamefor once of, ot define\End.\textdoes not give you what you would expect in an italic context. – daleif Jul 22 '13 at 14:50\left(and\right)should be(and); increasing the size to cover the tilde is wrong. Then also the outer braces can be normal size or, if you really want them larger,\bigl\{and\bigr\}; you can then use\bigm|for the middle bar. – egreg Jul 22 '13 at 15:06\mid? – Werner Jul 22 '13 at 15:13$$, see Why is\[…\]preferable to$$? – Werner Jul 22 '13 at 15:14