Como alterar a fonte dentro do \DeclareMathOperator?

Como alterar a fonte dentro do \DeclareMathOperator?

Amigos do LaTeX. Preciso alterar a fonte interna \DeclareMathOperator, mas minha tentativa inicial falhou, como mostra o exemplo abaixo. Como posso alcançar o resultado desejado?

\documentclass{article}
\usepackage{amsmath}

% change to Courier font family
\newcommand\myfont[1]{{\fontfamily{pcr}\selectfont#1}}
\DeclareMathOperator\Mod{Mod}
\DeclareMathOperator\FMod{\myfont{Mod}}

\begin{document}

$\Mod A$% regular DeclareMathFont

$\FMod A$% attempt to change the font. No joy!
 
$\text{\myfont{Mod}}\,A$% the desired result. This has to be achieved using \DeclareMathFont

\end{document}

Editar: quero essa mudança de fonte para apenas um operador e preciso da mesma funcionalidade fornecida por \DeclareMathOperator(possibilidade de limites, espaçamento entre operador e operando, etc.)

Responder1

Ao fazer isso, \DeclareMathOperator{\foo}{foo}você está essencialmente definindo uma abreviação para \operatorname{foo}.

Bem, na verdade de

\qopname\relax o{foo}

que, por sua vez, é

\mathop {\relax\kern\z@\operator@font foo}\csname nolimits@\endcsname

e agora queremos ver o que \operator@fontacontece:

\mathgroup\symoperators

Portanto, a escolha da fonte é uma fonte matemática, não uma fonte de texto. E \fontfamilynão fará nada.

No seu caso, você provavelmente quer

\DeclareMathOperator{\FMod}{\mathtt{Mod}}

onde você alocou pcrcomo fonte para \mathtt. O kernel LaTeX faz

\DeclareMathAlphabet{\mathtt}{OT1}{cmtt}{m}{n}

e você provavelmente quer

\DeclareMathAlphabet{\mathtt}{OT1}{pcr}{m}{n}

Se não quiser alterar o padrão \mathtt, você pode usar \text:

\DeclareMathOperator{\FMod}{\text{\usefont{OT1}{pcr}{m}{n}Mod}}

Exemplo completo:

\documentclass{article}
\usepackage{amsmath}

% change to Courier font family
\newcommand\myfont{\usefont{OT1}{pcr}{m}{n}}
\DeclareMathOperator\Mod{Mod}
\DeclareMathOperator\FMod{\text{\myfont Mod}}

\begin{document}

$\Mod A$% regular DeclareMathFont

$\FMod A$% attempt to change the font: good!

\end{document}

insira a descrição da imagem aqui

Observe que isso \fontfamily{pcr}não é suficiente: no contexto de uma declaração de teorema (usando itálico), o nome do operador seria inclinado.

informação relacionada