
非常に似ているこれ質問:私は文書の(小さな)部分に異なるサンセリフの数式フォントを使いたいと思っています。これ上記の質問に対する答えは、\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}
たとえば、数字 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}
さて、数字正しいフォントからのものです。\SetSymbolFont
ただし、2 番目に同じアプローチを試しても失敗します。
\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.
出力からフォントが欠落していることがわかります。
文字(およびギリシャ文字)を正しいフォントで表示する方法はありますか?
pdflatex
とxelatex
/の両方を使用したアプローチがある場合lualatex
、私は主に に興味があります。なぜなら、 /と完全に互換性がないことがよく知られている パッケージpdflatex
も使用しているからです。 後者ではできることが、できないのであれば、 を捨てることを検討するかもしれません。microtype
xelatex
lualatex
pdflatex
microtype