BibTeX鍵(キー)生成方法の調整

JabRef設定の「BibTeX鍵の生成」タブでは,BibTeXラベルの自動生成に使用されるフィールドを設定することができます.パターンは,標準的な項目型それぞれに対して設定することができます.データベースのタブを右クリックして出てくるメニュー「BibTeX鍵パターン」を使えば,当該データベース用の特定の鍵パターンを指定することができます.

鍵(キー)パターン

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

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

特殊フィールドマーカー

  • [auth]: 第1著者の姓
  • [authors]: 全著者の姓
  • [authorLast]: 末尾著者の姓
  • [authorsN]: N人めの著者までの姓.それよりも多い著者がいる場合は,その後に”EtAl”を付けます.
  • [authorsAlpha]: BibTeXスタイル「alpha」に対応します.著者1名の時:姓の最初の3文字.著者2〜4名:姓の最初の文字を繋げたもの.著者5名以上:最初の著者3名の最初の文字を繋げ,最後に「+」を付けたもの.
  • [authIniN]: 各著者の姓の頭部最大N文字.
  • [authorIni]: 第1著者の姓の最初5文字と,残りの著者の姓の頭文字.
  • [authN]: 第1著者の姓の頭部N文字.
  • [authN_M]: M番目の著者の姓の頭部N文字.
  • [auth.auth.ea]: 最初の著者2名の姓と,3名以上著者がいる時には「.ea」を追加.
  • [auth.etal]: 第1著者の姓の後に,著者が2名の時は第2著者の姓,著者が3名以上の時は「.etal」.
  • [authEtAl]: 第1著者の姓の後に,著者が2名の時は第2著者の姓,著者が3名以上の時は「EtAl」.これは,auth.etalに近いですが,著者同士が「.」によって区切られないことと,著者が3名以上の時に「.etal」ではなく「Etal」が付け加えられるところが違います.
  • [authshort]: 著者1名の時はその姓,著者2名以上の時は,3名までの著者の姓の最初の文字.4名以上の著者がいる時には,その後に+文字.
  • [authForeIni]: 第1著者の名のイニシャル.
  • [authorLastForeIni]: 最後の著者の名のイニシャル.

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

  • [edtr]: 第1編者の姓
  • [edtrIniN]: 各編者の姓の頭部N文字以内
  • [editors]: 全編者の姓
  • [editorLast]: 最後の編者の姓
  • [editorIni]: 第1編者の姓の頭部5文字と,残りの編者の姓の頭文字
  • [edtrN]: 第1編者の頭部N文字
  • [edtrN_M]: 第M編者の頭部N文字
  • [edtr.edtr.ea]: 最初の2編者の姓と,3名以上の場合は「.ea」を追加.
  • [edtrshort]: 編者1名の時はその姓,編者2名以上の時は,3名までの編者の姓の最初の文字.4名以上の編者がいる時には,その後に+文字.
  • [edtrForeIni]: 第1編者の名のイニシャル.
  • [editorLastForeIni]: 最後の編者の名のイニシャル.
  • [firstpage]: 発行物の最初のページ番号(注意:bibtexは7,41,73--97あるいは43+という表記をするので,pagesフィールド中の最小のページ番号を返します)
  • [keywordN]: “keywords”フィールドのN番目のキーワード.キーワードがコンマかセミコロンで区切られていると仮定します.
  • [lastpage]: 発行物の最後のページ(firstpageの註を参照)
  • [shorttitle]: タイトルの最初の3単語
  • [shortyear]: 出版年の下2桁
  • [veryshorttitle]: タイトルの最初の単語.「the」「a」「an」を除く.

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

  • :abbr: フィールド名や特殊フィールドマーカーで生成された文字列を短縮形にします.最初の文字と,その後は空白の次の文字のみを使います.例えば,[journal:abbr] は,ジャーナル名”Journal of Fish Biology”を”JoFB”と出力します.
  • :lower: フィールドマーカーが挿入した文字列を強制的に小文字にします.例えば,[auth:lower] は,第1著者の姓を小文字で出力します.
  • :upper: フィールドマーカーが挿入した文字列を強制的に大文字にします.例えば,[auth:upper] は,第1著者の姓を大文字で出力します.
  • :(x): xには任意の文字列を入れてください.この修正辞の前のフィールドマーカーの値が空の時,括弧の間の文字列を挿入します.例えば,[volume:(unknown)] というマーカーは,項目のvolumeフィールドが設定されていれば,それを返し,設定されていなければ,unknown を返します.

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

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

Yared1998 Yared1998a Yared1998b

正規表現での置換

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

鍵生成の設定

鍵生成の挙動は,必要に応じて変更することができます.当該セクションは,オプション → 設定BibTeX鍵の生成 タブにあります.