\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 및 ).newtxtext
newtxmath
\int
newtxmath
txfonts
newtxmath
\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.ltx
LaTeX 수학 글꼴이 초기화되는 곳입니다. 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)을 의미합니다.
위의 예를 만들기 위해 충돌을 피하기 위해 이름 을 및 largesymbols
to로 변경했습니다.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
사용하는 별도의 복사본을 만들어야 합니다 .txex
cmex
\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
.
다음을 사용할 수도 있습니다.esint
Computer Modern 문자 모양(복제본)을 사용하여 여러 유형의 적분 기호를 정의하는 패키지입니다. Computer Modern 통합 기호를 다른 글꼴 패키지와 함께 사용하려면 esint
모든 글꼴 패키지(및 ) 다음에 로드해야 합니다 amsmath
.