![Оператор ожидания](https://rvso.com/image/305910/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%20%D0%BE%D0%B6%D0%B8%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F.png)
Я использую следующую команду для набора текстаE[A|B]
\documentclass{article}
\usepackage{mathtools}
\DeclareMathOperator{\ExpOp}{E}
\DeclarePairedDelimiterX{\ExpArg}[1]{[}{]}{#1}
\newcommand{\Exp}{\ExpOp\ExpArg*}
\begin{document}
% usage:
$\Exp{A \mid B}$
\end{document}
Можно ли определить, \Exp
что принимается необязательный параметр размера, как \bigg
для скобок?
решение1
Поскольку \mid
это не имеет особого смысла \Exp{A \mid B}
(и не может быть масштабировано), я предлагаю спрятать внутри |
специально созданный макрос, предоставляющий нам макрос, который поддерживает условные операторы, включая масштабирование.
\documentclass[a4paper]{memoir}
% requires 2014 edition of mathtools
\usepackage{amsmath,amssymb,mathtools,bm,etoolbox}
\providecommand\given{}
\DeclarePairedDelimiterXPP\Aver[1]{\mathbb{E}}{[}{]}{}{
\renewcommand\given{ \nonscript\:
\delimsize\vert
\nonscript\:
\mathopen{}
\allowbreak}
#1
}
\begin{document}
\begin{align*}
\Aver{A}
\\
\Aver{A \given B }
\\
\Aver*{\frac{A^2}{B^2+1}}
\\
\Aver[\bigg]{\frac{A^2}{B^2+1} \given c }
\end{align*}
\end{document}
Кроме того, если у вас нет версии mathtools 2014 года, вы можете использовать это
\DeclarePairedDelimiterX\AverX[1]{[}{]}{
\renewcommand\given{ \nonscript\:
\delimsize\vert
\nonscript\:
\mathopen{}
\allowbreak}
#1
}
\newcommand\Exp{\mathbb{E}\AverX}
Я бы даже рассмотрел возможность использования\operatorname{\mathbb{E}}
Насколько я понимаю, \nonscript\:
заставляет \:
исчезать в контексте сценария. Так как \vert
этосимволнеизгородь, \vert - B
не дает минусзнака скореедобавлениеминус (неправильный интервал). \mathopen
заставляет потенциал -
вести себя как знак, а не как дополнение. \allowbreak
просто допускает переносы строк после \given
. Удалите, если не имеет значения (т. е. все условные предложения короткие).