lmodern を使用しているのに、computer modern に関する警告が表示されるのはなぜですか?

lmodern を使用しているのに、computer modern に関する警告が表示されるのはなぜですか?

フォントサイズ 13pt の KOMA スクリプトを使用したいと思います (関連する質問については、こちらをご覧ください:Koma ScriptとReal 13pt)。次の文書を検討してください。

\documentclass[fontsize=13pt,DIV=12]{scrartcl}

\usepackage{lmodern}
\usepackage[T1]{fontenc}

\begin{document}
test
\end{document}

次の警告が表示されます:

Class scrartcl Warning: Using fallback calculation to setup font sizes
(scrartcl)              for basic size `13pt' on input line 1564.

LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <13> not available
(Font)              size <12> substituted on input line 1564.

LaTeX Font Warning: Font shape `T1/cmr/m/n' in size <13> not available
(Font)              size <12> substituted on input line 100.

最初の警告は完全に理解していますが (計算されたフォント サイズには問題ありません)、LaTeX がコンピューターのモダン フォント (コンピューターのモダン ローマンの略だと理解しています) のフォントの形状が欠落していると文句を言う理由がわかりませんcmr

documentclass の前にを使用することでフォント形状の警告を取り除くことができます\RequirePackage{fix-cm}が、これは奇妙に思えます (computer modern ではなく lmodern を使用したいのです)。

警告を無視するのが安全だと思いますが (PDF には cm が含まれていません)、それでも何が起こっているのか理解したいと思います。フォント サイズの変更をlmodernロード後まで延期しようとしましたが、役に立ちませんでした。

[ 関連するドイツ語の質問と Markus Kohm による回答では、次を使用することが提案されていますlmodern:http://www.komascript.de/node/1137]

答え1

この警告は、Computer Modern フォントが「個別の」サイズでのみ使用可能であるという事実によるものです。問題は、fontsizeComputer Modern がまだデフォルトのフォントであるときに、Koma クラスがオプションを早すぎるタイミングで処理してしまうことです。

開始する前にロードすることで、誤った警告を削除できますfix-cm

\RequirePackage{fix-cm}
\documentclass[fontsize=13pt,DIV=12]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage{lmodern}

\begin{document}
test
\end{document}

あなたには

Class scrartcl Warning: Using fallback calculation to setup font sizes
(scrartcl)              for basic size `13pt' on input line 1564.

silenceパッケージを使用して削除しない限り、これは避けられません。

\RequirePackage{fix-cm}
\RequirePackage{silence}
\WarningFilter{scrartcl}{Using fallback}

\documentclass[fontsize=13pt,DIV=12]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{lmodern}


\begin{document}
test
\end{document}

別の戦略としては

\documentclass[DIV=12]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\normalfont
\KOMAoption{fontsize=13pt}
\recalctypearea

\begin{document}
test
\end{document}

しかし、私はそれをお勧めしません。

答え2

例を次のように変更すると

\documentclass[fontsize=13pt,DIV=12]{scrartcl}

\stop
\usepackage{lmodern}
\usepackage[T1]{fontenc}


\begin{document}

test
\end{document}

cmrがロードされる前に警告が表示されますlmodern。クラスはいくつかのフォントを設定しますが、これらは後で上書きされますが、それでもいくつかの警告が生成されます。

おそらくこれを実行しても安全です (ただし、これまで試したことはないと思います:-)

警告は受けない

\renewcommand\familydefault{lmr}
\renewcommand\encodingdefault{T1}
\selectfont
\DeclareErrorFont{T1}{lmr}{m}{n}{10}
\documentclass[fontsize=13pt,DIV=12]{scrartcl}


\usepackage{lmodern}
\usepackage[T1]{fontenc}


\begin{document}

test
\end{document}

関連情報