# Define additional math operators to be typeset in roman

Mathematical operators, such as function names, should be set in roman type, not italics. Latex already has commands for some operators, including \max, \min, and \log. How can I define additional such commands?

-

\DeclareMathOperator{\foo}{foo} and \DeclareMathOperator*{\hocolim}{hocolim} for sub- and superscripts in the limits position.

-
Great! I thought there was some way of handling the limits, but couldn't remember it. – Loop Space Jul 30 '10 at 18:56
Could someone clarify the one for sub/super-scripts? Would hocolim take sub/super-scripts, or would it appear in them? – Travis Bemrose Sep 27 '15 at 21:01

Alternatively, if you are using any of the packages from the AMS (amsart.cls or amsmath.sty) then there is a command \DeclareMathOperator which does what it says on the tin! For example,

\DeclareMathOperator{\Det}{Det}

I think that it can handle variants, but I don't recall off the top of my head.

-
Ah, you were faster :-) – Grigory M Jul 30 '10 at 18:57

As mentioned before, the amsmath command \DeclareMathOperator{\Det}{Det} is a good way to do this, but this is actually basically a wrapper for \newcommand{\Det}{\operatorname{Det}}. So if you only want to use the command once and don't want to define a symbol (especially useful if you are using an online tex editor), then just use \operatorname

And just like \DeclareMathOperator*, you can use \operatorname* to specify that underbraces should go underneath. This is useful for something like \operatorname*{minimize}. More info here

-

If you're looking for something one-off, you can always use \mathrm in a math environment like so:

\mathrm{ultimatefunction}(x)

Which will display 'ultimatefunction' in a roman type.

-
Note that \mathrm differs from \operatorname or \DeclareMathOperator in terms of spacing, and that the latter two are preferable to the first in this respect (see this answer for more detailed information). – Andrew Uzzell Nov 13 '12 at 12:09

Define the command \newoperator as follows:

\providecommand{\newoperator}[3]{%
\newcommand*{#1}{\mathop{#2}#3}}

Here is an example that defines \FD as an operator:

\newoperator{\FD}{\mathrm{FD}}{\nolimits}
-

If you need use this new operator only one time, maybe you could considere use

\text{operator}

in the math formula.

For example:  $$3 \cdot \text{FoO} (x)$$
-
Welcome to TeX.SX. A tip: If you indent lines by 4 spaces, then they're marked as a code sample. You can also highlight the code and click the "code" button ({}) or hit Ctrl+K. You may want to have a look to Why is [ … ] preferable to $$…$$? to better typeset equations. – Claudio Fiandrino Nov 27 '13 at 15:13
this won't always set the specified string in roman type; if it's within an italicized theorem environment, it will come out in italics. also, it won't accommodate limits correctly, if such are needed, and the spacing won't be quite the same as for a "real" operator. – barbara beeton Nov 27 '13 at 15:27