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

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

% Dans le préambule
\newcommand{\diag}{%
    \mathop{\mathrm{diag}}}
% (...)
% Dans le document
\[\diag_1^n \]

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

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 « Comment positionner les limites des grands opérateurs ? »). :

% Dans le préambule
\newcommand{\diag}{%
    \mathop{\mathrm{diag}}\nolimits}
% (...)
% Dans le document
\[\diag_1^n \]

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

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

% Dans le préambule
\DeclareMathOperator{\diag}{diag}
% (...)
% Dans le document
\[\diag_1^n \]

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

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.

% Dans le préambule
\DeclareMathOperator*{\diag}{diag}
% (...)
% Dans le document
\[\diag_1^n \]

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

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

\[ \operatorname{foo}(bar) \]

Ceci sera équivalent à :

% Dans le préambule
\DeclareMathOperator{\foo}{foo}
% (...)
% Dans le document
\[ \foo(bar) \]

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

Ce qui suit est informatif car l'extension amstex est obsolète.

En \LaTeX 2.09, l'extension amstex définit les commandes \operatorname et \operatornamewithlimits.


Source: Defining a new log-like function in LaTeX

4_domaines_specialises/mathematiques/structures/operateurs/definir_un_nouvel_operateur.txt · Dernière modification: 2022/01/06 08:22 de yannick.tanguy
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0