Создание автоматического оператора ожидания условия?

Создание автоматического оператора ожидания условия?

Я хочу написать небольшой фрагмент кода для TeX, который создаст функцию, принимающую входные данные A и B и выводящую

$
\mathbb{E}\left[A \middle| B\right].
$

По сути, мне нужна "динамическая" \newcommandфункция. Возможно ли это? Если да, то как это сделать?

решение1

Вы можете очень просто определить такую ​​команду с помощью \DeclarePairedDelimiterXPPfrom 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

введите описание изображения здесь

\documentclass{article}

\usepackage{amsfonts}
\newcommand\expt[2]{\ensuremath{\mathbb{E}\left[#1\middle|#2‌​\right]}}

\begin{document}

 $\expt{P}{x} = \expt{Q}{y}$

\end{document}

решение3

Вот решение, использующее рекомендации самого Кнута (см. стр. 174 TeXbook) относительно горизонтального интервала, который следует использовать в выражениях, содержащих вертикальные черты для обозначения событий обусловливания.

введите описание изображения здесь

\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}

Связанный контент