Teubner Philological Typesetting, OldSlav 1.3

最近,というかここ数年,LaTeX から遠ざかってもいたし,TeX Live 2013 を導入して少し遊んでみた。

LaTeX ユーザは,まず間違いなく,その数式の比類ない美しさに魅せられて使いはじめたのだと思う。そう,LaTeX の数式の組版は本当に美しい。数学の美しさそのものである。これが二十年以上も昔から使われ続けているということ。私からすれば,iPhone,iPad,その他,ごちゃごちゃ現れた IT の新しいおしゃれな顔ぶれが皆つまらない空騒ぎに思われてしまう。

私のような文科系ユーザにとっても,LaTeX は出版文化のデスクトップ上の再現ツールとして魅力的なんである。外国語,漢籍,古文献の引用を巧みに実現できることにおいて,LaTeX はその数式組版能力と同様,他の文書作成ソフトウェアを質的に圧倒している。これに関しては,Microsoft Word,一太郎,Keynote がどんなに進化しようとまったく LaTeX に追いつくことがない。

閑話休題。久しぶり Teubner ギリシア語文献学パッケージを使ってみた。Teubner もいまや CB 古典ギリシア語フォントとともに TeX Live に標準で組み込まれているので追加の作業は何もいらない。

Teubner ギリシア語文献学パッケージ

Teubner(トイプナー)はその名のとおり,ドイツの有名な古典語文献出版社の活動に敬意を表して,イタリアの Claudio Beccari クラウディオ・ベカリ氏が開発した LaTeX マクロ集である。Babel 多言語パッケージ・ギリシア語言語環境の拡張として位置づけられるわけだが,ギリシア語文献学で用いられる特殊な記法,ギリシア語数字様式を完備しているところに大きな特徴がある。西洋古典文献学を専門にしている学徒にとっては,無くてはならない LaTeX スタイルではなかろうか。

私自身はギリシア語について学生のころに齧った程度である以上,Teubner の高機能は「ねこに小判」なんである。それでも,その Metrics(韻律学)関連機能はロシア詩の組版でも有用である。Teubner は韻律記号のほか,versi 等,古典ギリシア詩の引用のためのマクロを備えており,これがロシア語環境でも通用するのである。こういう点が Teubner の文献学アプローチの凄いところ。ドキュメントには以下のようなギリシア詩文献引用例が掲載されている。

20140404-poezija-0.png
図 1. Teubner 詩環境例

これらは Babel greek ギリシア語言語環境でなくても使用できる。私もロシア詩の引用で頻繁に使ったが,ロシア詩学関連文献に現れるアクセント表示には,Teubner でサポートしている ""(短母音・力点無。Unicode U+23D1 のこの韻律学用文字がブラウザに出てますか?)等の韻律学記号のみならず,いわゆる通常のアクセント "´", "`" 記号も使われる。後者のタイプセットには,もちろんアクセント付加命令を用いればよいのだが,アクセントの位置が低すぎてかつ文字の高さに応じて可変になっており,詩のスキーマを図示するには少し工夫がいるようである。私は数学記号使用の簡単なマクロを書いてこのアクセントを出すようにしている。

Teubner と自作マクロを使って組んでみたロシア詩,教会スラヴ語聖書の例を示す。

20140404-poezija-1.png
図 2. ロシア詩・教会スラヴ語聖書での例

図 1. 及び 2. の LaTeX 原稿 poezija.tex は以下のとおり。タイプセットは pdflatex を用いる。処理結果 poezija.pdf も掲載しておく。

% -*- coding: utf-8; mode: latex; -*-
% poezija.tex - philological typeset sample
\documentclass[a4paper]{article}
\usepackage[T2D,T2A,T1]{fontenc}
\usepackage[utf8x]{inputenc}%
\usepackage[oldchurchslavonic,polutonikogreek,russian]{babel}
\languageattribute{oldchurchslavonic}{utf8,slavdate}
\usepackage[boldLipsian,10pt,GlyphNames]{teubner}
\usepackage{AcademyOld}% Cyrillic Old Academy fonts by А. Б. Дмитриев
\usepackage{amsmath,amssymb}% AMS Math with symbols
\pagestyle{empty}
% make oldslav font larger
\DeclareFontFamily{LST}{cmr}{}%
\DeclareFontShape{LST}{cmr}{m}{n}{<-> s * [1.12] fslavrm}{}%
% macros for poetic over signs
\newcommand{\poverset}[2]{% 第二引数文字を0.4ex分持上げて重打ちする
  \leavevmode \setbox1=\hbox{#1}\setbox3=\hbox{#2}%
  \ifdim\wd1>\wd3 \dimen1=\wd1 \else \dimen1=\wd3 \fi
  \ooalign{\hfil\hbox{#1}\hfil\crcr%
      \raise.4ex\hbox to \dimen1{\hfil#2\hfil}}}
\newcommand{\OVA}[1]{\poverset{#1}{$\acute{\empty}$}}% 鋭アクセント
\newcommand{\OVG}[1]{\poverset{#1}{$\grave{\empty}$}}% 重アクセント
\newcommand{\OVB}[1]{\poverset{#1}{$\breve{\empty}$}}% ударение無
\newcommand{\OVL}[1]{\poverset{#1}{$\bar{\empty}$}}%   ударение有
\newcommand{\GR}{\selectlanguage{polutonikogreek}}% 言語切替(サボリ)
\let\oldnum=\oldstylenums%
\begin{document}
\parindent=0pt%
\selectlanguage{russian}
Metrical symbol macros: \OVA{э} \OVG{ю} \OVL{я}
{\fontencoding{T2D}\selectfont\OVB{ѣ}}\par
Схема стиха четырехстопного ямба:
\brevis\longa\|\brevis\longa\|\brevis\longa\|\brevis\longa\dBar(\brevis)
 
\vspace{1em}
\begin{VERSI}
<<Мой д\OVA{я}дя с\OVA{а}мых ч\OVA{е}стных пр\OVA{а}вил,\\
Когд\OVA{а} не в ш\OVA{у}тку з\OVG{а}нем\OVA{о}г,\\
Он \OVG{у}важ\OVA{а}ть себ\OVA{я} заст\OVA{а}вил\\
И л\OVA{у}чше в\OVA{ы}дум\OVG{а}ть не м\OVA{о}г.\\
Ег\OVA{о} прим\OVA{е}р друг\OVA{и}м на\OVA{у}ка;\\
Но, б\OVA{о}же м\OVB{о}й, как\OVA{а}я ск\OVA{у}ка\\
С больн\OVA{ы}м сид\OVA{е}ть и д\OVA{е}нь и н\OVA{о}чь,\\
Не \OVG{о}тход\OVA{я} ни ш\OVA{а}гу пр\OVA{о}чь!\\
Как\OVA{о}е н\OVA{и}зко\OVG{е} ков\OVA{а}рство\\
Пол\OVG{у}жив\OVA{о}го з\OVG{а}бавл\OVA{я}ть,\\
Ем\OVA{у} под\OVA{у}шки п\OVG{о}правл\OVA{я}ть,\\
Печ\OVA{а}льно п\OVG{о}днос\OVA{и}ть лек\OVA{а}рство,\\
Вздых\OVA{а}ть и д\OVA{у}мать пр\OVG{о} себ\OVA{я}:\\
Когд\OVA{а} же ч\OVA{е}рт возьм\OVA{е}т теб\OVA{я}!>>
\end{VERSI}
\hfill
\textit{Пушкин А.\,С.}~Евгений Онегин.
\textit{гл.}\,\oldnum{1}, \textit{стр.}\,I
 
\vspace{1em}
\newdimen\mtrclen \settowidth{\mtrclen}{\brevis}%
\begin{versi}{\textit{Блок А.\,А.}}
\makebox[12em][l]{Ты проходишь без улыбки,}
\brevis\brevis\longa\brevis\|\brevis\brevis\longa\brevis\dBar\\
\makebox[12em][l]{Опустившая ресницы,}
\brevis\brevis\longa\brevis\ \brevis\brevis\longa\brevis\dBar\\
\makebox[12em][l]{И во мраке над собором}
\brevis\brevis\longa\brevis\|\brevis\brevis\longa\brevis\dBar\\
\makebox[12em][l]{Золотятся купола.}
\brevis\brevis\longa\brevis\ \brevis\brevis\longa%
\makebox[\mtrclen][s]{$\varnothing$}\dBar
\end{versi}
 
\vspace{1em}
\selectlanguage{oldchurchslavonic}
\begin{versi}{\textlatin{\textit{Gen.}\,\oldnum{19}.}}
{\GR\verso[23]}%
С'олнце вз'ыде над\ъ з'емлю, л'ѡтъ же вн'иде въ сиг'ѡръ.%
{\GR\verso}%
\И г|сдь <ѡдожд`и на сод'омъ \и гом'орръ ж'упелъ,
\и "ѻгнь ѿ г|сда съ небес`е.%
{\GR\verso}%
\И преврат`и гр'ады сї^ѧ, \и вс`ю <ѡкр'естную стран`у,
\и вс'ѧ жив'ущыѧ во град'ѣхъ, \и вс^ѧ прозѧб^ающаѧ ѿ земл`и.%
{\GR\verso}%
\И <ѡзр'ѣсѧ жен`а єг`ѡ всп'ѧть, \и б'ысть ст'олпъ сл'анъ.
\end{versi}
\hfill БЫТЇ`Е ГЛАВ`А \slnum(19).: \slnum(23).{\GR--}\slnum(26).
 
\vspace{1em}
\selectlanguage{polutonikogreek}
\begin{Lipsiakostext}% LGR encoding のみ
\begin{versus}{\textlatin{Meropis fr.\,3}}
>'enj'' <o m'en e\ladd{>isplh} \verso[68] j`un
Mer'opwn k'ien. <h \ladd{d`e dia} \verso pr`o\\
a>iqem\hc i sj~htos \ladd{>'elassen.}
\verso <`o d'' >ex'equt''; o>u
g`ar \ladd{<omo~iai}\\
\ladd{>a} \verso j'anatai jnhta~isi bol\ladd{a`i kat`a}
\verso ga~ian >'asin.\\
prh\lladd{m}n\ladd{~hs d\dots} \verso thse. m'elas d`e
perie.\ladd{\dots}\verso rw
\end{versus}
 
\begin{VERSI}[40]
k'elomai pol\ua stonon\\
\SubVerso[18] >er'uken <'ub\apex rin; o>u g`ar >`an j'eloi-\\
\NoSubVerso m'' >'ambroton >erann`on >Ao\lbrk ~us\\
\SubVerso >ide~in f'aos, >epe'i tin'' >h"ij\siniz{'e\lbrk w}n\\
s`u dam'aseias >a'ekon-\\
\NoSubVerso ta; pr'osje qeir~wn b'ian\\
\SubVerso\coronis de\ladd{'i}xomen; t`a d'' >epi'onta 
da\ladd{'imw}n krine~i.\GEcdq\\
\SubVerso[1] t'os'' e>~ipen >ar'etaiqmos <'hrws;\\
t\rbrk 'afon d`e na\ua batai\\
f\rbrk wt`os <uper'afanon\\
j\rbrk 'arsos;\Dots[4]
\end{VERSI}
\end{Lipsiakostext}%
 
\end{document}

この例ではキリルフォントに OldFonts パッケージ(モスクワ大学の А. Б. Дмитриев 教授が開発・配布している)の Academy Old 書体を使っている(OldFonts パッケージについては筆者記事『OldFonts 古ロシア語フォント集成』,『OldFonts 古ロシア語フォント〜Minion, Palatino 利用』を参考にしていただければと思う)。ロシアの学術文献でよく目にする書体である。

А. А. Блок ロシア詩例で韻脚が脱落しているところは,AMS パッケージの空集合記号を使っている。筆者自作マクロで指示している \acute, \grave, \breve, \bar 命令は標準の数式モードで使用できるものである。マクロ \poverset 命令は,引数に指定した文字の上に,これらの数学アクセント記号を一定の高さ(0.4ex: 使用フォントの x の高さ × 0.4 の量)分持ち上げて二重打ちしているだけである。

Teubner versi 環境内で OldSlav 教会スラヴ語パッケージを使う際は \verso 等 Teubner マクロを使うところで,グルーピング指定で一時的に言語を polutonikogreek に切り替えている。OldSlav oldchurchslavonic のままだとフォントエンコーディングの関係で数字・記号の出力がおかしくなってしまうためである。

OldSlav 1.3

今回,上記の LaTeX お遊びをかねて OldSlav 教会スラヴ語パッケージの動作確認をしていたら致命的なバグを見つけてしまった。amsmath 数学パッケージと併用すると,OldSlav と amsmath とで \mod 命令が重複して,同時使用が不可だということが判明した。

amsmatah が利用できないのはいただけないので,OldSlav のマクロを名称変更した。バグフィックス版をダウンロードページに掲載した。併せて,ユーザマニュアル(日本語版 | 英語版)の見直しもした。

参考文献

Teubner パッケージ teubner.sty の機能・使い方については添付のユーザマニュアルを参照のこと。TeX Live がインストールされていれば,ターミナル,コマンドプロンプトで texdoc teubner と入力することでも閲覧できる。

LaTeX 全般についてはやはりこれ。AMS の数式関連の解説もきちんとしている。

itsumi-greek-roman-lit.png

これだけ西欧の文学に染まってしまっているのに,「詩学」といっても,日本人の多くはピンと来ない。「詩論」というと,感性の表明だと思っているふしがある。「文は人なり」というわけである。「詩」とは,「感性」だとか「詩精神」なんて曖昧な概念の前に,まずは「約束事」によって成立しているということがわからない。漢詩を忘れた日本人は形式感を失い,五七五すら自動化され,文学の形式・約束というものを軽んずるようになってしまったように思われる。しかし,詩学・韻律論は西欧の文献学では抜きにできない分野である。

詩の韻律論について記した本をあげておく。逸身喜一郎という西欧古典文学研究者は西欧の伝統のなんたるかをきちんと見極めて説明してくれる,と感嘆させられた書物でもある。学術的古典文学研究者はさすがである。