BibTeX(キー)生成機構の自作

JabRef設定の「BibTeX鍵の生成」タブでは、BibTeXラベルの自動生成に使用されるフィールドを設定することができます。パターンは、標準的な項目型それぞれに対して設定することができます。

(キー)パターン

パターンには、特定の項目フィールドを(キー)内のその場所に入れることを示すフィールドマーカーの他、好きな文字列を含めることができます。フィールドマーカーは、[volume]のように、通常、フィールド名を角括弧で囲ったものです。鍵を生成するときに、項目内でフィールドが定義されていなければ、フィールドマーカーには何も挿入されません。

フィールド中の特定部分を抜き出す特殊フィールドマーカーがいくつか用意されています。これらを下記に列挙します。追加したい特殊フィールドマーカーがありましたら、ぜひお知らせください。

特殊フィールドマーカー

《註》(編集書籍など)著者がいない場合には、上記の[auth...]マーカーはすべて、編者を(ある場合には)代わりに使用します。したがって、著者のいない書籍の編者は、ラベル生成用には著者として取り扱われます。この挙動を望まない、即ち著者がいない場合は何も出力しないマーカーが必要な場合には、上記のコードにおいてauthの代わりにpureauthを使用してください。例:[pureauth][pureauthors3]など。

フィールド名(もしくは上記の準フィールド名)には、1つ以上の修正辞を後ろに付けることができます。修正辞は記述順に適用されます。

ある項目型に対して鍵パターンを定義していない場合には、既定鍵パターンが使われます。既定パターンは変更することができ、設定ダイアログの鍵パターンセクションの項目型一覧の上で設定します。

既定鍵パターンは[auth][year]となっており、これはYared1998のような鍵を生成します。現在のデータベース中で鍵が一意でない場合には、鍵が一意になるようにa-zのうち1文字を付け加えます。したがって、ラベルは以下のような形になります。

Yared1998
Yared1998a
Yared1998b

正規表現での置換

鍵パターンを適用して鍵を生成した後、鍵生成機構に特定の正規表現を検索させ、それを文字列で置換することができます。正規表現文字列と置換文字列は、鍵パターン一覧の下にあるテキストフィールドに入力します。置換文字列が空の場合、正規表現に一致した文字列は、生成された鍵から削除されます。例えば、置換対象に\p{Punct}あるいは[:/%]を入れ、置換文字列を空にした場合、鍵から不必要な文字を取り除くことができます。これは、BibTeX鍵にしたがってPDFの名前を付ける時便利です。