Quiero escribir un pequeño fragmento de código que para TeX crearía una función que tome las entradas A y B y las salidas.
$
\mathbb{E}\left[A \middle| B\right].
$
Básicamente quiero una \newcommand
función "dinámica". es posible? Si es así, ¿cómo puedo hacer esto?
Respuesta1
Puedes definir dicho comando de forma muy sencilla con \DeclarePairedDelimiterXPP
from mathtools
. Este comando tiene una versión destacada, que equivale a un par de implícito \left…\right
y a \middle
, y una versión no destacada que acepta un argumento opcional para ajustar el tamaño: \big, \Big,\bigg
y \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}
Respuesta2
Respuesta3
Aquí hay una solución que utiliza las propias recomendaciones de Knuth: cf. pag. 174 del TeXbook, para el espaciado horizontal que debe usarse en expresiones que contienen barras verticales para denotar eventos condicionantes.
\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}