Scrbook: フォールバック計算を使用してフォントサイズを設定する

Scrbook: フォールバック計算を使用してフォントサイズを設定する

クラスを使用しscrbook、使用前にフォント サイズをカスタマイズすると\printbibliography、次の警告が表示されました (大きなドキュメントでは複数回表示されました)。

クラス scrbook 警告: 入力行 32 の基本サイズ「12pt」のフォント サイズ (scrbook) を設定するためにフォールバック計算を使用しています。

MWE:

\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[backend = biber]{biblatex}
\renewcommand*{\bibfont}{\normalfont\changefontsizes{12pt}}

\usepackage{filecontents}    
\begin{filecontents}{\jobname.bib}
@online{GLS:datasheet,
    title = "GLS Datasheet",
    organization = "Optoelectronics Research Centre",
    howpublished = "Website",
    date = "2004-09",
    urldate = "2013-07-01",
    url = "http://www.southampton.XXXX",
    address = "Southampton, United Kingdom"
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
\KOMAoptions{fontsize=12pt}
\nocite{*}
\printbibliography
\end{document}

予期しない結果を予想する必要がありますか? もしそうだとしたら、私はそれに対して何ができるでしょうか? そうでなければ、どうしてこれらの警告を無視できるでしょうか?

答え1

このメッセージは、KOMA-Script に指定されたフォント サイズの問題があることを示しています (KOMA-Script が使用するメカニズムについては、@cgnieder の回答を参照してください)。

なぜ だけを使わないのですか\documentclass[fontsize=12pt]{scrbook}? それなら\KOMAoptions{fontsize=12pt}と を削除できます\renewcommand*{\bibfont}{\normalfont\changefontsizes{12pt}}

フォントサイズを変更する低レベルコマンドの例は次のとおりです。

\fontsize{12pt}{14.5pt}\selectfont

または(フォントと標準フォントサイズによって異なりますが)\large12 pt フォントサイズを使用することもできます。11ポイントの標準フォントを使用している場合

タイトルページ、目次、参考文献を次のように囲むことができます。

{\fontsize{12pt}{14.5pt}\selectfont ...} 

部分のみ標準フォントサイズを変更します...

しかし、それは単なるハックです。私はこの驚くべきルールを無視して、どこでも 11 pt を使用します...

答え2

ここで、KOMA のオプションに関する背景を少し説明しますfontsize

以下はKOMA-Scriptのドキュメントのセクション3.5(ドキュメントのフォントサイズの選択)からの引用です。スクリュー、強調は私による:

fontsize=size

非常に限られた数のフォント サイズしか提供しない標準クラスや他のほとんどのクラスとは対照的に、KOMA スクリプト クラスは、メイン ドキュメントのフォントとして任意のフォントを選択できる機能を提供します 。このコンテキストでは、よく知られている任意の TeX 測定単位を使用できます。size測定単位のない数値を使用すると、 .pt

このオプションをドキュメント内で使用すると、メイン ドキュメントのフォント サイズとすべての従属サイズがこの時点で変更されます。これは、たとえば、全体的に小さいフォントを使用してもう 1 つの文字を設定する必要があるときなどに便利です。メインフォントサイズを変更しても、文字領域と余白が自動的に再計算されるわけではないことに注意してください。\recalctypearea35ページのセクション2.4を参照)。一方、文字領域と余白の再計算は、現在のメインフォントサイズに基づいて行われます。メインフォントサイズを変更した場合の影響は、追加でロードされたパッケージによって異なります。これにより、エラーメッセージやタイプセットエラーが発生する場合もありますが、これは KOMA-Script の欠陥とは見なされません。

説明されていないように見えるのはスクリューKOMA-Scriptの本(ドイツ語のみ)で読むことができます。リーマンズメディアが販売) は、オプションが呼び出されたときに KOMA スクリプトが実行する処理ですfontsize

  1. KOMA-Scriptを呼び出すと、fontsize=<xx>まずファイルを探しますscrsize<xx>.clo。ファイルが存在する場合、フォント サイズとリストのすべての設定はこのファイルを通じて設定されます。ちなみに、ファイルには typearea に関する情報は含まれていません。typearea はパッケージによって制御されますtypearea
  2. ファイルが存在しない場合は、KOMA スクリプトはファイルを検索しますscrsize<xx>pt.clo。これにより、ユーザーはユニットを省略できますpt
  3. 適合ファイルがまだ見つからない場合、KOMAスクリプトは適合ファイルsize<xx>.cloまたはを検索しますbk<xx>.clo。単位なし<xx>のサイズはここにありますpt。これらのファイルは、標準クラスのファイルまたはextsizesパッケージ。これらのファイルはクラスがロードされたときにのみロードできるため、クラスのロード後にフォント サイズを設定する場合はこの手順は省略されます。
  4. 適切な設定がまだ見つからない場合、KOMA-Script にはフォールバック ソリューションがあり、すべてのサイズが計算されます。KOMA-Script の本に記載されているように、これらの計算は手動で最適化された設定 (ファイル内の設定などclo) には匹敵しませんが、通常のワード プロセッサ プログラムの計算と似ています。

    この調査は、当然のことながら、手動での最適化設定によって妨げられることはありません。通常のテキスト処理よりも、より多くの機能が必要になります。

    この場合、KOMA-Script は、説明した警告とともに、最適な設定ではないことをユーザーに通知します。

KOMA のドキュメントには明示的には記載されていませんが、マクロの唯一の言及で暗黙的に記載されています。マクロは、\changefontsizesフォールバック ソリューションが使用されるときに KOMA-Script によって内部的に呼び出されるものです。つまり、KOMA-Script に、よりよいソリューションを探す機会さえ与えていないということです。KOMA-Script オプションを呼び出す適切な方法は、\KOMAoption{<option>}{<value list>}または を使用することです\KOMAoptions{<key value list>}

\KOMAoption{fontsize}{12pt}

MWE の場合、最善の解決策は、もちろん、承認された回答ですでに述べられているように、クラス オプションを使用してフォント サイズを設定することです。


警告などを黙らせることに関する2番目の質問については、silenceパッケージ。

関連情報