ptexlive で多言語文献参照パッケージ Babelbib を使ってみた。
LaTeX のマルチリンガルインタフェースとして Babel はデファクトスタンダードになっている。文献参照機能 BibTeX の世界でも Babelbib という Babel の言語切替に対応したパッケージが公開されている。Babelbib 2009 年 10 月の版でロシア語もサポートされた。ptexlive には初期導入されていて,すぐ使いはじめることができる。
pLaTeX2e においては BibTeX は jBibTeX を用いるのが主流だったが,ptexlive における日本語対応版は pBibTeX (pbibtex コマンド) という名称になっている。しかしながら,Babelbib を ptexlive で使う場合,pBibTeX ではなく BibTeX (bibtex コマンド) を使う。pBibTeX で文献データベース処理を行うとロシア語などでエラーになるからである。ptexlive ではキリル文字を欧文として扱う場合エスケープ形式 (文字を十六進数で表現した形式。例えば Ю を ^^d0^^ae で表す) にしなければならないが,pbibtex がこれをうまく処理できない。本家 bibtex ならうまく通るのである。
Babel を用いて ptexlive で日本語と外国語を混植するとき,稲垣さんの japanese.
Babelbib の使い方は,端末から texdoc babelbib と打ち込めば表示される Babelbib PDF ドキュメントを参照していただきたい。ごくごく簡単に記すと,プリアンブルに以下のように書いておく。
\usepackage[utf8x]{inputenc}
\usepackage[T2A,T1]{fontenc}
\usepackage[italian,german,french,russian,english,japanese]{babel}
\usepackage[japanese]{babelbib}% load japanese.bdf
japanese.bdf は Babelbib 標準言語ではないので,パッケージ・オプションに japanese を指定してロードするよう指示しておくことがポイントである。
日本語 BibTeX では \bibliographystyle として jplain や jabbrv が用意されているが,Babelbib では babplain などを使う。ただし,私が試した範囲では,ptexlive との組み合わせで,babplain, babplai3, babunsrt スタイル以外は動作しなかった。
サンプルを以下に示す。LaTeX 原稿 (mlbibjp.tex):
% -*- coding: utf-8; -*-
% mlbibjp.tex: BibTeX Babelbib test
% coded by isao yasuda.
\documentclass[b5paper]{jsarticle}
\usepackage[utf8x]{inputenc}
\usepackage[T2A,T1]{fontenc}
\usepackage[italian,german,french,russian,english,japanese]{babel}
\usepackage[japanese]{babelbib}
\setlength{\textwidth}{30zw}
\begin{document}
\begin{center}
\Large\bf ptexlive Babelbib試験
\end{center}
Bib\TeX{}は\texttt{pbibtex}ではなく\texttt{bibtex}で実行した。
\vspace{1em}
ロシア語:
\selectlanguage{russian}
Юрий Лотман написал это в лит.\cite[с. 256]{lotman1970}.
\vspace{1em}
\selectlanguage{japanese}
イタリア語:
\selectlanguage{italian}
Nel 1930 venne pubblicato ``\textit{La carne, la morte e
il diavolo nella letteratura romantica}'' (\cite{mario1930}),
un testo che tradotto in inglese nel 1933 contribuirà
ad estendere la sua fama in Gran Bretagna e Stati Uniti,
e provocherà invece forti reazioni contrarie in Italia,
fra cui quella di Benedetto Croce.
\nocite*
%% Choose one BibTeX style:
\bibliographystyle{babplain}% OK
%\bibliographystyle{bababbrv}% NG
%\bibliographystyle{babalpha}% NG
%\bibliographystyle{babunsrt}% OK
%\bibliographystyle{babamspl}% NG
\bibliography{ml}% see ml.bib
\end{document}
文献データベースファイル例 (ml.
% -*- coding: utf-8; -*-
% ml.bib: babelbib test
% coded by isao yasuda.
@book{curtius1961,
author={Curtius, E. R.},
title={Europäische Literatur und lateinisches Mittelalter},
year={1961},
address={Berlin},
language={german}
}
@inBook{mario1930,
author={Praz, M.},
title={La carne, la morte e il diavolo nella letteratura romantica},
year={1930},
address={Milano},
language={italian}
}
@book{lotman1970,
author={Лотман, Ю. М.},
title={Структуры художественного текста},
year={1970},
publisher={Искусство},
address={Москва},
language={russian}
}
@book{tynyanov1969,
author={Тынянов, Ю. Н.},
title={Пушкин и его современники},
year={1969},
publisher={Наука},
address={Москва},
language={russian}
}
@Book{gracq1938,
author={Gracq, Julien},
title={Au château d’Argol},
publisher={José Corti},
year={1938},
address={Paris},
language={french}
}
@Book{basho1970,
author={松尾 芭蕉},
editor={中村俊定},
title={芭蕉句集},
publisher={岩波書店},
year={1970},
address={東京},
language={japanese}
}
上記原稿をコンパイルし,PDF を生成するには以下のようにする。
% eplatex mlbibjp.tex % bibtex mlbibjp.aux % eplatex mlbibjp.tex % eplatex mlbibjp.tex % dvipdfmx mlbibjp.dvi
このとき注意が必要なのは,ロシア語,ギリシア語が原稿,文献データベースに含まれている場合,エスケープ形式にしておかないといけない点である。PTEX_
組版結果は以下のとおり。ここでは文献一覧をイタリア語環境で出力してみた。

mlbibjp.tex 処理出力