TeX での古代教会スラヴ語の利用について
since July 15 2002
わたしの門に門は無く、無限の門。歩みゆく微かな眩暈。
過ぎ去つた人々の手摺れの時禱書を、
今、わたしは負の連帯の上にしづかに置く。
— 鷲巢繁男『聖なる門』

[ About English description of OldSlav LaTeX package, see oldslav.pdf. ]

はじめに

TeX システムは,追加スタイルやフォントのセットアップ,利用方法の調査など少々面倒な準備を厭わなければ,様々な言語において高品質なタイプセットを実現する.ロシア語,ウクライナ語ほか現代スラヴ語は標準的な TeX システムにおいて利用が可能となっている一方,古代教会スラヴ語に関してはロシアの TeXnician によっていくつかの試みがなされている.

私の知るところ,古代教会スラヴ語タイプセットのための TeX パッケージは三種類ある.SlavTeX, HipTeX そして Izhitsa である.

これらは,教会スラヴ語の古文献を引用するのに必要かつ充分な品質を有しており,スラヴ研究者にとって有益であると思われる.本稿ではそれぞれの特徴を素描し,システムへの導入方法を示す.

SlavTeX

SlavTeX は,モスクワ大学の А. Слепухин スレプーヒン氏が Свято-Тройцкая Сергиева Лавра 出版部門からの委託によって開発した古代教会スラヴ語パッケージである.1994 年の公開であり最も古い試みではないかと思う.ロシア語版 PC-DOS での利用を想定しており,テクストの記述は ALT CP866 (PC-DOS 標準ロシア語コード) で行う必要がある点,時代を反映しているといえる.

メンテナンスは停止されているようで,最近は CTAN (TeX のアーカイブ) で入手できなくなっている.一時期インターネット・リソースから姿を消したが,私の求めに応じて LaTeX Cyrillic システムのメンテナー В. Волович ヴォローヴィチ氏が vsu の TeX アーカイブに格納してくださった.

残念ながらオリジナルは LaTeX では利用できない.slplain.fmt という独自の TeX フォーマットを生成して,TeX で文書をコンパイルする必要がある.日本語との混在も不可である.

このため私は,日本のユーザが pTeX 環境で SlavTeX を利用するための OldSlav パッケージを公開している.OldSlav は以下の対応を行っている.

- 7bit コードで記述するためのシンボル,コントロールシーケンスの追加
- LaTeX の多言語インタフェース標準である Babel への対応
- ハイフネーション・パターンの pTeX 環境でのサポート
- アスキートランスクリプションのサポート
- SlavTeX オリジナル記法のサポート
- 教会スラヴ語数値表現のサポート
- UTF-8キリル文字入力のサポート (pdfLaTeX, upLaTeX, ptetex3)
- 8 bit キリルコード CP1251, ISO 8859-5, KOI8-R, CP866 のサポート

書体が美しい.後述する他のパッケージを含め私のもっとも好むところである.サンプルとして添付されているドキュメントをタイプセットした結果の画像を以下に示す.

SlavTeX
図1. SlavTeX サンプル

HipTeX

HipTeX は,А. Воинов ヴォイノフ氏が開発・公開するパッケージであり,これもロシア正教会文献の美しい組版を得たいという宗教的情熱に動機づけられている.現在もメンテナンスが続けられており,2002/7 時点での最新版は 0.5.95 である.正教会の文献で用いられるオーナメントを挿入するコマンド,画像が用意されているなど本格的で,まじめに古代教会スラヴ語をタイプセットしたいユーザにはお勧めである.

Hip というのは,複雑なアクセント/気息記号体系を有する教会スラヴ語テクストを現代のコンピュータ・コードで表現するための標準的記述形式を指向するもので,これに則って TeX 文書を準備するところからパッケージ名が由来している.

最新の LaTeX を前提とした作りになっており,キリル文書用の LaTeX 標準パッケージである,いわゆる Cyrillic Bundle を必要とする.これは日本語 pTeX にも標準で組み込まれているはずである.

LaTeX の多言語システムの標準である Babel における利用が考慮されており,現代ロシア語その他言語と混在したタイプセットが可能である.古代教会スラヴ語用のハイフネーション・パターンも提供されている.

フォントはポストスクリプト形式で添付されており,izhitsacs,orthodox,pochaev の高品質な三書体が利用できる.

文書はキリル文字で記述する必要があり,日本語との混在は不可能である.また私が試した範囲では,インプット・エンコーディングは Windows CP1251 でないとうまく動作しないようである.

添付のサンプル文書のタイプセット結果の一部を示す.

HipTeX
図2. HipTeX サンプル

Izhitsa

Izhitsa は О. Мотыгин 氏が書いたパッケージで,CTAN で入手できる.上記二者と比較するとこれといって特徴のないパッケージであるが,インストールが手軽である.古代教会スラヴ語テクスト断片を引用する程度の利用ならばこれで充分と思う.

テクストは Windows CP1251 で書く必要があり,よって日本語との混在はできない.これでは日本のスラヴィストには不都合極まりないため,私はオリジナルに手を加えて日本語 pLaTeX で利用可能としたものを Izhitsa-ltn としてこっそり公開している.

Izhitsa-ltn 概要,インストール,利用方法については,「古代教会スラヴ語 LaTeX パッケージ Izhitsa-ltn 利用の手引き」を参照されたい.

OldSlav と Izhitsa-ltn はともに pTeX で利用できる古代教会スラヴ語パッケージである.なにより書体の好みで使い分けるのが一般的かと思われる.機能的には,Izhitsa-ltn にはラテンアルファベットによるトランスクリプションによって教会スラヴ語を入力できるメリットがある.一方 OldSlav はローマ字転写入力が可能である上,Babel 多言語標準インタフェース,自動ハイフネーションを提供しているところが Izhitsa-ltn にない特長である.また OldSlav は HipTeX のオーナメント画像を出力する命令もサポートしている.もちろんこの場合 HipTeX 添付の画像ファイルが別途インストールされていなければならない.

Izhitsa-ltn 及び OldSlav によって組版した例("Псалтирь" цит по кн.: Плетнева А. А., Кравецкий А. Г., "Церковно-славянский язык", М., 1996., С.127. --- 『詩篇五十番』からの引用)を次に示す.

Izhitsa sample
図3. Izhitsa 組版例

OldSlav sample
図4. SlavTeX—OldSlav 組版例

古代教会スラヴ語パッケージのインストール

FreeBSD (UNIX クローン) システムを前提に,インストール手順を説明する.Linux, Mac OS X は これと同じ手順が適応できると思う.Windows においてもパッケージの諸々のファイルを TDS (TeX Directory Structure) に相応したフォルダ構成で格納し,フォントマップを更新すればよいはずである. OldSlav の Windows インストール詳細についてはドキュメント oldslavdoc.​pdf を参照. (English document of OldSlav is now available.)

コマンドの実行は tcsh を想定しており, % は一般ユーザの, # はスーパーユーザのプロンプトであることを示している.行幅の関係で \ で折り返してコマンド行を記述しているところがあるが,実際は \ をタイプせずひと息に入力する.

  1. 準備

    いうまでもなく, LaTeX, pLaTeX, xdvi, dvips, dvipdfmx, ghostscript, gv など TeX 関連ツールは事前に組み込んでおく.

    手順のなかでインターネット上のアーカイブをダウンロードするのに wget を,zip アーカイブを解凍するのに unzip を使用しているので,それぞれ以下のとおり予めインストールしておく.

    % su -m
    Password:xxxxxx
    (スーパーユーザのパスワード: 以下略)
    # cd /usr/ports/archivers/unzip
    # make install
    # cd /usr/ports/ftp/wget
    # make install
    # exit
    % rehash
    		  
  2. 環境変数の設定,ワークディレクトリの作成
    % setenv TEXDIR /usr/local/teTeX/share/texmf-local
    % setenv TEXVARDIR /usr/local/teTeX/share/texmf-var
    % mkdir ~/tmp
    % cd ~/tmp
    % pwd
    /home/user/tmp 
    (このディレクトリをワークとして以下説明する)
    		  

SlavTeX, OldSlav インストール

2005/11 現在,SlavTeX が入手できるのはロシア・ヴォロネジ大学 vsu の FTP サーバとそのミラーからのみである.vsu では,オリジナル版と,TeX 新 TDS 調整版との二つの SlavTeX-​2.2 アーカイブを擁している.オリジナル版は METAFONT ソースを処理して TFM 及び PK フォントを生成する伝統的な形態であるのに対し,新 TDS 調整版は,А. Слепухин 氏のオリジナルを В. Волович 氏が調整・アーカイブしたものであり,予め TFM が生成されており,さらに Type1 フォントをサポートしている.ここでは後者について説明する.

SlavTeX とともに OldSlav をインストールする手順を示す. pTeX 環境で和文,多言語混在で利用できるようになる.詳細はドキュメント oldslavdoc.​pdf (JP), oldslav.​pdf (EN) を参照.

UNIX システムへのインストールは OldSlav 添付の Makefile で比較的簡単に行える.OldSlav パッケージをダウンロード・展開し, make fetch で SlavTeX パッケージの取得, make slinstall で SlavTeX の組み込み, make install で OldSlav の組み込み, make hyphinstall で OldSlav ハイフネーション・パターンの組み込みを実施する. slinstall, installHASH=n, MAP=n を付加すると,それぞれ mktexlsr, updmap を実行しない.

make samples-jp, make samples-en, make slsample はそれぞれ日本語,英語,SlavTeX オリジナルの文書サンプルをタイプセットする. make samples-utf とすると UTF-8 によるサンプルをタイプセットする. Utf82TeX が必要である.

OldSlav には Babel 日本語言語定義 nippon.​ldf, nippon.​sty を添付している.もし同名のファイルがすでにインストールされている場合, OldSlav インストーラは上書き,別名コピー,もしくはなにもしないのいずれかを問い合わせるようになっている.

% cd ~/tmp
% wget -nH -nd \
http://yasuda.homeip.net/archives/oldslav-1.2.tar.gz
% tar zxvf oldslav-1.2.tar.gz
% cd oldslav-1.2
% make fetch
% su -m
# make slinstall
# make install
# make hyphinstall
# exit
% make samples-jp
% make samples-en
% make samples-utf
% make slsample
		  

以下は Makefile を使わないで手動でインストールする手順である.Makefile は 1. から 5. までをカバーしている.

OldSlav は SlavTeX METAFONT から生成した Type1 フォントを提供している.これは,SlavTeX-2.2 添付の Type1 フォントだと dvipdfmx で生成した PDF が Adobe Reader 8 において「フォント抽出エラー」となってしまうため,このエラー対策を行ったものである.よって OldSlav 提供のフォントマップと Type1 フォントが確実に参照されるようにするため,以下の手順では SlavTeX 添付のものを削除するようになっている.

  1. パッケージのダウンロード,展開,格納
    % setenv TEXDIR /usr/local/teTeX/share/texmf-local
    % setenv TEXVARDIR /usr/local/teTeX/share/texmf-var
    % cd ~/tmp
    % wget -nH -nd \
    ftp://ftp.vsu.ru/pub/tex/church-slavonic/slavtex/\
    slavtex-2.2.tar.gz
    % wget -nH -nd \
    http://yasuda.homeip.net/archives/\
    oldslav-1.2.tar.gz
    % tar zxvf oldslav-1.2.tar.gz
    % su -m
    # tar zxvf slavtex-2.2.tar.gz -C $TEXDIR
    # find $TEXDIR/fonts/map -name slavtex | xargs rm -fr
    # find $TEXDIR/fonts/type1 -name slavtex | xargs rm -fr
    # cd oldslav-1.2
    # tar cf - ./doc ./tex ./fonts | ( cd $TEXDIR; tar xvf - )
    # mktexlsr
    		  
  2. フォントマップの追加・更新
    # updmap --enable Map=oldslav.map
    		  
  3. SlavTeX フォーマットファイルの生成
    # tex -ini -translate-file=cp227.tcx slplain.tex
    # mv slplain.fmt $TEXVARDIR/web2c
    # exit
    		  
  4. SlavTeX サンプルの組版
    % cp -R $TEXDIR/doc/slavtex/examples .
    % cd examples
    % tex \&slplain pray.tex
    (または tex -fmt=slplain pray.tex)
    % dvips pray.dvi -o
    % gv -antialias pray.ps &
    % ps2pdf pray.ps pray.pdf
    (pcx 画像を含むので ps2pdf で PDF 変換する)
    		  
  5. ハイフネーション・パターンの登録

    language.dat ファイルに以下の2行の記述をエディタで追加し,格納する.

    % SlavTeX with OldSlav
    oldchurchslavonic   ocshyphen.tex
    		  
  6. フォーマットファイルの再作成

    ハイフネーション・パターンを読み込むため platex-euc.fmt を再度生成する. platex のフォーマット名称はご利用の環境に合わせること.

    # fmtutil --byfmt platex-euc
    # exit
    		  
  7. OldSlav ドキュメントの組版

    OldSlav ドキュメントは JIS 範囲外の文字, T2D エンコーディング, HipTeX 画像出力命令を用いているため,タイプセットには OTF パッケージ, Unicode パッケージ, HipTeX が必要である.リファレンスの解決のため platex を複数回投入する.以下の手順でなくても, Makefile のあるディレクトリにおいて, make ocsdoc とすると PDF 生成まで行うようになっている.

    % cd ~/tmp/oldslav-1.2/doc/oldslav
    % platex oldslavdoc.tex
    % platex oldslavdoc.tex
    % platex oldslavdoc.tex
    % dvipdfmx oldslavdoc.dvi
    % acroread oldslavdoc.pdf &
    		  

HipTeX
インストール

HipTeX は作者 А. Воинов 氏のページからダウンロードできる.

  1. パッケージのダウンロード,展開,格納
    % cd ~/tmp
    % wget -nH -nd http://str12.sobor.org/hip/\
    hiptex-0.5.95.zip
    % unzip hiptex-0.5.95.zip
    % cd hiptex
    % su -m
    # mkdir -p $TEXDIR/tex/{latex,generic}/hiptex
    # mkdir -p $TEXDIR/fonts/{tfm,type1,afm}/hiptex
    # mkdir -p $TEXDIR/tex/latex/hiptex/eps
    # mkdir -p $TEXDIR/fonts/{enc,map}/dvips/hiptex
    # cp -p dvips/base/izhitsat2a.enc \
      $TEXDIR/fonts/enc/dvips/hiptex
    # cp -p dvips/config/hiptex.map \
      $TEXDIR/fonts/map/dvips/hiptex
    # cp -p tex/generic/public/hiptex/* \
      $TEXDIR/tex/generic/hiptex/
    # cp -p tex/generic/babel/* \
      $TEXDIR/tex/generic/babel/
    # cp -pR tex/latex/hiptex $TEXDIR/tex/latex/
    # cp -p fonts/tfm/public/hiptex/* \
      $TEXDIR/fonts/tfm/hiptex/
    # cp -p fonts/type1/public/hiptex/* \
      $TEXDIR/fonts/type1/hiptex/
    # cp -p fonts/afm/public/hiptex/* \
      $TEXDIR/fonts/afm/hiptex/
    # mktexlsr
    		  
  2. フォントマップの追加・更新
    # updmap --enable MixedMap=hiptex.map
    		  
  3. ハイフネーション・パターンの登録

    language.dat ファイルに以下の2行の記述をエディタで追加し,格納する.

    % HipTeX Old Church Slavonic
    churchslavonic	cshyphts.tex
    		  
  4. フォーマットファイルの再作成

    ハイフネーション・パターンを読み込むため latex.fmt を再度生成する.

    # fmtutil --byfmt latex
    # exit
    		  
  5. ドキュメントの確認,サンプル文書のコンパイル
    % cd doc
    % xdvi hiptex.dvi &
    (HipTeX のドキュメントが閲覧できるはずである)
    % cd ..
    % latex example1.tex
    % xdvi example1.dvi &
    (サンプルが LaTeX 処理でき,閲覧できれば完了)
    		  

OldSlav の利用 (概要)

ここでは OldSlav を通して SlavTeX フォントを利用する概略について述べる. OldSlav 利用方法詳細については,OldSlav 添付ドキュメント oldslavdoc.​pdf (JP), oldslav.​pdf (EN) を参照されたい.

  1. プリアンブルの指定

    Babel の言語オプションに oldchurchslavonic を指定する.この教会スラヴ語言語定義ではキャプションをロシア語で出力するようにしているため, fontenc パッケージを T2A オプション付きで指定しておく.

    \usepackage[T2A,T1]{fontenc}
    \usepackage[oldchurchslavonic]{babel}
    		  
  2. 教会スラヴ語の記述

    \selectlanguage{oldchurchslavonic} によって教会スラヴ語フォント,分綴規則が適用される環境になる.

    \selectlanguage{oldchurchslavonic}
    \OCSHER\ttls{\OCSrcy}\OCStverdo\oksija{\OCSon}%
    \OCSslovo\OCSert{} \OCSvedi\OCSon\OCSslovo%
    \OCSkako\ttlnrm{\OCSrcy}\OCSslovo\OCSest{} 
    \^{\OCSizhe}\OCSzemlya{} \OCSmyslite%
    \oksija{\OCSest}\OCSrcy\OCStverdo\OCSvedi%
    \OCSery\OCSher\OCSert, \OCSslovo\OCSmyslite%
    \oksija{\OCSest}\OCSrcy\OCStverdo{}i\OCSyu{} 
    \OCSslovo\OCSmyslite\oksija{\OCSest}\OCSrcy%
    \OCStverdo\OCSerm{} \OCSpokoj\OCSon\OCSpokoj%
    \OCSrcy\oksija{\OCSaz}\OCSvedi\OCSerm
    		  

    【出力】
    sample1

  3. generic メソッド

    OldSlav では 7 種類の入力メソッドをサポートしている. generic, ascii, UTF-8, cp1251, koi8-r, iso88595, cp866 である. 最後の 4 メソッドは 8 bit キリルコードに対応するもので,ここでは Cyrillic inputenc メソッドと総称する. generic は標準メソッドである.主にコマンドで教会スラヴ語を入力する. SlavTeX フォントとエンコーディングが同じであり,ハイフネーションがオリジナルと同じ精度で機能する. しかし 8 ビット欧文入力ができない pTeX ではコマンド主体による入力のため繁雑であり,これを嫌うユーザは ascii モードもしくは Utf82TeX プリプロセッサの利用をお勧めする. upLaTeX, 欧文 LaTeX, pdfLaTeX を利用しているのなら,UTF-8 モードをお勧めする.SlavTeX オリジナル記法と互換性のある簡潔な記述が可能になる.

    表1に generic で利用できるローマ字入力を,表2及び表3にコマンド表を示す. \OCS 形式で SlavTeX フォントのすべての字母が定義されている.コマンドはすべてのメソッドで利用できる.また generic の入力方法は UTF-8, Cyrillic inputenc メソッドでも利用できる.

    表1. generic 文字入力
    generic文字入力

    表2. コマンド (1)
    文字入力1

    表3. コマンド (2)
    文字入力2

  4. ascii メソッド

    ascii メソッドでローマ字転写により教会スラヴ語文字を入力できる. OT2 を参考に文字対応を設定している.文字の対応表を表4に示す.この方式はハイフネーション・パターンのエンコーディングと一致しないため,適切な自動分綴は望めなくなる.

    パッケージオプションに ascii を指定すれば,このメソッドが有効になる. ascii メソッドでは generic と同様にコマンド (表1, 2) による入力もできる.合字にアクセントを付したい場合はコマンドを用いる.

    \slavmode{メソッド} 命令は generic と ascii との間でメソッド切替えを行う. \slavmode{ascii} 命令によって ascii メソッドに切替わる.再度 generic メソッドにするには \slavmode{generic} を発行する. ascii によれば上記例文の入力は以下のとおりとなる.

    \selectlanguage{oldchurchslavonic}
    \slavmode{ascii}%
    H\ttls{r}t\'osp2 vosk\_{r}se \^iz m\'ertvyhp2, 
    sm\'ert\i{}yu sm\'ertp1 popr\'avp1
    		  

    表4. ascii 入力文字対応
    ascii入力

  5. UTF-8 メソッド

    UTF-8 キリル文字を直接原稿にタイプして教会スラヴ語テキストを記述できる.日本語と混在させる場合は upLaTeX システムがターゲットになっている.pdfLaTeXでも使用可能である.oldslav.sty では使用できない.

    表4-1. UTF-8 入力文字対応
    UTF-8入力

    UTF-8 入力方式は SlavTeX 互換の記法が可能であるだけでなく,Unicode にある古スラヴ文字を用いることもできる.シンボル命令による入力,アクセント付加はgenericと同様である.入力例とその出力を以下に示す.

    \documentclass[uplatex]{jsarticle}
    \usepackage[T2A,T2D,T1]{fontenc}
    \usepackage[oldchurhslavonic,nippon]{babel}
    \languageattribute{oldchurchslavonic}{slavdate,utf8}
    \kcatcode`б=15%
    \begin{document}
    \selectlanguage{oldchurchslavonic}
    "Аще же под\ъ кл'ѧтвою <ил`и ѿлуч'енїемъ
    <архїер'ейскимъ <ил`и <iер'ейскимъ б'ысть, <ил`и "аще 
    кл'ѧтву <ѻтц`а своег`ѡ <ил`и м'атере свое`ѧ навед`е 
    на с`ѧ, <ил`и своем`у прокл'ѧтїю подпад`е, <ил`и 
    кл'ѧтву преступ`и, <ил`и <ин'ыми н'ѣкїими грѣх^и "jкѡ
    челов'ѣкъ свѧз'асѧ:
    \end{document}
    		  

    UTF-8出力

  6. Cyrillic inputenc メソッド

    Windows CP1251, KOI8-R, ISO 8859-5, DOS CP866 キリル 8 bit 文字コードでの入力をサポートする.このメソッドの場合,原稿の文字コードに応じて inputenc.sty 及び \languageattribute オプションに対し,それぞれ cp1251, koi8-r, iso88595, cp866 を指定しなければならない. SlavTeX 互換の記法が可能である. UTF-8 メソッドとは異なり,Ѧ, Ѣ, Ѿ などの Unicode 文字は使用できず,当該文字コードの範囲のキリル文字しか入力できない. oldslav.sty では使用できない. 入力例を以下に示す.

    \documentclass{article}
    \usepackage[cp1251]{inputenc}
    \usepackage[T2A,T2D,T1]{fontenc}
    \usepackage[oldchurhslavonic]{babel}
    \languageattribute{oldchurchslavonic}{cp1251}
    \begin{document}
    \selectlanguage{oldchurchslavonic}
    "Аще же под\ъ кл'ятвою <ил`и qлуч'енїемъ
    <архiер'ейскимъ <ил`и <iер'ейскимъ б'ысть, <ил`и "аще 
    кл'ятву <oтц`а своег`w <ил`и м'атере свое`я навед`е 
    на с`я, <ил`и своем`у прокл'ятiю подпад`е, <ил`и 
    кл'ятву преступ`и, <ил`и <ин'ыми н'экiими грэх^и "jкw
    челов'экъ связ'ася:
    \end{document}
    		  
  7. アクセント,気息記号,Титло の記述

    アクセント類の記法を表5に示す.アクセント記法は複数用意されている.他の言語パッケージとの併用でトラップされる場合はいまひとつの方法で重複が回避できる場合がある.文字 титло は слово-титло, добро-титло, он-титло, глагол-титло, рцы-титло の SlavTeX コレクションのほかに червь-титло を追加している.

    Babel 教会スラヴ語環境では初期状態で SlavTeX オリジナル・アクセント記法が可能な状態となっている.これは \', \`, \", \^, \_, \~, \< 命令の "\" なしでアクセント用記号のみを前置すればよい仕様となっている.文字 Титло についても |s, |d, |o, |g, |r, |h はそれぞれ \ttls, \ttld, \ttlo, \ttlg, \ttlr, \ttlh に対応する.この記法は,分類コードの変更により実現しているため,数式や表の記述などで不具合の原因となる.そのときは \leaveslavaccent 命令によって通常の LaTeX 分類コード設定に復帰させることにより回避できる.再度オリジナル・アクセント記法環境に移行するには \setslavaccent 命令を指定する.教会スラヴ語環境から抜けると自動的に分類コードはもとの設定に復元されるので,ユーザが \leaveslavaccent 命令を発行する必要はない.

    オリジナル・アクセント記法により先の ascii 例文を記述すると以下のようになる.

    \selectlanguage{oldchurchslavonic}
    \slavmode{ascii}%
    H|srt'osp2 vosk_rse ^iz m'ertvyhp2, 
    sm'ert\i{}yu sm'ertp1 popr'avp1
    		  

    表5. アクセント,記号類の書き方
    アクセント・記号類

  8. 数値表現

    \slnum(アラビア数字) 命令によってスラヴ数字を出力することができる.

    表6. 数値表現例
    数値表現

  9. ラテン文字,キリル文字

    \textlatin, \latintext 命令で教会スラヴ語言語環境内においてもラテンアルファベットを出力することができる.前者は引数をラテン文字で出力し,後者は切替宣言として機能する.同様に \textrussian, \russiantext 命令でロシア語,キリル文字を出力できる.使い方はラテンアルファベットの場合と同じである.キリル文字は T2A, T2D, X2, XS エンコーディングで記述する.T2A 以外のシンボルを用いる場合は,fontenc.sty のオプションに利用する文字に応じたフォントエンコーディングを指定すると同時に,事前に \setcyrillicencoding{エンコーディング} 命令で当該エンコーディングを設定しておく必要がある.

  10. oldslav.sty

    OldSlav を Babel に依存せずに用いることが可能である.この場合はプリアンブルで oldslav.sty を読み込むよう指定する.教会スラヴ語ハイフネーション・パターンが登録されていれば,教会スラヴ語モードにおいてはこれを用いるようになっている.

    \usepackage{oldslav}
    		  

    \slav 命令によって,これ以降,教会スラヴ語言語環境となる.グルーピングすることで教会スラヴ語適用範囲を明確にすることをお勧めする.\leaveslav 命令によって, \slav による切替え以前の言語環境に復旧させることができる.ハイフネーションももとの言語のものとなる.

    \slav の代わりに \slavna 命令を用いると,オリジナル・アクセント記法の分類コード変更をせずに教会スラヴ語環境に移行する.

    \slav 命令及び \slavna 命令は Babel 環境でも使用可能である.ただし日付,キリルテキスト出力は機能しない.

    教会スラヴ語の記法は Babel 環境と同じである.同様に, \textlatin, \latintext 命令で教会スラヴ語言語環境においてもラテンアルファベットを出力することができる.

    \leaveslav 命令によって,フォント,ハイフネーションなど, \slav 以前の言語環境に復帰する.

    英語,日本語
    
    \slav
    % 教会スラヴ語環境: フォント,ハイフネーション
    \OCSHER{}\ttls{\OCSrcy{}}\OCStverdo{}\oksija{\OCSon{}}%
    ...
    
    \leaveslav
    英語に復帰 (フォント,ハイフネーション)
    		  
  11. 英字・数字様式

    教会スラヴ語フォントは英字のグリフをもたない.このため,教会スラヴ語環境内では \textlatin 命令で英字を出力しなければならない.独自マクロを実行する場合,この点に注意が必要である.ただし, 数字,記号の一部は仮想フォント機構により EC ラテンフォントを出力するようになっており,\thepage, \thesection などのカウンタ出力についてラテンフォントで出力する調整がなされている.

    OldSlavでは enumerate 環境のラベルを教会スラヴ文字で出力することができる.標準では英字・アラビア数字であるが, \slavenumstyle 命令を指定すると教会スラヴ語数字,教会スラヴ語アルファベットでラベルを出力する. \latinenumstyle 命令を指定するか,言語を切替えると標準に戻る. \slavenumstyle はセクション番号やノンブルにも影響を与えるので局所的に利用するのがよい.

  12. 日付様式

    教会スラヴ語環境で \today 命令はデフォルトではロシア語で出力される.パッケージオプションに slavdate を指定すると,教会スラヴ語様式で出力できる.\slavdateon, \slavdateoff 命令によって,オプションによらず出力様式を教会スラヴ語,ロシア語に切替えることができる.\slavtoday 命令は教会スラヴ環境内外によらず教会スラヴ語環境の \today 出力を与える.

    教会スラヴ語日付における月名一覧を表7に示す.

    表7. 教会スラヴ語月名一覧
    教会スラヴ語月名一覧

  13. パッケージオプション

    初期状態を設定するパッケージオプションがある.プリアンブルで指定できる.

    Babel環境の指定方法を示す. Babel \languageattribute 命令を用いる.

    \documentclass[a4paper]{jarticle}
    \usepackage[T2A,T1]{fontenc}
    \usepackage[oldchurchslavonic]{babel}
    \languageattribute{oldchurchslavonic}{<オプションリスト>}
    		  

    oldslav.sty では次のとおり.

    \documentclass[a4paper]{jarticle}
    \usepackage[T2A,T1]{fontenc}
    \usepackage[<オプションリスト>]{oldslav}
    		  

    オプションリストは "," (カンマ) で区切って複数のオプションを指定できる.オプションには以下のものがある.

    inhibitslavactive
    アクセント命令用分類コード変更を禁止する. SlavTeX オリジナル・アクセント記法は利用できない.
    slavaccentoff
    SlavTeX オリジナル・アクセント記法を初期状態でオフにする.オリジナル記法に移行したい場合は \slavaccent 命令を発行すればよい. inhibitslavactive オプションを同時に指定していると意味がないことに注意すべきである.
    ascii
    ascii モードをデフォルトに設定する.
    slavdate
    \today を教会スラヴ語で出力する.
    utf8
    UTF-8 入力を行う.oldslav.sty では使用できない.
    cp1251
    cp1251 入力を行う.oldslav.sty では使用できない.
    koi8-r
    koi8-r 入力を行う.oldslav.sty では使用できない.
    iso88595
    iso88595 入力を行う.oldslav.sty では使用できない.
    cp866
    cp866 入力を行う.oldslav.sty では使用できない.
    ptexenc
    UTF-8 入力を ptetex3, ptexlive 日本語環境で行う.事前に原稿のキリル文字を^^十六進数形式にしておく.oldslav.sty では使用できない.
  14. Utf82TeX 入力

    Utf82TeX プリプロセッサを利用すると,キリル文字を UTF-8 コードで直接記述して,教会スラヴ語原稿を準備することができる. SlavTeX オリジナル記法がサポートされているほか, ѧ, ѩ, ѥ, ѵ, ѹ, ѽ, ѿ, ѣ などの Unicode 教会スラヴ語文字を直接入力することができる.この記法で行うと, 適切な教会スラヴ語自動分綴が得られ,キリル文字で多言語文書中に教会スラヴ語をタイプでき,上記 \OCS シンボル命令による記述に比べ,次のように遥かに簡潔・明快になる.

    Utf82TeXダウンロード・サービスから入手できる.

    \selectlanguage{oldchurchslavonic}
    %<utf82tex_s>
    Х|срт'осъ воск_рсе ^из м'ертвыхъ, 
    см'ертiю см'ерть попр'авь
    %</utf82tex_s>
    		  

    SlavTeX 記法の詳細については OldSlav 添付ドキュメント oldslavdoc.​pdf を参照されたい. Utf82TeX での文字入力対応表を表8, 9に示す.

    表8. Utf82TeX SlavTeX 互換文字入力
    文字入力1

    表9. Utf82TeX 拡張文字入力
    文字入力2

    SlavTeX 記法でのアクセント表現は表10の記号を文字の前に単独で記述すればよい. \ を付加する必要はない. Utf82TeX では, Титло など UTF-8 で定義されている文字も利用できる.

    表10. Utf82TeX アクセント類
    文字入力3

    Utf82TeX 入力サンプル ocsutfsmpl.​tex組版結果 ocsutfsmpl.​pdf, 多言語サンプル ocsmulti.tex組版結果 ocsmulti.pdf を掲載しておく.これは OldSlav パッケージにも添付されているものである. OldSlav, Utf82TeX がインストールされていれば,ulatex ocsutfsmpl とコマンド入力すると,コンパイル 〜 PDF 変換まで完了できる. ulatex は Utf82TeX 付属のコンパイル・ユーティリティである.

  15. Izhitsa-ltn との併用

    教会スラヴ語フォントを使い分けるため等で OldSlav と Izhitsa-ltn とを併用する場合,izhitsa.sty を OldSlav 関連よりもあとに指定し,さらに, Izhitsa-ltn 教会スラヴ語の開始命令は \slav ではなく,\ocs もしくは \izh を用いる.\slav だと OldSlav のフォントが選択されてしまうので注意.ただし,OldSlav と Izhitsa-ltn は互換性のために一部コントロールシーケンス名が重複しているため,併用時アクセント位置が個別利用時と異なって出力される場合がある.

    \documentclass[a4paper]{jarticle}
    \usepackage[OT2,T2A,T1]{fontenc}
    \usepackage[oldchurchslavonic,nippon]{babel}
    \usepackage{izhitsa}
    \begin{document}
    \selectlanguage{oldchurchslavonic}
     OldSlav 教会スラヴ語
    \selectlanguage{nippon}
    {\ocs Izhitsa-ltn 教会スラヴ語}
    \end{document}
    		  

SlavTeX オリジナル, HipTeX 利用方法

SlavTeX, HipTeX の利用方法詳細については,それぞれパッケージに添付されたドキュメント sltexmnl.​dvi 及び hiptex.​dvi を参照されたい.ロシア語で書かれているが,古代教会スラヴ語を志す利用者にとって問題はないと考える.

別途,折をみて本ページでも概略を紹介したいと思う.ここでは TeX 原稿の文字コードについてのみ触れておく.

SlavTeX は CP866 (Alt), HipTeX は Windows CP1251 のキリル文字コードによって TeX 原稿を記述する. Emacs はともにサポートしている. CP866 のファイルを開くには, M-x universal-​coding-​system-​argument RET alternativnyj RET C-x C-f ファイル名 RET とする.また CP1251 コードを Emacs version 23 未満で扱う場合は,予め .emacs 初期設定ファイルに,

;; code page CP-1251
(codepage-setup 1251)
(define-coding-system-alias 'windows-1251 'cp1251)
	

と記述しておき,同様に M-x universal-​coding-​system-​argument RET cp1251 RET C-x C-f ファイル名 RET とするとよい. Emacs 23 ならこの elisp の追加は不要である.ご使用のエディタが Emacs でなくても,なにかひとつキリル文字コードが扱えるのであれば,これで原稿を書いて iconv などのコード・コンバータで変換すればよい.

参考文献・リソース

OldSlav 開発に際して参照した参考文献,インターネット・リソースを以下にあげる.教会スラヴ語 LaTeX の利用についても有益な情報源である.

Slepukhin A., "A Packeage for Church Slavonic Typesetting", TUGboat, Volume 16 (1995), No.4

SlavTeX の作者 А. Слепухин スレプーヒン氏による教会スラヴ語タイプセットの実現方式に関する論文(英文/露文)

SlavTeX-2.2, vsu.ru

SlavTeX パッケージ.CyrTeX-ru における В. Волович ヴォローヴィチ氏の記事 Re: Где SlavTeX? も参照いただきたい.

Воинов А. В., "HipTeX — Набор и верстка церковнославянских текстов в системе TeX/LaTeX в рамках стандарта HIP"

HipTeX の作者 А. Воинов ヴォイノフ氏のページ(露文)

Berdnikov A., Lapko O., "Old Slavonic and Church Slavonic in TeX and Unicode", EuroTeX'99 Proceedings

LaTeX における T2D Unicode による古ロシア語フォント・エンコーディングに関するプロシーディング(英文)

Гаслов И. В., "Вокруг славянских шрифтов, заметка первая, — Необходимый знакомый состав церковно-славянских шрифтов"

教会スラヴ語文字構成に関する解説(露文)

Лебедев А., "Соборник двунадесяти месяцей --- Из церковно-славянского требника издания 1882 года."

正教会で用いられた требник(聖事経 --- 儀式や祈祷奉事についてしるした正教会文献)の写本画像を公開している.教会スラヴ語月名調査で参考になった.(露文)

Начинкин Е., "Славянская Библия."

教会スラヴ語による新・旧約聖書の PDF を公開している.(露文)

Плетнева А. А., Кравецкий А. Г., "Церковно-славянский язык", М.: Просвещение, 1996.

近年出版された,ロシアの研究者による教会スラヴ語の教科書.古文献テクスト校訂は В. М. Живов による.OldSlav パッケージの作成で参照した.(露文)

Священник магистр Григорий Дьяченко (состав.), "Полный церковно-славянский словарь в 2-х томах", Репринтное веспроизведение издания 1900 г., М.: Терра -- книжный клуб, 1998.

1900 年に出版された教会スラヴ語辞典(1998 年の復刻版).OldSlav パッケージの作成で参照した.(露文)

Седакова О. А., "Словарь трудных слов из богослужения. церковнославяно-русские паронимы", М.: ГЛК, 2008.

ロシア語,ギリシア語と対比して記述した教会スラヴ語難語辞典.Титло で記される語の一覧なども掲載されている.(露文)

Сѷнодальнаѧ тѷпографїѧ, "Біблїа, сирѣчь книги Свѧщеннаго Писанїѧ Ветхаго и Новаго Завѣта съ параллельными мѣстами", СПб., 1900 г., Репринтное веспроизведение издания 1900 г., М.: Российское библейское общество, 2005.

ロシア宗務院によって 1900 年に出版された,旧約・新約聖書の教会スラヴ語訳.もっとも権威ある教会スラヴ語版聖書.(教会スラヴ語)

古代教会スラブ語入門 木村彰一『古代教会スラヴ語入門』 白水社, 1985年.

我が国最高のスラヴィストの手になる自習書.私ごときには,持っているだけでありがたい文献.
Amazonで詳細を見る

更新履歴

 

July 15, 2002 新規作成
Nov. 8, 2005 SlavTeX-2.2,新 TDS 対応
June 2, 2006 OldSlav 0.1a
June 6, 2006 OldSlav 0.1b
June 8, 2006 OldSlav, Izhitsa-ltn 併用時注意事項
June 11, 2006 OldSlav, Izhitsa-ltn 相違点
July 3, 2006 文字入力方法追記
Aug. 24, 2006 OldSlav 0.1c, Utf82TeX 入力・組版サンプル追加
Aug. 27, 2006 Amazon link 追加
Sept. 2, 2006 OldSlav 0.1d
Sept. 7, 2006 oldslav.sty, 注意事項等記述追加
Sept. 23, 2006 OldSlav 0.1f
Oct. 1, 2006 OldSlav 0.1g
Oct. 6, 2006 記述訂正
Aug. 11, 2007 OldSlav 0.1h
July 5, 2008 OldSlav 0.1i
Feb. 7, 2009 OldSlav 1.0 教会スラヴ語日付サポート
Dec. 7, 2009 参考文献追加
Dec. 23, 2009 OldSlav 1.1 UTF-8 サポート
Jan. 4, 2010 English document notice
Jan. 10, 2010 OldSlav 1.2 Cyrillic inputenc メソッド

logo for OldSlav