Wie ändere ich die Schriftart in \DeclareMathOperator?

Wie ändere ich die Schriftart in \DeclareMathOperator?

LaTeX-Freunde. Ich muss die Schriftart darin ändern \DeclareMathOperator, aber mein erster Versuch ist fehlgeschlagen, wie das folgende Beispiel zeigt. Wie kann ich das gewünschte Ergebnis erzielen?

\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}

Bearbeiten: Ich möchte diese Schriftartänderung nur für einen Operator und benötige die gleiche Funktionalität wie \DeclareMathOperator(Möglichkeit von Begrenzungen, Abstand zwischen Operator und Operand usw.).

Antwort1

Wenn Sie dies tun, \DeclareMathOperator{\foo}{foo}definieren Sie im Wesentlichen eine Abkürzung für \operatorname{foo}.

Nun, eigentlich von

\qopname\relax o{foo}

was wiederum

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

und jetzt wollen wir sehen, was \operator@fontpassiert:

\mathgroup\symoperators

Die gewählte Schriftart ist daher eine mathematische Schriftart und keine Textschriftart. Und das \fontfamilyhat keine Auswirkungen.

In Ihrem Fall möchten Sie wahrscheinlich

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

pcrwo Sie als Schriftart angegeben haben \mathtt. Der LaTeX-Kernel

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

und Sie wollen wahrscheinlich

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

Wenn Sie die Standardeinstellung nicht ändern möchten \mathtt, können Sie Folgendes verwenden \text:

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

Vollständiges Beispiel:

\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}

Bildbeschreibung hier eingeben

Beachten Sie, dass dies einfach \fontfamily{pcr}nicht ausreicht: Im Kontext einer Theorem-Aussage (in Kursivschrift) würde der Operatorname verzerrt dargestellt.

verwandte Informationen