[Tex/LaTex] Declaring a math operator with cursor placement, e.g. expected value

macrosmath-operatorstexshop

I'd like to declare a new math operator \ev for representing the expected value, in the form: E<.> so that it looks like the following but with an argument

\DeclareMathOperator{\ev}{\mathrm{E}\left<\right>}

Is there a way of declaring a math operator to take an argument so that I can call it using \ev{.} or would a TeXShop macro be more appropriate that prints:

\mathrm{E}\left*<\right> where the cursor would be placed at *?

Best Answer

The best approach is with \DeclarePairedDelimiter of \mathtools:

\usepackage{mathtools}
\DeclarePairedDelimiter{\evdel}{\langle}{\rangle}
\newcommand{\ev}{\operatorname{E}\evdel}

This will allow you to say

\ev{x}
\ev[\big]{x}
\ev[\Big]{x}
\ev[\bigg]{x}
\ev[\Bigg]{x}
\ev*{x}

The first will use the delimiters at natural size, in the following four lines the size of the delimiters is selected, the last line shows how to use automatic sizing (which should be used sparingly and only when really necessary).

Complete example:

\documentclass{article}
\usepackage{mathtools}
\DeclarePairedDelimiter{\evdel}{\langle}{\rangle}
\newcommand{\ev}{\operatorname{E}\evdel}

\begin{document}

$\ev{x}$
$\ev[\big]{x}$
$\ev[\Big]{x}$
$\ev[\bigg]{x}$
$\ev[\Bigg]{x}$
$\ev*{\dfrac{x}{2}}$

\end{document}

enter image description here