# list of canonical math operators

some time ago I started to pay kind of much attention to math in latex, it is well known that

$sin x$


and

$\sin x$


are quite different, are there full list of such a canonical operators?

for example 2 days ago I figured out that there's also support for

$\min \max$


So I asked muself how many operators are supported this way

• As most people use the amsmath package, have a look at its manual, it has a list of what is offered (page 18). Jun 20 '17 at 8:08
• You can create anyone you want with \DeclareMathOperator\whatever{whatever}. Jun 20 '17 at 8:08
• @Manuel, yes, i know that there are \mathrm{} and \operatorname{}, I am more interested how many operators are supported way I asked :) Jun 20 '17 at 8:10
• any tex tutorial should have the basic list, although other packages may add more, see for example texdoc maths-symbols table 8 Jun 20 '17 at 8:18
• @M.Mass not, these are the ones that are predefined. Mathematicians make up a lot more operators/functions than are on the list. So often you will have to declare them your self, which is very easy, see \DeclareMathOperator Jun 20 '17 at 8:45

It's easy to find the complete list of the predefined operators by looking in amsopn.sty:

\def\arccos{\qopname\relax o{arccos}}
\def\arcsin{\qopname\relax o{arcsin}}
\def\arctan{\qopname\relax o{arctan}}
\def\arg{\qopname\relax o{arg}}
\def\cos{\qopname\relax o{cos}}
\def\cosh{\qopname\relax o{cosh}}
\def\cot{\qopname\relax o{cot}}
\def\coth{\qopname\relax o{coth}}
\def\csc{\qopname\relax o{csc}}
\def\deg{\qopname\relax o{deg}}
\def\det{\qopname\relax m{det}}
\def\dim{\qopname\relax o{dim}}
\def\exp{\qopname\relax o{exp}}
\def\gcd{\qopname\relax m{gcd}}
\def\hom{\qopname\relax o{hom}}
\def\inf{\qopname\relax m{inf}}
\def\injlim{\qopname\relax m{inj\,lim}}
\def\ker{\qopname\relax o{ker}}
\def\lg{\qopname\relax o{lg}}
\def\lim{\qopname\relax m{lim}}
\def\liminf{\qopname\relax m{lim\,inf}}
\def\limsup{\qopname\relax m{lim\,sup}}
\def\ln{\qopname\relax o{ln}}
\def\log{\qopname\relax o{log}}
\def\max{\qopname\relax m{max}}
\def\min{\qopname\relax m{min}}
\def\Pr{\qopname\relax m{Pr}}
\def\projlim{\qopname\relax m{proj\,lim}}
\def\sec{\qopname\relax o{sec}}
\def\sin{\qopname\relax o{sin}}
\def\sinh{\qopname\relax o{sinh}}
\def\sup{\qopname\relax m{sup}}
\def\tan{\qopname\relax o{tan}}
\def\tanh{\qopname\relax o{tanh}}


Maybe it's better to list them in a different way. First the operators that don't push limits above and below in display style (those with \relax o:

\arccos  \arcsin  \arctan  \arg  \cos   \cosh  \cot
\csc     \deg     \dim     \exp  \hom   \inf   \ker
\lg      \log     \sec     \sin  \sinh  \tan   \tanh


and then the ones that do (with \relax m):

\det  \gcd  \injlim  \lim      \liminf  \limsup
\max  \min  \Pr      \projlim  \sup

\varinjlim  \varprojlim  \varliminf  \varlimsup


(the last row lists some specially defined operators).

If you need other operators not listed here, you can use them with

\operatorname{foo}
\operatorname*{foo}


(for a one shot case) or define them with

\DeclareMathOperator{\foo}{foo}
\DeclareMathOperator*{\foo}{foo}


Note that the control sequence name need not be the same as the operator name; it's usually done in order to be remembered, but if the command turns out to already being defined, one has to choose a different name.

The * states that the limits are pushed above and below in display style.