>>760
あと、>>767 の1つ目のリンク先に

\newcommand\set[3]{\csname #3l\endcsname\{#1%
\,\csname#3\endcsname\vert\,%
#2\csname #3r\endcsname\}}

というやり方が出ている。

使用時は、

\set{A}{B}{\Big}

のようにすると、

\Bigl\{ A \Big\vert B \Bigr\}

のように展開される。出力結果は、{, |, } の3つとも高さが 「\Big」 で、

{ A | B }

となる。

\csname, \endcsname は、囲まれた部分が、マクロ展開された後に、
制御綴り (=マクロ名) と解釈される。