我使用以下命令来排版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\:
make 会消失。由于是\:
\vert
象征不是一个栅栏,\vert - B
不给出减号符号而是一个添加减号(错误的间距)。\mathopen
使势能-
表现为符号而不是加号。\allowbreak
只允许在之后换行\given
。如果不相关则删除(即所有条件都很短)。