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 処理出力