ノートの切れ端

その日やったことを書くだけ。

biblatexにおけるFamily nameとprefixの誤認識と一時的な対処法

卒論の時期になりLaTeXをゴリゴリ書く時間が増えましたが, 挙動になれないことが多々あったり...

今回は, 恐らくbiblatexがFamily nameをprefixと誤認識するために生じる問題とその場しのぎの対処法をメモする.

事前情報

はじめに私のbiblatexの設定は次の通り.

\usepackage[style=authoryear]{biblatex}

また適当な文献データベースファイルにつぎのような文献データがあるとする.

@article{hoge,
  title = {Information Geometry of hoge},
  author = {Yu, Hogehoge},
  journal = {Journal of hoge},
  year = {2018},
}
@article{huga,
  title = {Information Geometry of huga},
  author  = {nobuta, Hugahuga},
  journal = {Journal of huga},
  year = {2018},
}

状況設定

次のような出力結果になることを期待する.

その問題に対して, (Yu 2018) では〜というアプローチ

一般にこのような, "(author's family name, year)"の形による引用には\parencite{hoge}コマンドを利用する.

問題点

先程の出力を期待して, 次のようにLaTeXコードを記述する.

その問題に対して, \parencite{hoge}では〜というアプローチ

これによる出力結果は, 次のようになった.

その問題に対して, (H. Yu 2018) では〜というアプローチ

原因

文献データベースファイルにおけるauthorの記述方法は, ここによると次の3パターンらしい.

  • First von Last
  • von Last, First
  • von Last, Jr, First

ここでvonはName Prefixの別名, JrはName Suffixの別名である. 今回, \parencite{hoge}の出力において, Last Nameの前にFirst Nameのイニシャルが入る原因は, Last Nameが短く, Last NameをPrefixと誤認識している可能性が挙げられる. 実際, データベース内のhogeのauthorを author = {Yua, Hogehoge} とすると, その現象は生じない.

一時的な対処法

今回はPrefixがないため, author内では省略されている. 本来あるべきPrefixの代わりに\relaxを入れることで解決された. つまりLaTeXソース本体は変更せず, データベース内の文献情報のauthor部分を次のように変更する.

@article{hoge,
  title = {Information Geometry of hoge},
  author = {\relax Yu, Hogehoge},
  journal = {Journal of hoge},
  year = {2018},
}

追記(2018/01/12)

上記\relaxコマンドを1つ入れれば解決したが, First nameも短い場合, \relaxコマンドを2つ入れないと解消されなかった.