情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

BibTeX:citeで複数引用する際に「White space in argument」エラーが出る原因と対策

BibTeX (2) LaTeX (24) 論文 (6)

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ファイルが生成されるのです。

これに気が付かないと、何度も何度もエラーが解消されずに、「あれ?どうして直らないんだろう?」と思ってはまってしまいかねません。要注意です。

コメント(0)

新しいコメントを投稿




  • カテゴリ ナビ
  • 著者紹介

    ブログが趣味で、 月間1,000万PV を達成しました。

    自分が困ったことをブログに書けば、次に困る人の参考になって、みんながみんな同じ苦労をせずに済む、というのが原点です。

    最近の関心は、スマホやパソコンに詳しくない人の行動や思考、 そしてそんな人を手助けする方法や枠組み。 また、それに関連するような、"身近な"セキュリティ。

    ※SNS(特にTwitter)でシェアされた記事は、内容の追加・更新を行っています。 必ず、ではありませんが、気に入った記事は積極的にシェアしてみてください。

    RSS | Facebook | Twitter | About