====== Comment déclarer de nouveaux opérateurs mathématiques? ======

Pour cela, vous pouvez utiliser la commande ''\mathop''. Par exemple :

<WRAP column 45ex>
<code latex>
% Dans le préambule
\newcommand{\diag}{%
    \mathop{\mathrm{diag}}}
% (...)
% Dans le document
\[\diag_1^n \]
</code>
</WRAP>

<WRAP column 45ex>
<latexdoc>
\documentclass{article}
\usepackage{amsmath}
\pagestyle{empty}
\begin{document}
\newcommand{\diag}{\mathop{\mathrm{diag}}}
\[\diag_1^n \]
\end{document}
</latexdoc>
</WRAP>
<WRAP clear />

Les indices et les exposants associés à ''\diag'' seront placés en dessous et au-dessus du nom de la fonction, comme ils le sont pour la commande ''\sum''. Si vous voulez que vos indices et exposants soient toujours placés à droite, utilisez la commande ''\nolimits'' (Pour plus d'information, voir la question « [[https://faq.latex-fr.net/4_domaines_specialises/mathematiques/structures/operateurs/changer_la_position_des_limites_autour_des_sommes_et_integrales|Comment positionner les limites des grands opérateurs ?]] »). 
 : 

<WRAP column 45ex>
<code latex>
% Dans le préambule
\newcommand{\diag}{%
    \mathop{\mathrm{diag}}\nolimits}
% (...)
% Dans le document
\[\diag_1^n \]
</code>
</WRAP>

<WRAP column 45ex>
<latexdoc>
\documentclass{article}
\usepackage{amsmath}
\pagestyle{empty}
\begin{document}
\newcommand{\diag}{\mathop{\mathrm{diag}}\nolimits}
\[\diag_1^n \]
\end{document}
</latexdoc>
</WRAP>
<WRAP clear />

L'ensemble [[ctanpkg>latex-amsmath|amsmath]] (dans son extension [[ctanpkg>amsopn]] automatiquement chargée par l'extension [[ctanpkg>amsmath]]) fournit une commande ''\DeclareMathOperator'' qui effectue le même travail que la deuxième définition ci-dessus :

<WRAP column 45ex>
<code latex>
% Dans le préambule
\DeclareMathOperator{\diag}{diag}
% (...)
% Dans le document
\[\diag_1^n \]
</code>
</WRAP>

<WRAP column 45ex>
<latexdoc>
\documentclass{article}
\usepackage{amsmath}
\pagestyle{empty}
\DeclareMathOperator{\diag}{diag}
\begin{document}
\[\diag_1^n \]
\end{document}
</latexdoc>
</WRAP>
<WRAP clear />

Pour créer notre commande ''\diag'' originale, il faut utiliser la commande étoilée ''\DeclareMathOperator*'' qui génère un opérateur qui a toujours ses exposants et exposants. 

<WRAP column 45ex>
<code latex>
% Dans le préambule
\DeclareMathOperator*{\diag}{diag}
% (...)
% Dans le document
\[\diag_1^n \]
</code>
</WRAP>

<WRAP column 45ex>
<latexdoc>
\documentclass{article}
\usepackage{amsmath}
\pagestyle{empty}
\DeclareMathOperator*{\diag}{diag}
\begin{document}
\[\diag_1^n \]
\end{document}
</latexdoc>
</WRAP>
<WRAP clear />

La commande ''\operatorname'' de l'extension [[ctanpkg>amsopn]] vous permet d'introduire des opérateurs //ad hoc// directement dans vos mathématiques. Vous pouvez donc saisir :

<code latex>
\[ \operatorname{foo}(bar) \]
</code>

Ceci sera équivalent à :

<code latex>
% Dans le préambule
\DeclareMathOperator{\foo}{foo}
% (...)
% Dans le document
\[ \foo(bar) \]
</code>

Comme pour ''\DeclareMathOperator'', il existe une version étoilée ''\operatorname*'' pour gérer la position des indices et exposants. 

<note important>Ce qui suit est informatif car l'extension [[ctanpkg>amstex]] est obsolète.</note>

En <latex>\LaTeX</latex> 2.09, l'extension [[ctanpkg>amstex]] définit les commandes ''\operatorname'' et ''\operatornamewithlimits''.

-----
//Source:// [[faquk>FAQ-newfunction|Defining a new log-like function in LaTeX]]

{{htmlmetatags>metatag-keywords=(LaTeX,mode mathématique,écrire des fonctions mathématiques)
metatag-og:title=(Comment déclarer de nouveaux opérateurs mathématiques)
metatag-og:site_name=(FAQ LaTeX francophone)
}}