
Latex はこの数式をすべて圧縮してフォーマットします。 適切にフォーマットするにはどうすればよいでしょうか?
$\varphi' \gets \left\{ C_n \setminus C_i \middle| C_n \textrm{does not interfere with} C_i\right\}$
編集: これが私の解決策です。まさに私が望んでいるものを生成します。ただし、この間隔調整は手動ではなく、自動的に行う必要があります。これを簡単に行うためのマクロを定義するパッケージはありますか?
$\varphi' \gets \{\, C_n \setminus C_i \,|\, C_n \textrm{ does not interfere with } C_i\,\}$
答え1
以下にいくつかの提案を示します。
\documentclass{article}
\usepackage{mathtools}
\DeclarePairedDelimiter{\setbuildernotation}{\lbrace}{\rbrace}
\newcommand{\setbuilder}{\setbuildernotation}
\begin{document}
$\varphi' \gets \left\{ C_n \setminus C_i \middle| C_n \textrm{does not interfere with} C_i\right\}$
\medskip
$\varphi' \gets \{\, C_n \setminus C_i \,|\, C_n \textrm{ does not interfere with } \, C_i\,\}$
\medskip
$\varphi' \gets \setbuilder{C_n \setminus C_i \mid C_n \text{ does not interfere with } C_i}$
\medskip
% https://tex.stackexchange.com/q/2184/5764
$\varphi' \gets \setbuilder[\big]{C_n \setminus C_i \bigm\vert C_n \text{ does not interfere with } C_i}$
\end{document}
ペア区切り文字を宣言すると、必要に応じてコンテンツを拡大縮小できます。\left
...\right
をそのまま使用すると、スペースが適切に確保されない場合があります。ただし、代替手段が存在するこれはこれを改善します。