はじめに
BibTeX や biblatex を使用している際に,引用文献を任意の文字列で出力したくなったことはありませんか?
例えば,ある文献を本文中で Paper I のように呼ぶ場合などを想定しています.
他にも,日本語論文を書いている際に,本文中で英語を使用しなければいけない箇所(図表のキャプション中)では日本語文献であっても英語で出力したい場合があると思います(私はこの問題にぶつかったので解決方法を模索しました).
ハイパーリンクを使用していない場合はベタ打ちでもいいと思いますが,ハイパーリンクを埋め込みたい場合は一工夫必要です.
やり方自体は natbib のマニュアル にも書いてありますが,意外と知られていない気がしているので困っている人に届いてくれたら嬉しいです(「そんなこと知っているよ当然じゃない?」って人はごめんなさい).
やり方
\citet
を使った通常の出力方法
natbib
パッケージを使用するのでプリアンブルで忘れずに宣言してください.
\usepackage{natbib}
例えば bib
ファイルに以下のように記載したとします.
@inbook{奥村:技評2023,
author = {奥村, 晴彦 and 黒木, 裕介},
yomi = {Okumura, Haruhiko and Kuroki, Yusuke},
title = {[改訂第9版]\LaTeX 美文書作成入門},
publisher = {技術評論社},
pages = {172--188},
year = {2023}
}
このとき,論文末尾の文献一覧には以下のように出力されます(これは使用する bst
ファイルに依存します).
今書いている論文が日本語であった場合,本文中では以下のように使用します.
今回のケースは\citet{奥村:技評2023}の統計と一致している.
そうすると PDF には次のように出力されますよね(これも使用する bst
ファイルに依存します).
ここまではこの記事を読んでいる方には問題無いかと思います.
しかし,今書いている論文が日本語であっても図表のキャプションに限っては英語で書かなければいけない場合があります.
上図の 1. のような出力だと気持ち悪いですよね(日本語文献を引用する場合は問題無いという流派もありますか?私はよくわかりません).
上図の 2. のような出力がここでの目標です.
任意の文字列での出力方法
引用文献を任意の文字列で出力するコマンドとして \citetalias
と \citepalias
が用意されています.
ただし,どのような文字列で出力するのか宣言する必要があるので \defcitealias
コマンドを事前に読み込む必要があります.
キャプションの中には書けないようですが,\citetalias
よりも前の文章中で書いてあれば大丈夫です.
\defcitealias{奥村:技評2023}{Okumura and Kuroki (2023)}
The present case is in agreement with the statistics by \citetalias{奥村:技評2023}.
これだけで簡単に出力できます.
\citepalias
は括弧つきで出力してくれるコマンドです.
\citetalias
の \citep
バージョンだと思えばいいでしょう.
使い方は同じです.
\defcitealias{奥村:技評2023}{Okumura and Kuroki, 2023}
The present case is in agreement with the previous study \citepalias{奥村:技評2023}.
参考文献
CTAN: Package natbib(ターミナルで texdoc natbib
と打っても出てきます)