【TeX】文献番号のスタイル変更【丸括弧や上付き文字にする】

TeX

参考文献の文献番号の表示スタイルを変更する方法についての覚書です。

参考文献リストの括弧を変える

参考文献リストの括弧を丸括弧(…)に変えるには、プリアンブルに次のように入れます。

\makeatletter 
\renewcommand{\@biblabel}[1]{(#1)} 
\makeatother

引用する際の文献番号のスタイルを変える

\cite で引用したときに表示される文献番号を、丸括弧にする場合は次のようにします。

\makeatletter 
\renewcommand{\@cite}[2]{({#1\if@tempswa , #2\fi})} 
\makeatother

上付きの丸括弧にするには、次のようにします。

\makeatletter 
\renewcommand{\@cite}[2]{\textsuperscript{({#1\if@tempswa , #2\fi})}} 
\makeatother

仕組み

上で再定義している「\@biblabel」や「\@cite」などの文献周りのコマンドの定義は、ltbibl.dtx で書かれています。(TeXをインストールしたファイルの中に入っています。)

元々 \@biblabel の定義は次のように書かれていて、これが文献リストの括弧の形を決めています。この四角括弧を丸括弧に書き直しただけです。

\def\@biblabel#1{[#1]}

\citeの定義も ltbibl.dtx というファイルを見て調べると、\@citeに行きついて、これが引用した際のスタイルを決めています。

\DeclareRobustCommand\cite{%
  \@ifnextchar [{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}}

\def\@citex[#1]#2{\leavevmode
  \let\@citea\@empty
  \@cite{\@for\@citeb:=#2\do
    {\@citea\def\@citea{,\penalty\@m\ }%
     \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
     \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi

\def\@cite#1#2{[{#1\if@tempswa , #2\fi}]}

したがって、この\@citeの定義を書き換えてやれば、欲しいスタイルが得られるという仕組みです。

コメント

タイトルとURLをコピーしました