TeX用のちょっとしたコードを書きたいのですが、これは入力AとBを受け取り、出力AとBを出力する関数です。
$
\mathbb{E}\left[A \middle| B\right].
$
基本的に「動的」な機能が欲しいです\newcommand
。これは可能ですか? もし可能であれば、どうすれば実現できますか?
答え1
このようなコマンドは、\DeclarePairedDelimiterXPP
from を使って非常に簡単に定義できます。このコマンドには、暗黙のと のmathtools
ペアに相当する星印付きバージョンと、サイズを微調整するためのオプションの引数 と を受け入れる星印なしバージョンがあります。\left…\right
\middle
\big, \Big,\bigg
\Bigg
\documentclass{article}
\usepackage[utf8]{inputenc}%
\usepackage{mathtools, nccmath}
\providecommand\given{}
\DeclarePairedDelimiterXPP\EV[1]{E}[]{}{
\renewcommand\given{\nonscript\;\delimsize\vert\nonscript\;:}
#1}
\begin{document}
\[ \EV*{Z\given\frac{X}{Y}}\quad \EV[\Bigg]{Z\given\frac{X}{Y}} \quad \EV[\Big]{Z\given\mfrac{X}{Y}}\]%
\end{document}
答え2
答え3
ここでは、条件付けイベントを示すために縦棒を含む式で使用する必要がある水平方向の間隔について、Knuth 自身の推奨事項 (TeXbook の 174 ページを参照) を使用するソリューションを示します。
\documentclass{article}
\usepackage{amsfonts} % for '\mathbb' macro
\usepackage{amsmath} % for '\DeclareMathOperator' macro
\usepackage{mleftright} % for '\mleft' and '\mright' macros
\DeclareMathOperator{\E}{\mathbb{E}} % uncond'l expectation operator
\newcommand\coex[2]{\E\mleft[\,#1\;\middle|\;#2\,\mright]}
\begin{document}
$\coex{Y}{X}$, $\coex{W}{\dfrac{U}{V}}$
\end{document}