LaTeX で参考文献の著者名のファーストネームをイニシャルに

LaTeX で論文などを書いているとき、参考文献の著者名のファーストネーム (first name) をイニシャルにする方法のメモ。

BibTeX を使う

LaTeX の参考文献の管理には BibTeX を使います。

bib ファイルのエントリ

*.bib ファイルの個々のエントリは例えば以下のようになります。

  @inproceedings(Sassano2004,
  author={Manabu Sassano},
  title={Linear-Time Dependency Analysis for {J}apanese},
  booktitle={Proc. of COLING 2004},
  year={2004},
  pages={8--14}
  )

参考文献の通常の出力

このとき、もちろん *.bst の内容によりますが、例えば以下のように出力されます。

  Manabu Sassano. 2004. Linear-time dependency analysis for Japanese.
    In Proc. of COLING 2004, pages 8-14.

ファーストネームをイニシャルに

参考文献のリストが長くなってくると、それだけでかなりのスペースを使う場合が出てきます。国際会議などページ数の制限がきつい場合は少しでも節約したくなります (指定されたスタイルに合致しているか確認して下さい)。

先の例を以下のようにしたいわけです。

  M. Sassano. 2004. Linear-time dependency analysis for Japanese.
    In Proc. of COLING 2004, pages 8-14.

一つのやり方は、直接 *.bib ファイルを修正してしまうことです (上の例では Manabu を M. に修正する)。でもこれはかなり強引です。修正箇所も多くなってしまいます。

bst ファイルを修正する

*.bst ファイルを修正する方法だと、参考文献の全ての項目でファーストネームをイニシャルにすることができます。

指定された *.bst を修正用にコピーします。例えば foo.bst なら myfoo.bst にコピーして、myfoo.bst を修正します。myfoo.bst の以下のような場所を探します。

  FUNCTION {format.names}
  ...
    { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
  ...

ff がファーストネーム、ll がラストネームのフォーマットを指定している部分です。これを以下のように書き換えて保存します。

  ...
  %    { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
      { s nameptr "{f.~}{v.~}{ll}{, jj}" format.name$ 't :=
  ...
f. で、ファーストネームがイニシャル + ピリオドになることを表しています。

最後に、 foo.bst の代わりに myfoo.bst を読み込むように指定して、latex の処理をやり直します。

参考ページ

下記のページを参考にさせていただきました。ありがとうございました。

関連するメモ

Home | Sitemap | Contact | Notes | Search


Last modified: $Date: 2016/07/22 13:49:09 $ (UTC) Since: 04/27/2009
RSS
NOTE-0050