txfonts 수학 글꼴과 함께 Computer Modern \int 기호 사용

txfonts 수학 글꼴과 함께 Computer Modern \int 기호 사용

\int표준 과 패키지 \gammaup의 제품을 사용하고 싶습니다 txfonts. 이 기호들을 어떻게 혼합할 수 있나요?

MWE:

\documentclass{article}
\usepackage{txfonts}
\begin{document}
    Not the int I like, but the gammaup I do like:
    \[\int \gammaup\]
\end{document}

답변1

우연한 답변 :-)

패키지 는 더 이상 사용되지 않으며 일반적으로 (텍스트 글꼴의 경우) 및 (예상대로 수학 글꼴의 경우) txfonts로 대체할 수 있습니다 . 그러나 기호는 Computer Modern의 기호와 유사하므로 귀하에게 적합할 수 있습니다. 다음은 이들 간의 비교입니다(왼쪽에서 오른쪽으로: , Computer Modern 및 ).newtxtextnewtxmath\intnewtxmathtxfontsnewtxmath

여기에 이미지 설명을 입력하세요

\documentclass{article}
\usepackage{newtxtext}% For text font
\usepackage{newtxmath}
% From txfonts
\DeclareSymbolFont{largesymbolstx}{OMX}{txex}{m}{n}
\DeclareMathSymbol{\txintop}{\mathop}{largesymbolstx}{"52}
\DeclareRobustCommand\txint{\txintop\nolimits}
% From Computer Modern
\DeclareSymbolFont{largesymbolscmr}{OMX}{cmex}{m}{n}
\DeclareMathSymbol{\cmrintop}{\mathop}{largesymbolscmr}{"52}
\DeclareRobustCommand\cmrint{\cmrintop\nolimits}
\begin{document}
  \[\txint \cmrint \int \gammaup\]
\end{document}

기호를 찾으려면 소스를 약간 파헤쳐야 합니다(적어도 제가 한 방법은 그랬습니다. 더 좋은 방법이 있을 수 있습니다).

\cmrint

기호에 대한 Computer Modern 정의는 fontmath.ltxLaTeX 수학 글꼴이 초기화되는 곳입니다. kpsewhich fontmath.ltx터미널에서 실행하여 해당 파일을 찾을 수 있습니다. \int코드에서 검색하면 다음과 같이 정의되어 있음을 알 수 있습니다.

    \DeclareRobustCommand\int{\intop\nolimits}

이는 ( TeX 프리미티브) 바로 위에 \int다음 과 같이 정의되어 있음을 의미합니다.\intop\nolimits\nolimits\intop

\DeclareMathSymbol{\intop}{\mathop}{largesymbols}{"52}

\mathop이는 글꼴의 슬롯 번호 "52(16진수 0x52) 에서 가져온 (연산자) 임을 의미합니다 largesymbols. 마지막으로 largesymbols글꼴은 다음과 같이 시작 부분에 선언됩니다 fontmath.ltx.

\DeclareSymbolFont{largesymbols}{OMX}{cmex}{m}{n}

이는 인코딩 OMX, 패밀리 cmex, 시리즈 m(edium), 모양 n(ormal)을 의미합니다.

위의 예를 만들기 위해 충돌을 피하기 위해 이름 을 및 largesymbolsto로 변경했습니다.largesymbolscmr\int(op)\cmrint(op)

\txint

fontmath.ltx조사 하는 대신 파일을 찾는 데 txfonts.sty사용한다는 점을 제외하면 프로세스는 비슷합니다 . 재정의 하지는 kpsewhich txfonts.sty않지만txfonts.sty\int명령LaTeX의 원본과 동일합니다. txfonts재정의하는 것은 largesymbols수학 글꼴입니다.

\DeclareSymbolFont{largesymbols}{OMX}{txex}{m}{n}

따라서 txfonts의 버전 을 사용하려면 해당 글꼴을 선언하고 다음 대신을 \int사용하는 별도의 복사본을 만들어야 합니다 .txexcmex

\DeclareSymbolFont{largesymbolstx}{OMX}{txex}{m}{n} % declare a TX copy of largesymbols
\DeclareMathSymbol{\txintop}{\mathop}{largesymbolstx}{"52} % declare a TX copy of \intop that uses the above
\DeclareRobustCommand\txint{\txintop\nolimits}

\txiint

이것은 위와 비슷합니다. 에서는 다음과 같이 정의되어 있음 txfonts.sty을 알 수 있습니다 \iint.

\re@DeclareMathSymbol{\iintop}{\mathop}{largesymbolsA}{33}
   \def\iint{\iintop\nolimits}

이전에 다음과 같이 정의된 를 사용합니다 largesymbolsA.

\DeclareSymbolFont{largesymbolsA}{U}{txexa}{m}{n}

\re@Declare...( 해당 패키지에 정의된 명령을 피하기 위해) 다음을 적용할 수 있습니다 .

\DeclareSymbolFont{largesymbolstxA}{U}{txexa}{m}{n}
\DeclareMathSymbol{\txiintop}{\mathop}{largesymbolstxA}{"21} % 33 (decimal) = "21 (hexadecimal)
\DeclareRobustCommand\txiint{\txiintop\nolimits}

글꼴에서 문자 모양을 찾을 수 있는 또 다른 방법은 fonttable다음과 같이 패키지를 사용하는 것입니다 {U}{txexa}{m}{n}.

\documentclass{article}
\usepackage{fonttable}
\begin{document}
\xfonttable{U}{txexa}{m}{n}
\end{document}

출력은 다음과 같습니다.

여기에 이미지 설명을 입력하세요

해당 글꼴의 슬롯 33에 이중 적분 문자 모양이 표시됩니다.

\cmriint

Computer Modern 글꼴에는 이중 통합 문자 모양이 없으므로 위의 접근 방식은 작동하지 않습니다. 그러나 다른 옵션도 있습니다:

amsmath다음과 같이 정의된 를 사용하여 (최대) 4개의 적분 기호를 에뮬레이트합니다 \MultiIntegral.

\newcommand{\MultiIntegral}[1]{%
  \edef\ints@c{\noexpand\intop
    \ifnum#1=\z@\noexpand\intdots@\else\noexpand\intkern@\fi
    \ifnum#1>\tw@\noexpand\intop\noexpand\intkern@\fi
    \ifnum#1>\thr@@\noexpand\intop\noexpand\intkern@\fi
    \noexpand\intop
    \noexpand\ilimits@
  }%
  \futurelet\@let@token\ints@a
}

그리고 다음 \iint과 같이 정의됩니다:

\ams@newcommand{\iint}{\DOTSI\protect\MultiIntegral{2}}

그러나 이는 기본 \intop문자 모양을 사용합니다. 글꼴을 변경하려면 위에 정의된 \MultiIntegral글꼴을 사용하는 복사본을 만들거나 재정의할 수 있습니다 \cmrintop.

다음을 사용할 수도 있습니다.esintComputer Modern 문자 모양(복제본)을 사용하여 여러 유형의 적분 기호를 정의하는 패키지입니다. Computer Modern 통합 기호를 다른 글꼴 패키지와 함께 사용하려면 esint모든 글꼴 패키지(및 ) 다음에 로드해야 합니다 amsmath.

관련 정보