라텍스 친구들. 내부의 글꼴을 변경해야 \DeclareMathOperator
하지만 아래 예와 같이 초기 시도가 실패했습니다. 원하는 결과를 어떻게 얻을 수 있습니까?
\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}
편집: 한 연산자에 대해서만 이 글꼴을 변경하고 싶고 \DeclareMathOperator
(한계 가능성, 연산자와 피연산자 사이의 간격 등) 에서 제공하는 것과 동일한 기능이 필요합니다.
답변1
그렇게 하면 \DeclareMathOperator{\foo}{foo}
본질적으로 에 대한 속기를 정의하는 것입니다 \operatorname{foo}
.
글쎄요, 실제로는
\qopname\relax o{foo}
이는 결국
\mathop {\relax\kern\z@\operator@font foo}\csname nolimits@\endcsname
이제 우리는 무엇을 \operator@font
하는지 보고 싶습니다:
\mathgroup\symoperators
따라서 글꼴 선택은 텍스트 글꼴이 아닌 수학 글꼴입니다. 그리고 \fontfamily
아무것도 하지 않을 것입니다.
귀하의 경우에는 아마도
\DeclareMathOperator{\FMod}{\mathtt{Mod}}
pcr
의 글꼴로 할당한 곳입니다 \mathtt
. LaTeX 커널은
\DeclareMathAlphabet{\mathtt}{OT1}{cmtt}{m}{n}
그리고 당신은 아마도 원할 것입니다
\DeclareMathAlphabet{\mathtt}{OT1}{pcr}{m}{n}
기본값을 변경하지 않으려면 다음을 \mathtt
사용할 수 있습니다 \text
.
\DeclareMathOperator{\FMod}{\text{\usefont{OT1}{pcr}{m}{n}Mod}}
전체 예:
\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}
그것만으로는 \fontfamily{pcr}
충분하지 않습니다. 정리문의 맥락에서(이탤릭체 사용) 연산자 이름이 기울어질 수 있습니다.