bibtex と biblatex の参考文献ファイルの互換性はありますか?

bibtex と biblatex の参考文献ファイルの互換性はありますか?

の回答ではbibtex 対 biber および biblatex 対 natbibBiber と BibTeX (および と biblatex) の利点と欠点がnatbib説明されました。ただし、1 つの点が省略されていました。それは、BibTeX と の間の書誌の互換性の問題ですbiblatex

BibTeX をしばらく使用すると、BibTeX スタイルの参考文献のコレクションが手に入ります。さらに、多くのジャーナルでは、ホームページで引用用の BibTeX エントリを提供しています。多くの参考文献管理プログラムは、BibTeX エクスポートをサポートしているか、BibTeX ファイルを直接管理しています。また、Emacs などの高度なエディターは、BibTeX 参考文献を特別にサポートしています。

つまり、BibTeX 書誌を作成および管理するための大規模なインフラストラクチャと、既存の書誌の膨大なストックがあります。さらに、他の質問で指摘されているように、natbibかなりの数のジャーナルで使用されている と Biber を一緒に使用することはできません。

したがって、次の疑問が生じます。Biber の参考文献形式は、BibTeX の参考文献形式と互換性がありますか? 互換性がない場合でも、少なくとも自動変換ツールはありますか?

どちらの方向も興味深いことに注意してください。Biber が既存の BibTeX 書誌を使用できない場合、これは既存のすべての BibTeX 書誌を変換する必要があることを意味し、ジャーナルの BibTeX エントリ (Biber も提供している場合を除く。多くの場合、BibTeX と EndNote のみ) と書誌管理プログラムからエクスポートされた書誌についても変換する必要があります。一方、Biber ファイルを BibTeX に使用できず、変換が存在しない場合は、 を使用するジャーナルでは Biber 書誌が役に立たずnatbib、BibTeX 書誌ファイルを直接解釈するプログラム (エディターのサポートを含む) は使用できなくなります。

また、Biber は BibTeX ファイルを読み取ることができますが、その逆はできません。ファイルが BibTeX 互換のものに制限されている場合でも、Biber は BibTeX よりも優れていますか?

答え1

Biber は、BibTeX 形式のファイルを解析するために、「btparse」という C ライブラリを使用します。このライブラリは、事実上、BibTeX と 99.9% 互換性があります。そのため、BibTeX の代替として Biber を使用する場合、問題が発生することはほとんどありません。他の人が述べているように、問題はむしろ、biblatexBibTeX のデータ モデルと比較したデータ モデルがわずかに異なることです。

したがって、あなたの質問は、バックエンドとして Biber を使用しているかどうかに関係なく、プレーンな BibTeX と BibLaTeX のデータ モデルの違いに関するものですbiblatex。将来的には、BibLaTeX 2.x あたりで、制限が多すぎるため、BibTeX はバックエンドとしてサポートされなくなることに注意してくださいbiblatex。もちろん、BibTeX 形式のデータ ファイルは今後もサポートされます。

さらに重要な質問は、あなたが言及しているように、biblatexデータ モデルの詳細をまったく使用していない場合でも、Biber の利点は何かということです。この点に関して、データ ソースの変更を必要とする機能を省略して、Biber の利点をいくつか示します (マニュアルで「Biber のみ」という文字列を検索すると、その概要がわかりますbiblatex)。

  • .bib(現在はRIS、Zotero RDF/XML、Endnote XML)以外のデータソースのサポート
  • リモート データ ソースのサポート ( .bibFTP または http 経由で利用可能なファイル)
  • 他の出力形式のサポート (0.9.8 では、データの視覚化と計画中の biblateXML 形式への変換のための GraphViz .dot 出力がサポートされます)
  • Unicode 6.0 の完全サポート (ファイル名と引用キーを含む)
  • おそらく市販の製品と同等かそれ以上のソート メカニズムです。完全な Unicode、複数フィールド、フィールドごとの大文字と小文字の区別、CLDR 対応、完全にユーザーによる設定が可能です。この点では、BibTeX は遠く及びません。
  • 名前と名前リストの自動的な曖昧さ解消。これは非常に印象的な機能だと思います。biblatexマニュアルのセクション 4.11.4 に、例を挙げて非常にわかりやすく説明されています。
  • 完全にカスタマイズ可能な相互参照継承ルール。BibTeX には非常に基本的な静的ルールのみがあります。
  • UTF-8 <-> LaTeX マクロを含む自動エンコードとデコード
  • 非常に柔軟な設定ファイル「sourcemap」オプションは、
    .bib実際のデータソース自体を変更することなく、Biber によって読み取られるデータを変更する
    ために使用できます。これを使用して、特定のフィールドの削除、フィールドの追加、条件付きフィールドの削除/追加、完全な Perl 5.14 正規表現を使用したフィールドの変更など、さまざまな操作を実行できます (ビーバーマニュアルセクション3.1.2を参照)。

.bibこの最後の機能は、Biber がファイルを読み取るときに、ファイルを変更せずに、純粋な BibTeXファイルをモデルにオンザフライでマッピングできるため、特に興味深いものです。また、LaTeX の予約文字が原因で問題が発生することが多いbiblatexフィールドを削除する場合にも非常に便利です。abstract

Biber に実装され、BibLaTeX 2.x で利用できる他の機能もいくつかあります。

  • カスタマイズ可能なラベル
  • 同じ参照セクションに複数の参考文献があり、それぞれに並べ替え/フィルタリングが可能である
  • 「関連」エントリ - これらすべての「転載」、「翻訳」などの要件の問題に対する一般的な解決策。

Biber は、ドキュメントに記載されている BibLaTeX フィールドとエントリタイプのマッピング (アドレス -> 場所など) を自動的に適用することを言及するのを忘れていました。これは、いくつかのドライバー レベルのソース マッピングを実装することによって行われます ( \DeclareSourcemapbiblatex ドキュメントの およびそのバリエーションを参照してください)。

答え2

原則として、biblatex/Biber の長所を活用すればするほど、従来の BibTeX ワークフローに戻ることが難しくなります。

BibTeX データベースをお持ちで、それを /Biber で使用する場合、biblatex調整が必要な箇所はわずかです。biblatexマニュアルの 2.3 章に次の点が記載されています。

  • エントリタイプ@inbook。詳細については、§§2.1.1および2.3.1を参照してください。
  • 機関、組織、発行者のフィールドと、別名の住所と学校。詳細については、§§ 2.2.2、2.2.5、2.3.4 を参照してください。
  • 特定の種類のタイトルの取り扱い。詳細については§ 2.3.5 を参照してください。
  • フィールドシリーズ。詳細については§§2.2.2および2.3.7を参照してください。
  • 年と月のフィールド。詳細については、§§ 2.2.2、2.3.8、2.3.9 を参照してください。
  • フィールドエディション。詳細については§ 2.2.2 を参照してください。
  • フィールドキー。詳細については§ 2.3.2 を参照してください。

おそらくすべての変更が問題になるわけではなく、すべてが実際に非互換性を引き起こすわけでもありません。

もちろん、深く掘り下げてbiblatex、その独自のタイプ、フィールド、機能を利用するほど、元に戻すことは難しくなります。両者間の変換の問題は、実際には意味をなさなくなります。これは実際には異なる形式の問題ではなく、biblatex単に BibTeX に同等のものがない多くのものを提供しているだけの問題だからです。

私にとって重要だった例を 1 つ挙げると、従来の BibTeX には、bookauthor人文科学の特定の分野では致命的となるフィールドがありません。 にbiblatexこのフィールドがあるという事実は、私が に切り替えた主な理由の 1 つでしたbiblatex。BibTeX はこのフィールドを認識しないため、この 2 つ間で有用な変換を行う合理的な方法はありません。他の多くのフィールドでも同じことが言えます。そのため、 に行くのは、biblatexある地点を越えた​​後は一種の一方通行になります。

答え3

BiberとBibTeX(つまり、バイナリドライバBiber は他の参考文献パッケージ (旧スタイルの BibTeX、) をサポートしていないため、引用に関して LaTeX によって生成された.bcfそれぞれのファイルを処理するために、参考文献パッケージを使用していると想定します。.auxbiblatexnatbib

書誌データベースに関して:AFAIK BiberはたいていBibTeX と互換性があります。ただし、整形式のエントリについてはより厳しいため、そのままでは「機能しない」ものが発生する可能性が高くなります。これらすべてをすぐに修正したくない場合は、 をbiblatexと一緒に使用するのbibtex8 -Wが一般的には良い回避策です。 を使用するためだけに、すぐに Biber に切り替える必要はありませんbiblatex

さらに深刻な問題は、古いスタイルの BibTeX とbiblatexデータベース エントリが 100% 互換性がないことです。実際、biblatex古いスタイルの BibTeX データベース形式の多くの特異性が解消されています。

たとえば、旧式の BibTeX には、住所を示すフィールドが 2 つあります。1 つはaddress出版社の住所で、これはすべてのエントリ タイプで使用されますが、 です@inproceedings。エントリでは、代わりに会場の を@inproceedings指定する必要があります。出版社の は指定できません (BibTeX はこれについて警告し、無視します)。では、どちらも「出版された場所」の同義語であり、 の方が理にかなっています。理論的には、同じエントリ内で両方を使用することはないためです。ただし、Web で見つかる多くのエントリ (ACM、IEEE など) には、locationaddress
biblatex@inproceedings両方、これは技術的には正しくありませんが。これらのエントリを個人.bibファイルにインポートして で使用するとbiblatexaddress(発行元の) がlocation会場の を上書きし、間違った情報になることがあります。

答え4

私が見つけた問題は、フォームのコメントが @COMMENT text BibTex の .bib ファイルでは機能するが、Biber では機能しないということです。

これについてはここでさらに詳しく説明します: biblatex ファイル内のコードコメント

関連情報