cangoxina

生産性向上見習いのブログ的な何かです

LaTeXでWarningをignoreする

LaTeXを使って修論を書いていたところ、謎のwarningがでました。

LaTeX Font Warning: Some font shapes were not available, defaults substituted.

LaTeX Font Warning: Font shape `JT2/mc/b/n' undefined
(Font)              using `JT2/mc/m/n' instead on input line 130.

LaTeX Font Warning: Font shape `JY2/mc/b/n' undefined
(Font)              using `JY2/mc/m/n' instead on input line 130.

〜〜似たようなwarningが続く〜〜

放置してても問題は無いようですが、嫌になったので、warningを見えなくしました*1


目次


3行でわかるignoreする方法

\usepackage{silence}
\WarningFilter{latexfont}{Some font shapes}
\WarningFilter{latexfont}{Font shape}

これで、上記のwarningをignoreできます。

簡単な解説

CTANにある、silenceというパッケージを使うことで、任意のwarningをignoreできます。

\WarningFilterコマンドで、ignoreするwarningを指定します。書式は以下の通りです。

\WarningFilter{パッケージ名}{ignoreしたいメッセージ}

今回ignoreしたいメッセージは、LaTeX Fontによるwarningだったため、第一引数のパッケージ名にはlatexfontを指定します。*2

まずは、Some font shapes were not available, defaults substituted.をignoreするために、\WarningFilter{latexfont}{Some font shapes}を宣言しました。第二引数はignoreしたいwarningメッセージに前方一致する文字列である必要があるようです。したがって、第二引数はSome font shapesとしています。

Font shapeから始まるwarningも同様に\WarningFilter{latexfont}{Font shape}を宣言することでignoreしています。

もっと知りたい人

他にも、エラーメッセージをignoreするコマンド(\ErrorFilter)や、メッセージをignoreするタイミングを調整するコマンド(\ActivateWarningFilters\DeactivateWarningFilters)といったコマンドが用意されています。

もっと知りたい人は、公式ドキュメントを参照してください。


*1:warningそのものを取り除くべきだと考えたのですが、何十行か追加しなければならなかったので止めました。

*2:LaTeX Fontがlatexfontだとわかった理由は、こちらのサイトで発見したためです。パッケージ名をlatexに指定しても、ignoreしてくれませんでした。場合によってはパッケージ名を探すのが大変かも知れません。


スポンサーリンク