謎の引用マークをクリアする

タイプミス、パスの欠落、パスの間違い、BibTeX と Biber の不一致。

謎の引用マークをクリアする

症状

文書はコンパイルされますが、引用が表示されるべき箇所に太字の疑問符「[?]」が表示され、ログには「LaTeX 警告: 引用 ‘knuth84’ 未定義」のような行が含まれます。すべての引用が影響を受ける場合もあれば、1 つまたは 2 つだけの場合もあります。これはエラーではなく警告であるため、PDF は引き続き構築され、読者が指摘するまでマークは見落とされやすくなります。

なぜそれが起こるのか

LaTeX は引用を直接解決しません。最初のパスで、要求された各キーを補助ファイルに記録します。バックエンド プログラム (bibtex または biber) は、それらのキーを .bib データベース内で検索し、フォーマットされたエントリを書き込みます。さらに 2 つの LaTeX パスで、結果が折り返されます。疑問符は、最後のパスの時点で、そのキーにフォーマットされたエントリが存在しなかったことを意味します。この症状の原因はすべて、パイプラインを破壊する何らかの方法です。

原因を順番に解決します

まずキー自体を確認してください。 \cite{knuth84}@article{knuth1984,...} は異なる文字列であり、大文字小文字の区別も含めて完全に一致します。 .bib ファイルで警告に指定されたキーを検索します。どちらかの側のタイプミスが最も一般的な原因であり、ログ内の最初のキー不足の警告が追跡対象となります。

次に、完全なコンパイル サイクルが実行されたことを確認します。シーケンスは、LaTeX、次に bibtex または biber、そしてさらに 2 回 LaTeX です。バックエンドがまだ実行されていないため、1 回のコンパイルでは引用を解決できません。 Oleafly はサイクル全体を自動的に実行しますが、手動でビルドしたり、エディターの構成が間違っていると、最初のパスの後に停止する可能性があります。

3 番目に、データベースのパスを確認します。 \bibliography{refs}\addbibresource{refs.bib} はメイン ファイルを基準にして解決されるため、サブフォルダー内のデータベースは bib/refs または bib/refs.bib として記述する必要があります。間違ったパスは静かに失敗し、通常は参照リスト全体も一緒にダウンさせます。その大きな失敗については、空の参考文献 を参照してください。

最後に、バックエンドをシステムに合わせます。 biblatex をロードするドキュメントは biber で処理する必要があります。古典的な bibtex を与えると使用可能な出力は生成されず、何度再コンパイルしてもすべての引用は疑問符のままになります。

他のすべてが失敗した場合

古い補助ファイルは、古い壊れた状態を保持する可能性があります。ドキュメントの隣にある .aux.bbl、および .blg ファイルを削除し、最初から再構築します。 .blg ファイルも削除する前に読む価値があります。これはバックエンド自身のログであり、欠落しているデータベースや不正な形式のエントリに明示的に名前を付けています。

出典を引用する に戻る