![期望算子](https://rvso.com/image/305910/%E6%9C%9F%E6%9C%9B%E7%AE%97%E5%AD%90.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}
另外,如果你沒有2014版的mathtools,可以用這個
\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
。如果不相關則刪除(即所有條件都很短)。