문서의 일부에만 사용자 정의 수학 글꼴 사용

문서의 일부에만 사용자 정의 수학 글꼴 사용

매우 유사이것질문 내 문서의 (작은) 부분에 다른 산세리프 수학 글꼴을 사용하고 싶습니다. 제안한대로이것\DeclareMathAlphabet해당 질문에 대한 답은 다음과 같이 Computer Modern 글꼴을 사용하여 얻을 수 있습니다 .

\documentclass{article}

\DeclareMathVersion{sans}
\SetSymbolFont{operators}{sans}{OT1}{cmbr}{m}{n}
\SetSymbolFont{letters}{sans}{OML}{cmbrm}{m}{it}
\SetSymbolFont{symbols}{sans}{OMS}{cmbrs}{m}{n}
\SetMathAlphabet{\mathit}{sans}{OT1}{cmbr}{m}{sl}
\SetMathAlphabet{\mathbf}{sans}{OT1}{cmbr}{bx}{n}
\SetMathAlphabet{\mathtt}{sans}{OT1}{cmtl}{m}{n}
\SetSymbolFont{largesymbols}{sans}{OMX}{iwona}{m}{n}

\begin{document}

1234 CQ $1234 CQ$

\sffamily\mathversion{sans}
1234 CQ $1234 CQ$

\end{document}

컴퓨터 현대의 예


하지만 내 문서에서는 Roboto를 산세리프 글꼴로 사용하고 싶습니다. 이렇게 하면 문서와 수학 글꼴 간에 눈에 띄는 차이가 발생합니다.

\documentclass{article}

\usepackage[light,medium]{roboto}

\DeclareMathVersion{sans}
\SetSymbolFont{operators}{sans}{OT1}{cmbr}{m}{n}
\SetSymbolFont{letters}{sans}{OML}{cmbrm}{m}{it}
\SetSymbolFont{symbols}{sans}{OMS}{cmbrs}{m}{n}
\SetMathAlphabet{\mathit}{sans}{OT1}{cmbr}{m}{sl}
\SetMathAlphabet{\mathbf}{sans}{OT1}{cmbr}{bx}{n}
\SetMathAlphabet{\mathtt}{sans}{OT1}{cmtl}{m}{n}
\SetSymbolFont{largesymbols}{sans}{OMX}{iwona}{m}{n}

\begin{document}

1234 CQ $1234 CQ$

\sffamily\mathversion{sans}
1234 CQ $1234 CQ$

\end{document}

Roboto 예시 1

예를 들어, 숫자 1이나 문자 Q의 모양이 서로 다르다는 점에 유의하세요. 당연히 저는 수학과 문서의 산세리프 글꼴을 최대한 비슷하게 만들고 싶습니다. 이것은 확실히 특수 기호에는 (쉽게) 작동하지 않지만 Roboto 글꼴에서 숫자, 문자 및 이상적으로는 그리스 문자를 얻는 것은 이미 훌륭할 것입니다.


첫 번째를 바꾸면 \SetSymbolFont벌써 한 걸음 더 가까워질 수 있어요.

\documentclass{article}

\usepackage[light,medium]{roboto}

\DeclareMathVersion{sans}
\SetSymbolFont{operators}{sans}{OT1}{Roboto-LF}{l}{n}
\SetSymbolFont{letters}{sans}{OML}{cmbrm}{m}{it}
\SetSymbolFont{symbols}{sans}{OMS}{cmbrs}{m}{n}
\SetMathAlphabet{\mathit}{sans}{OT1}{cmbr}{m}{sl}
\SetMathAlphabet{\mathbf}{sans}{OT1}{cmbr}{bx}{n}
\SetMathAlphabet{\mathtt}{sans}{OT1}{cmtl}{m}{n}
\SetSymbolFont{largesymbols}{sans}{OMX}{iwona}{m}{n}

\begin{document}

1234 CQ $1234 CQ$

\sffamily\mathversion{sans}
1234 CQ $1234 CQ$

\end{document}

Roboto 예시 2

이제숫자올바른 글꼴에서 왔습니다! 그러나 두 번째에 대해 동일한 접근 방식을 시도하면 \SetSymbolFont실패합니다.

\SetSymbolFont{letters}{sans}{OML}{Roboto-LF}{l}{it}

결과

LaTeX Font Warning: Font shape `OML/Roboto-LF/l/it' undefined
(Font)              using `OML/cmm/m/it' instead on input line 19.

누락된 글꼴이 출력에서 ​​분명하게 나타납니다.

로보토 예시 3

올바른 글꼴로 문자(및 그리스 문자)도 얻을 수 있는 방법이 있나요?


pdflatexxelatex/ 를 모두 사용하는 접근 방식이 있는 경우 / 와 완전히 호환되지 않는 것으로 잘 알려진 패키지 도 사용하고 있기 때문에 lualatex주로 에 관심이 있습니다 . 후자가 그 일을 할 수 있지만 할 수 없다면 나는 여전히 버리는 것을 고려할 수 있습니다 .pdflatexmicrotypexelatexlualatexpdflatexmicrotype

관련 정보