ここでは LaTeX が出す警告メッセージを集めてあります。
他にLaTeX のエラーメッセージまたはTeX のエラーメッセージもご覧ください。
エラーメッセージが現れる場合とは異なり,
警告メッセージが現れる場合には処理が中断せずに一応続行してしまうため,
ともすると警告メッセージは軽視されがちです.
しかし,警告メッセージが現れた場合には
“処理結果が意図したものとは異なるものになっている可能性”があるため,
エラーメッセージと同等に注意を払うべきメッセージもあります.
なお,以下の記述では \somecs を“コマンド名を一般的に表す記号”として用いています.
メッセージに \somecs という文字列が現れているわけではないので注意してください.
また,メッセージは原則としてアルファベット順に並べ,
メッセージ中の“on input line lineno”(lineno は行番号)
という記述は原則として“...”と略し,
メッセージの 2 行目以降の先頭に現れることがある“(Font)”の類の
(メッセージが継続していることを表す)記述は省略しています.
対処法の説明はごく手短に述べています.
特に,フォントの属性に用いられる文字列の意味やフォント定義の与え方といった
NFSS に関することについては,NFSS に関する解説を含む文献
(例えば,『LaTeX コンパニオン』)を参照してください.
なお,自力では対処できそうにない場合には, 問題となっている状況が再現する完全な (すなわち,それ自身でタイプセット可能な \documentclass から \end{document} まで完備した)例を提示して, 問題点のチェックを然るべきところで依頼するとよいでしょう.
全般的な注意: 日本語を含む文書を作成する場合,和文文字の空白(いわゆる全角空白)は 「文法上無視される空白」ではない通常の文字であることに注意してください. 特に,ソースファイルのインデント(字下げ)を和文文字の空白で行うのは有害です.
NFSS1 のコマンド \somecs を用いた場合に現れるメッセージです.
→ メッセージ通り,\DeclareFontShape を用いて書き換えてください.
必要があれば,パッケージあるいはクラスファイルの作成者に連絡して訂正を促すことになるでしょう.
数式中では使えない \normalsize のようなコマンド
\somecs を数式中で用いた場合に現れるメッセージです.
→ 問題となっている \somecs を用いるのを取り止めるか,
\somecs を用いる箇所(あるいは \somecs の適用範囲)を
\mbox に入れるといった対処を施してください.
文字通り,tracefnt パッケージを用いない状態で \tracingfonts コマンドを用いた場合のエラーメッセージです.
→ tracefnt パッケージを読み込んでください.
\SetSymbolFont を用いた際に,バージョン version の数式で数式グループ group
に対して用いるフォントのエンコーディングを encoding_A から
encoding_B に変更した場合に現れるメッセージです.
→ 出力結果に問題がなければ,このメッセージは無視して構わないのですが,
念のため“エンコーディングの不一致部分”に属する文字が正しく出力されるかを確認してください.
正しく出力されていない文字があれば,そのような文字だけを出力するための数式グループを新設するか,
エンコーディングを揃えた適当な仮想フォントを使用する,といった対策をとることになります.
ある属性のフォントのフォント定義において,サイズ sizept ではサイズ関数 fixed
によってフォント fontname を用いることに設定している場合に現れるメッセージです.
→ 出力結果に問題がない(あるいは出力結果が意図どおりである)場合には,
このメッセージは無視して構いません.
出力結果に問題がある場合には,フォント fontname に対応するフォント定義を探して
(どの属性のフォントであるかはメッセージには現れていないので,
各種 fd ファイルの中身を検索してください)適宜変更してください.
属性 attributes のフォント定義において,サイズ sizept ではサイズ関数 subf
を用いてフォント fontname を用いることに設定している場合に現れるメッセージです.
→ 出力結果に問題がない(あるいは出力結果が意図どおりである)場合には,
このメッセージは無視して構いません.
正確に指定したとおりの属性をもった書体を用いたい場合には,
属性 attributes に対するフォント定義を適宜変更してください.
属性 attributes_A のフォント定義において,サイズ sizept では属性
attributes_B で代替する指定がなされている場合に現れることがあるメッセージです
(ただし,フォント定義によっては単に“LaTeX Font Info”として
log ファイルに記録されるだけのこともあります).
→ 出力結果に問題がない(あるいは出力結果が意図どおりである)場合には,
このメッセージは無視して構いません.
正確に指定したとおりの属性をもった書体を用いたい場合には,
属性 attributes_A に対するフォント定義を適宜変更してください.
属性 attributes のフォントについて,サイズ sizept では使用できないために,
サイズ altsizept が用いられた場合に現れることがあるメッセージです.
→ 出力結果に問題がない(あるいは出力結果が意図どおりである)場合には,
このメッセージは無視して構いません.
正確に指定したとおりのサイズを用いたい場合には,
属性 attributes に対するフォント定義を適宜変更
(例えば,type1cm パッケージを使用)してください.
このメッセージは size と altsize の差が \fontsubfuzz (LaTeX のデフォルトでは 0.4pt)を超えない場合には表示されません.
属性 attributes_A に対するフォント定義がなされていないために
属性 attributes_B で代替された場合に現れるメッセージです
(上段は通常の書体変更に伴うメッセージで,下段は文字 somethingを出力する際に一時的に
(その文字を含むような)属性への変更を必要とした場合のメッセージです).
→ 出力結果が“使用可能”なものでしたら,このメッセージは無視しても構いません.
“使用可能”でないほど書体の違いが問題になる場合には,
属性 attributes_A に対するフォント定義を与えてください.
属性 attributes のフォントをあるサイズで使用したときに,指定したサイズではなく別のサイズ size
にスケーリングする指定がなされている場合に現れることがあるメッセージです
(ただし,フォント定義によっては単に“LaTeX Font Info”として
log ファイルに記録されるだけのこともあります).
→ 出力結果に問題がなければ,このメッセージは無視して構いません.
このメッセージに対応する箇所の文字サイズが狂っている場合には,
属性 attributes に対するフォント定義を変更して,
スケーリング後の実寸が適切なサイズになるようにしてください.
ある属性のフォントについて利用できないサイズがあったためにサイズ代用が行われた場合に現れることがあるメッセージです
(difference は代用されたサイズとオリジナルのサイズの差の最大値です).
→ 出力結果に問題がない(あるいは出力結果が意図どおりである)場合には,
このメッセージは無視して構いません.
正確に指定したとおりのサイズを用いたい場合には,
各種のフォント定義を(例えば,type1cm パッケージを使用して)適宜変更してください.
フォント定義を変更すべき属性は log ファイルに記録されているメッセージ
“LaTeX Font Warning: Font shape `attributes' in size <size>
not available size <altsize> substituted ....”を調べればわかります.
このメッセージは difference が \fontsubfuzz (LaTeX のデフォルトでは 0.4pt) を超えない場合には表示されません.
フォーマットファイル作成時に,ある属性のフォントについて利用できないサイズがあったためにサイズ代用が行われた場合に現れることがあるメッセージです
(difference は代用されたサイズとオリジナルのサイズの差の最大値です).
→ 必要があれば各種の fd ファイルにおけるフォント定義を直接変更
(適切なサイズに対する定義を追加)した上でフォーマットファイルを再作成してください.
文書中で使用したフォント(の属性)の中にほかの属性で代替されたものがある場合に現れるメッセージです. 代替された属性に関する具体的な情報は,log ファイル中のほかの“LaTeX Font Warning” メッセージを読めば,知ることができます.
\cite または \nocite の引数に与えた参照キー key に対応する \bibitem が存在しない場合に現れるメッセージです
(上段は \nocite の場合で,下段は \cite の場合です).
→ まず,参照キーに与えた文字列が正しいかどうかをチェックしてください.
正しくない(あるいは不要なものである)場合には,問題の参照キーを修正するか削除してください.
正しい場合には,thebibliography 環境(文献リスト)に必要な \bibitem を補ってください.
\CheckCommand によって \somecs の定義が“意図どおりの”(多くの場合には,
LaTeX のデフォルトの)ものであるかどうかを検査した際に,
\somecs が再定義されたことが判明された場合に現れるメッセージです.
→ このメッセージを与えたパッケージまたはクラスファイル
(あるいは LaTeX 自身)を最新のものに更新してください.
ただし,pLaTeX は \@makefntext,\@setref といった一部のマクロを再定義するため,
pLaTeX が再定義したものに関しても上記のメッセージが現れることがあります.
その場合には,作成している文書の処理に支障がなければこのメッセージを無視しても構いません.
支障がある場合には… メッセージ中の \somecs の再定義に関わる部分を
pLaTeX で用いることができるように変更することになります.
$\^a$ のように数式中では使えないコマンド \somecs を数式中で用いた場合に現れるメッセージ
(のひとつ)です.
→ 今の例で言えば $\^a$ を $\hat{a}$ に変更する,という具合に
\somecs を数式用のコマンドで書き換えてください.
文字通り,thebibliography 環境の中身がない(\bibitem あるいは \item を
1 回も用いていない)場合に現れる警告メッセージです.
→thebibliography 環境内には少なくとも 1 個の文献項目を書き込んでください.
BibTeX を使用している場合には,基本的には文書を完成させてから
BibTeX を用いて bbl ファイルを作成してください
(BibTeX 併用時の参考文献リストの作成手順については,然るべき参考書あるいは
qa:39022 を参照してください).
filecontents(*) 環境を用いてファイル filename を生成しようとした際に,
すでにこのファイルが存在していたため生成するのを取り止めた場合に現れるメッセージです.
→ 無視しても構いませんが,処理結果がおかしい場合にはファイル filename
の中身が filecontents(*) 環境から生成させたものと一致するかどうかを確認してください.
一致しない場合には,すでに存在しているほうのファイル filename
を削除するか退避させたのち,filecontents(*) 環境から生成させたものを用いてください.
float(figure,table の両環境で取り扱われるような対象)の高さが大きすぎる
(版面の高さより size だけ大きい)場合に現れるメッセージです.
→ 配置する図表の類の寸法をチェックしてください.
必要があれば図表の全体を(\includegraphics のオプション指定や
\scalebox を用いて)縮小することになるでしょう.
filecontents(*) 環境内に改ページ文字(^^L)が存在する場合に現れるメッセージです.
→ (LaTeX のデフォルトの設定では改ページ文字は改段落とほぼ同じなので)
改ページ文字が空白行に変換されても問題はないでしょうから,
このメッセージは無視しても構わないでしょう.
本当に改ページ文字を用いなければならない場合には,
filecontents(*) 環境で生成させるのではなく,
作成済みのファイルを別途用意してください.
位置指定として h(あるいは !h)しかなされていない
float(figure,table の両環境で取り扱われるような対象)を
h 指定に従って配置することができなかった場合に現れるメッセージです.
→ 無視して構いません.
あくまでも h 配置にしたいというのでしたら,文書自身を手直しして,
問題となっている図を配置するだけのスペースを確保してください.
filecontents(*) 環境の終端の \end{filecontents}/\end{filecontents*} の後に文字列
text がある場合に現れるメッセージです.
→ \end{filecontents}/\end{filecontents*} の直後で改行してください.
ファイル oldfile に代わる新しいファイル newfile が用いられた場合に現れるメッセージです.
→ 読み込むファイル(パッケージ)の名称,
\documentclass のオプション指定などを変更して,
実際に用いられた newfile が読み込まれるように変更してください.
もし,本当に古い版の oldfile でなければ正しく処理されない場合には…
oldfile が利用可能であるような(以前の)システムで処理するか,
文書全体を現在の (p)LaTeX2e にあわせて書き換えてください.
LaTeX 文書中の \label{label} あるいは \bibitem{label}
が重複している場合に現れるメッセージです.
→ 重複している \label{label} あるいは \bibitem{label}
のいずれかを適宜書き換えるか,不要なものを削除してください.
文書中の相互参照に関する情報に変化があった場合に現れるメッセージです.
→ このメッセージが現れなくなるまで (p)LaTeX での処理を繰り返してください.
まれに,相互参照結果を更新したことによる文字列の長さの変化により, ある \label があるページとその次のページとを行ったり来たりすることがあります. 5 回程度処理を繰り返しても上記のメッセージが現れるようでしたら, この場合に該当するかどうかをチェックしてください. なお,この場合に該当すると… 文書自身を手直しするしかないのですが, 適宜 \newpage を用いて改ページ箇所を固定したり, (\pageref の結果が 99 と100 を行ったり来たりするような) 参照結果の長さが変動している \pageref の類を含む段落に“\looseness=1” あるいは“\looseness=-1”の指定を適用して段落の行数が不用意に増減しないようにする, といった方法が使えることもあります.
(同じ行に複数の傍注を記述した場合のように)傍注が衝突した場合に現れるメッセージです.
→ 出力結果に問題がなければ,このメッセージは無視しても構いません.
傍注がページ下端から下にはみ出しているといった不具合があるページに対しては,
\marginpar を用いる箇所を変更するか,\marginpar{\vspace{-100pt}...}
のような具合に傍注の位置をごまかしてください.
\maketitle を用いた際,\author による著者リストの登録がなされていない場合に現れるメッセージです
(使用するクラスファイルによっては現れないこともあります).
→ \maketitle 以前の部分で \author を用いてください.
figure 環境などの配置指定(オプション指定)に
h,t,b,p のいずれも含まれない場合に現れるメッセージです.
→ 適切な位置指定を行ってください.
\twocolumn のオプション引数の高さが大きすぎる場合に現れるメッセージです.
→ \twocolumn のオプション引数(1 段組部分)の記述を見直してください.
やむを得ない場合には,1 段組部分をいったん通常の 1 段組のテキストとして処理して
“末尾の 1 ページ未満の部分”とそれ以外の“完成したページ”
とに分割する見当をつけてください.
そして,“完成したページ”の部分は通常の 1 段組部分として処理し,
“末尾の 1 ページ未満の部分”のみを \twocolumn のオプションにしてください.
これは \twocolumn のオプション部分が float(figure,table の両環境で取り扱われるような対象)と同じ取り扱いを受けることによる制限です. なお,既存のクラスファイルの中で“文書の表題部分および概要だけを 1 段組にする” 処理を自動化している場合に概要部分が長すぎて上記のメッセージが現れる状況になると面倒ですが… その場合には諦めて概要部分を短くするか,使用しているクラスファイルの作成者に “長い概要”も処理できるようにする変更を求めることになるでしょう.
picture 環境内で短すぎる \line や大きすぎる \circle の類を用いたときに現れるメッセージです.
→ 適当な画像を作成して,それを \includegraphics で読み込むようにするのがよいでしょう.
picture 環境を用いるのでしたら,
といった対処を施してください.
\ref または \pageref の引数に与えたラベル label に対応する \label が存在しない場合に現れるメッセージです.
→ まず,ラベル文字列が正しいかどうかをチェックしてください.
正しくない(あるいは不要なものである)場合には,
ラベル文字列を修正するか問題となっている \ref,\pageref を削除してください.
正しい場合には,必要な \label を補ってください.
filecontents(*) 環境内にタブ文字が存在する場合に現れるメッセージです.
→ 特に(moreverb パッケージによる)\verbatimtabinput あたりで読み込むファイルでもなければ,
タブが空白文字に変換されても問題はないでしょうから,このメッセージは無視しても構わないでしょう.
本当にタブ文字を用いなければならない場合には,
filecontents(*) 環境で生成させるのではなく,
作成済みのファイルを別途用意してください.
LaTeX 文書中に重複した \label,\bibitem がある場合に現れるメッセージです.
→ log ファイルの中の“LaTeX Warning: Label `label' multiply defined.”
というメッセージを調べて,重複している \label{label} あるいは
\bibitem{label} のいずれかを適宜書き換えるか,不要なものを削除してください.
\ref,\pageref による相互参照あるいは \cite による文献の参照を行った際に,\label あるいは
\bibitem によって設定した参照キー以外の参照キーが用いられている場合現れるメッセージです
(ただし,aux ファイルの中身が確定しない間にも現れることがあります).
→ まず,文書全体をもう 1 回余分に (p)LaTeX で処理してください.
それでもこのメッセージが出ている場合には,log ファイルの中の
“LaTeX Warning: Reference `label' on page page undefined.”
あるいは
“LaTeX Warning: Citation `key' on page page undefined.”
というメッセージを調べて,必要な \label,\bibitem を補うか,
不要な \ref などを削除してください.
本文に属するテキストを含むはずのページ(あるいは 2 段組時の各段)が
float(figure,table の両環境で取り扱われるような対象)のみになった場合に現れるメッセージです.
→ figure 環境などの配置指定(それらの環境のオプション指定)に
! を多用するとこのメッセージが現れやすくなります.
メッセージに示されているページ上に配置されている figure 環境などを
p 指定で配置するとよいでしょう.
\documentclass のオプションに,クラスファイル自身のオプションではなくて,
しかも読み込んだパッケージでも使用されなかったもの
(メッセージの中の options)が存在する場合に現れるメッセージです.
→ \documentclass のオプション指定が正しいものであるか,必要なものであるかをチェックしてください.
世間には LaTeX 2.09 形式の記述を行ったドキュメントがいまだに存在し, そのようなものを読んだ人がときどき \documentclass[package,...]{class} のような具合にパッケージの読み込みを \documentclass のオプションにしていることがありますが, そのような場合にもこの警告が現れます. また,“LaTeX 2.09 形式の文書を無造作に LaTeX2e 形式に更新しようとした場合” にも同様のことが起こり得ます. これに該当するときには,パッケージの読み込みを \usepackage を用いて書き換えてください.
filecontents(*) 環境を用いてファイル filename を生成する場合に現れるメッセージです. ファイル filename がほかの重要なファイルと同じ名称である, というのでもなければ,このメッセージは無視して構いません.
filecontents(*) 環境の終端の \end{filecontents}/\end{filecontents*} の前に文字列
text がある場合に現れるメッセージです.
→ 無視しても構いませんが,念のため \end{filecontents}/\end{filecontents*}
の直前で改行しておくとよいでしょう.
\documentclass あるいは \usepackage/\RequirePackage のオプション指定で
version_A 版のクラスファイル class.cls あるいは
package パッケージを必要としているにもかかわらず,
処理時に用いたものはそれより古い version_B 版である場合に現れるメッセージです.
→ 処理結果に問題がなければ無視しても構いませんが,クラスファイル class.cls
あるいは package パッケージを更新するのが無難でしょう.
読み込んだクラスファイルあるいはパッケージのファイル名(class_A.cls あるいは
package_A.sty)とその中身(\ProvidesClass あるいは \ProvidesPackage
に記述してある文字列,class_B あるいはpackage_B)
が一致しない場合に現れるメッセージです.
→ とりあえず,クラスファイル class_A.cls あるいは
package_A パッケージを更新してください.
それでも上記のメッセージが出るようでしたら,
そのクラスファイルあるいはパッケージの作者に連絡して訂正を促すことになります.
クラスファイル(あるいはパッケージ)の中の \NeedsTeXFormat のオプション指定で
version_A 版の LaTeX(あるいは pLaTeX)を必要としているにもかかわらず,
処理時に用いたフォーマットファイルはそれよりも古い
version_B 版である場合に現れるメッセージです.
→ 処理結果に問題がなければ,このメッセージは無視しても構わないのですが…
むしろ (p)LaTeX システムを更新したほうがよいでしょう.