Defining a new log-like function in LaTeX#

Use the \mathop command, as in :

% !TEX noedit
\newcommand{\diag}{\mathop{\mathrm{diag}}}

Subscripts and superscripts on \diag will be placed below and above the function name, as they are on \lim. If you want your subscripts and superscripts always placed to the right, do :

% !TEX noedit
\newcommand{\diag}{\mathop{\mathrm{diag}}\nolimits}

The amsmath bundle (in its amsopn package, which is automatically loaded by amsmath) provides a command \DeclareMathOperator that takes does the same job as the first definition above. To create our original \diag command, one would say :

% !TEX noedit
\DeclareMathOperator{\diag}{diag}

“”DeclareMathOperato* declares the operator always to have its sub- and superscripts in the « « limits » position ».

The amsopn command \operatorname allows you to introduce ad hoc operators into your mathematics, so \[ \operatorname{foo}(bar) \] typesets the same as

% !TEX noedit
\DeclareMathOperator{\foo}{foo}
...
\[ \foo(bar) \]

As with \DeclareMathOperator there’s a starred version “”operatornam* for sub- and superscripts in the limits position.

(It should be noted that « log-like » was reportedly a joke on Lamport’s part; it is of course clear what was meant.)


Source : Defining a new log-like function in LaTeX