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@font
passiert:
\mathgroup\symoperators
Die gewählte Schriftart ist daher eine mathematische Schriftart und keine Textschriftart. Und das \fontfamily
hat keine Auswirkungen.
In Ihrem Fall möchten Sie wahrscheinlich
\DeclareMathOperator{\FMod}{\mathtt{Mod}}
pcr
wo 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}
Beachten Sie, dass dies einfach \fontfamily{pcr}
nicht ausreicht: Im Kontext einer Theorem-Aussage (in Kursivschrift) würde der Operatorname verzerrt dargestellt.