スポンサーリンク
BibTeXを実行したときに、「White space in argument」エラーが出てBibTeXが失敗する原因と対策を紹介します。エラー本文は長めなのですが、引用した「White space in argument」に注目できれば原因は分かりやすいのですが、ミスだと気が付きにくい上に、仕組みを意識しないと対策で手こずりそうなので、ちゃんと紹介します。
スポンサーリンク
エラー本文
エラー本文(全体)は次の通りです。
This is BibTeX, Version 0.99d (TeX Live 2013/W32TeX)
The top-level auxiliary file: paper.aux
White space in argument---line 3 of file paper.aux
: \citation{Paper1, : Paper2} I'm skipping whatever remains of this command The style file: society.bst Database file #1: References.bib Warning--empty booktitle in Paper2 (There was 1 error message)
これが表示されて、BibTeXの実行が停止してしまいます。
原因:複数引用する際の「cite」の使い方の問題
原因は、citeの使い方です。特に、複数引用する際の間違いです。
例えば、次のようにするとエラーになります。
\cite{Paper1, Paper2}
次が、正しい書き方です。
\cite{Paper1,Paper2}
良く見比べると分かるのですが、カンマの前後にスペースがあってはいけません。これがエラーの原因だったのです。
対策:ただ書き直してOKではない
実は、これを書き直してもう一度BibTeXを実行しても、同じエラーが出続けます。
どうしてかというと、BibTeXが処理しているファイルは.auxファイルであって、.texファイルを編集してもその修正が.auxファイルに反映されないからです。
つまり、修正したら、BibTeXを実行する前に、もう一度LaTeXを実行してください。LaTeXを実行することで、.auxファイルが生成されるのです。
これに気が付かないと、何度も何度もエラーが解消されずに、「あれ?どうして直らないんだろう?」と思ってはまってしまいかねません。要注意です。
スポンサーリンク
スポンサーリンク