- パッケージの指定
通常の Babel のロシア語言語指定をしておく.フォントエンコーディングは OT2, T2A を必ず指定しておく.
\documentclass[a4paper]{jarticle}
\usepackage[OT2,T2A,T1]{fontenc}
\usepackage[russian]{babel}
- 言語名の設定
ハイフネーションパターン登録においてデフォルト (OT2: russian, T2A: russiant) とは異なる言語名を指定した場合,ロシア語テキストを記述する以前に,文書のプリアンブル等において,言語名を定義する.
\def\ruottwolang{russianfoo}% OT2 用の言語名
\def\ruttwoalang{russianbar}% T2A 用の言語名
\def は \newcommand でもよい.二回目以降の定義は \def か \renewcommand でないとエラーとなるので注意.
この定義は切替直前に何回定義してもよい.そのつど再設定される.つまり,ハイフネーションパターンをいくつも登録しておき,好みで切り替えることも可能である.
- 切替マクロの指定
切替マクロの使用方法は \selectlanguage{russian} の直後に \selectruencoding{<encoding>} を指定する.
引数 <encoding> には OT2 または T2A の,使用するロシア語フォントエンコーディングを指定する.
指定したフォントエンコーディングに従って,フォントエンコーディング,ハイフネーションを,
- OT2 指定時: OT2 用に切替える.
- T2A 指定時: T2A 用に切替える.
- ハイフン最小値の調整
Babel ロシア語言語定義オリジナルの \lefthyphenmins, \righthyphenmins 値はそれぞれ 2, 2 である.しかしながら OT2 ASCII 翻字入力の場合,2 文字で 1 キリル文字を表現する場合があり,1 文字だけが分綴される問題の要因となる.
このため hyphenmins 値を変更するマクロ \otiihyphenmins, \tiiahyphenmins を用意した.
\otiihyphenmins:
\lefthyphenmins, \righthyphenmins を 2, 3 とする.
\tiiahyphenmins:
\lefthyphenmins, \righthyphenmins を 2, 2 とする.
(デフォルトに戻す)
指定した次の \selectlanguage{russian} で設定が有効になる.これに先だって発行しなければならない.
OT2 で \lefthyphenmins 値も 3 に変更したい場合,プリアンブル等において以下を発行しておく.
\makeatletter
\def\otiihyphenmins{%
\def\russianhyphenmins{\thr@@\thr@@}%
}%
\makeatother
- サンプル
サンプルを添付している.書き方は sample.jis を参照.
アーカイブにはサンプルを添付している. chghyphen-babel.{tex,jis} サンプルは russian T2A を PSCyr フォントで出力する例である.拙作の OldSlav を併用している..tex は UTF-8 ファイルであり,これを処理するには utf82tex が必要である..jis はこれを変換したのちの JIS コード原稿なので,通常の platex で処理できる.(処理結果)
\documentclass[a4paper]{jarticle}
\usepackage[OT2,T2A,T1]{fontenc}
\usepackage[oldchurchslavonic,russian,japanese]{babel}
\usepackage{pscyr}% PSCyr Russian fonts
% デフォルトの言語名でないとき以下を変更
\def\ruottwolang{russian}
\def\ruttwoalang{russiant}
\begin{document}
\selectlanguage{russian}
\selectruencoding{OT2}
\textlatin{language: \the\language}
\def\rtexta{% Russian text by OT2 ascii
V naqale bylo Slovo, i Slovo bylo u Boga, i Slovo bylo Bog.
Ono bylo v naqale u Boga. Vse qrez Nego n\'aqalo byt{p1},
i bez Nego niqto ne n\'aqalo byt{p1}, qto n\'aqalo byt{p1}.}%
\rtexta
\showhyphens{\rtexta}
\vspace{20pt}
\selectruencoding{T2A}
\textlatin{language: \the\language}
% 以下 T2A シンボルで記述
\def\rtextt{% Russian text by T2A
%<utf82tex_r>>
В начале было Слово, и Слово было у Бога, и Слово было Бог.
Оно было в начале у Бога. Все чрез Него н\'ачало быть,
и без Него ничто не н\'ачало быть, что н\'ачало быть.}
%</utf82tex_r>
\textac{\rtextt}% Akademicheskaja
\showhyphens{\rtextt}
\vspace{20pt}
\selectlanguage{oldchurchslavonic}
\textlatin{language: \the\language}
\def\rtextocs{%
%<utf82tex_s>
Въ нач'алэ б`э сл'ово, \и сл'ово б`э къ б_гу,
\и б_гъ б`э сл'ово.
С'ей б`э ^искон`и къ б_гу:
вс^я т'эмъ б'ыша, \и без\ъ нег'w
ничт'оже б'ысть, "eже б'ысть.}
%</utf82tex_s>
\rtextocs
\showhyphens{\rtextocs}
\end{document}