misima 漢詩作成支援 — LaTeX 原稿出力機能

misima 漢詩作成支援 - 平仄音韻分析・詩語検索・漢字平仄検索に LaTeX 原稿出力機能を追加した。入力し,音韻チェックを行い,推敲し,出来上がった漢詩を,電子文書化するための支援機能である。もとより,私自身の漢詩作成の一環で LaTeX で文書化することが必須事項なので,自分自身のための機能である。そういうこともあり,スタイルはまったく私の用いているそのままである。

テキストエリアに入力した漢詩を,misimaServlet LaTeX 変換機能によって,旧字体変換とともに LaTeX sfkanbun.sty の漢文訓点組版用コントロールシーケンスに整形して,原稿のプロトタイプを出力する。旧字体変換は,JIS X 0208 に定義されていない Unicode CJK 統合漢字については,OTF パッケージの \CID もしくは \UTFM 命令に変換して文字を出力する。

図 1 に示すように,漢詩が入力された状態で,「LaTeX」ボタンをクリックすると「LaTeX原稿」のところに原稿テキストが出力される。「選択」ボタンをクリックするか出力原稿テキストそのものをクリックするとテキスト全体が選択された状態になり,そこでテキストをコピーして,テキストエディタに貼付け,以降はテキストエディタ上で編集を行う。

ただし,本機能は,旧字体変換機能と同様,友人限定の機能である。「LaTeX」ボタンをクリックしたときユーザ ID,パスワードによる認証が済んでいない場合,認証画面が表示される。認証を経た上で再度「LaTeX」ボタンをクリックすると原稿が出力される。

20151119-kanshi-latex-1.png
図 1. LaTeX 原稿出力機能
霽秋薄暮桂香微
蝙蝠翻虚混暗幃
俯睫過嬢無泛咲
晩鐘汪洩塔彤煇

を入力とする LaTeX 原稿出力は次のようなものである。

\documentclass[12pt,b5paper]{tarticle}% 縦組
\usepackage[T2A,T1]{fontenc}% 欧文・キリル文字併用
\usepackage[russian,japanese]{babel}% 多言語組版
\usepackage{okumacro}% 奥村先生マクロ
\usepackage{sfkanbun,furikana}% 漢文訓点・縦組振仮名(藤田先生)
\usepackage{plext}% pTeX 縦組拡張
\usepackage{pscyr}% PSCyr Cyrillic fonts
\usepackage[osf,swashQ]{garamondx}% Garamond fonts
\usepackage[deluxe,expert,multi,jis2004,burasage]{otf}% OTF(齋藤氏)
% 作詩年月日
\newcommand{\saku}[3]{\normalsize #1 #2, #3.}%
% Copyright 表示: Author, x, y を変更
\newcommand{\cpright}{%
\hfill\copyright\ \raisebox{0.308em}{201x--201y, \textit{Author.}}}%
% 漢文訓点音号符を長音(標準)から全角ダッシュに変更
\renewcommand{\ongofuni}{\ongofu{二}{—}}%
\renewcommand{\bfdefault}{bx}% otf, garamondx 併用時
\begin{document}
\vbox{}\par
% タイトル,作者,読み,送り仮名,返り点,書き下し文を手作業で変更する
% 返り点は,レ,三,二,一,\ongofuni から選択する
\begin{kanshiyomi}{10zw}{24zw}
\daisakushai{漢詩タイトル}{作者}
& 題書き下し \cr
\kundoku{霽}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{秋}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{\CID{13977}}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{暮}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{桂}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{香}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{微}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
& 書き下し文 \cr
\kundoku{蝙}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{蝠}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{\CID{14040}}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{\CID{13336}}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{混}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{\CID{13638}}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{幃}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
& 書き下し文 \cr
\kundoku{俯}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{睫}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{\CID{13669}}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{孃}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{無}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{泛}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{\CID{13788}}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
& 書き下し文 \cr
\kundoku{\CID{13377}}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{鐘}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{汪}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{洩}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{塔}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{\CID{14523}}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
\kundoku{\CID{08541}}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
& 書き下し文 \cr
\end{kanshiyomi}
\vspace{2zw}
% 現代語訳を手作業で入力
\begin{quote}
現代語訳
\end{quote}
\cpright
\end{document}

出力原稿のコメントとして示してあるとおり,\kundoku 命令としてマークアップしたテキストのうち,「読み」,「送り仮名」,「再読文字送り仮名」,「書き下し文」,「現代語訳」の部分を追加・訂正し,返り点のリスト: レ三二一\ongofuni から使用するものを選んで文書を作成する。不要であればブレース内を削除する。「再読文字送り仮名」が不要なら <> ごと削除する。

返り点を組む場合は,返り点のリストから選択する。このうち, は雁点,三二一 は数字返り点,\ongofuni は返り点 と音号符 (熟語の結合線)が複合した訓点である。返り点を網羅しているわけではないが,ほぼこのリストで十分用が足りると考える。返り点にはその他,上中下甲乙丙天地人 があるが,必要ならそれを入力する。

\kundoku{霽}{読み}{送り仮名}{レ三二一\ongofuni}<再読文字送り仮名>%
 ↓ 読み,送り仮名,返り点を使用しないのならば削除する
\kundoku{霽}{}{}{}%

たとえば,以下のように入力すると,図 2 のような結果となる。

%\kundoku{文字}{読み}{送り仮名}{返り点}<再読文字送り仮名>%
\kundoku{如}{ごと}{シ}{レ}%
\kundoku{將}{まさ}{ニ}{三}<ルガ>%
\kundoku{沈}{}{ミ}{\ongofuni}%
\kundoku{死}{}{セント}{}%
\kundoku{洞}{}{}{}%
\kundoku{中}{}{ノ}{}%
\kundoku{淵}{}{ニ}{一}%
kanshi-saidoku-kaeriten-ed.png
図 2. \kundoku マクロタイプセット

プリアンブルに指定された LaTeX のパッケージのうち,sfkanbun.styotf.sty 以外は必ずしも必要ではない。私自身が Garamond フォントを好み,PSCyr キリル文字との混植を多用しているがゆえのパッケージ構成になっているに過ぎない。

さて,上記漢詩による出力原稿に対し,訂正・追記して完成させた LaTeX 原稿を以下に示す。

\documentclass[12pt,b5paper]{tarticle}% 縦組
\usepackage[T2A,T1]{fontenc}% 欧文・キリル文字併用
\usepackage[russian,japanese]{babel}% 多言語組版
\usepackage{okumacro}% 奥村先生マクロ
\usepackage{sfkanbun,furikana}% 漢文訓点・縦組振仮名(藤田先生)
\usepackage{plext}% pTeX 縦組拡張
\usepackage{pscyr}% PSCyr Cyrillic fonts
\usepackage[osf,swashQ]{garamondx}% Garamond fonts
\usepackage[deluxe,expert,multi,jis2004,burasage]{otf}% OTF(齋藤氏)
% 作詩年月日
\newcommand{\saku}[3]{\normalsize #1 #2, #3.}%
% Copyright 表示: Author, x, y を変更
\newcommand{\cpright}{%
\hfill\copyright\ \raisebox{0.308em}{2012--2014, \textit{isao yasuda.}}}%
% 漢文訓点音号符を長音(標準)から全角ダッシュに変更
\renewcommand{\ongofuni}{\ongofu{二}{—}}%
\renewcommand{\bfdefault}{bx}% otf, garamondx 併用時
\begin{document}
\vbox{}\par
% タイトル,作者,読み,送り仮名,返り点,書き下し文を手作業で変更する
% 返り点は,レ,三,二,一,\ongofuni から選択する
\begin{kanshiyomi}{10zw}{24zw}
\daisakushai{秋思}{\hfill {\normalsize\selectlanguage{russian}\acfamily\CYRK{} %
\CYRA\cyrl\cyre\cyrk\cyrs\cyra\cyrn\cyrd\cyrr\cyru{} %
\CYRB\cyrl\cyro\cyrk\cyru.} \saku{Sept.}{29}{2014}}
& \Kana{秋,思}{シウ,シ} \—— アレクサンドル・ブロークニ寄ス \cr
\kundoku{霽}{}{}{}%
\kundoku{秋}{}{ノ}{}%
\kundoku{\CID{13977}}{}{}{}%
\kundoku{暮}{}{}{}%
\kundoku{桂}{}{}{}%
\kundoku{香}{}{}{}%
\kundoku{微}{}{ナリ}{}%
& \kana{霽秋}{セイシウ}ノ\CID{13977}暮 \Kana{桂,香}{ケイ,カウ} %
\kana{微}{カスカ}ナリ \cr
\kundoku{蝙}{}{}{}%
\kundoku{蝠}{}{}{}%
\kundoku{\CID{14040}}{}{リ}{レ}%
\kundoku{\CID{13336}}{}{ニ}{}%
\kundoku{混}{}{ズ}{二}%
\kundoku{\CID{13638}}{}{}{}%
\kundoku{幃}{}{ニ}{一}%
& \Kana{蝙,蝠}{ヘン,プク} \kana{\CID{13336}}{キヨ}ニ\kana{\CID{14040}}{ヒルガヘ}リ %
\Kana{\CID{13638},幃}{アン,キ}ニ混ズ \cr
\kundoku{俯}{}{セテ}{レ}%
\kundoku{睫}{}{ヲ}{}%
\kundoku{\CID{13669}}{}{グル}{}%
\kundoku{孃}{}{ハ}{}%
\kundoku{無}{}{ク}{レ}%
\kundoku{泛}{}{}{レ}%
\kundoku{\CID{13788}}{}{ヲ}{}%
& \kana{睫}{マツゲ}ヲ\kana{俯}{フ}セテ \CID{13669}グル 孃ハ %
\kana{\CID{13788}}{ヱミ}ヲ\kana{泛}{ウ}カブルコトナク \cr
\kundoku{\CID{13377}}{}{}{}%
\kundoku{鐘}{}{}{}%
\kundoku{汪}{}{ト}{}%
\kundoku{洩}{}{イテ}{}%
\kundoku{塔}{}{ハ}{}%
\kundoku{\CID{14523}}{}{ニ}{}%
\kundoku{\CID{08541}}{}{ク}{}%
& \CID{13377}鐘 \kana{汪}{ワウ}ト\kana{洩}{ヒ}イテ 塔ハ %
\kana{\CID{14523}}{アカ}ニ\kana{\CID{08541}}{カガヤ}ク \cr
\end{kanshiyomi}
\vspace{2zw}
% 現代語訳を手作業で入力
\begin{quote}
雨の霽れた秋のたそがれ 金木犀が微かに香ってくる\\
蝙蝠が虚空に翻り 暗いとばりと混ざり合う\\
女は 睫毛を伏せ 微笑みを浮かべることもなく 通り過ぎる\\
晩鐘が溢れるように長く音を曳いて 寺院の塔は 朱に輝く
\end{quote}
\cpright
\end{document}
図 3. 編集済み LaTeX 原稿

これを TeX Live で組版する。

$ platex shushi.tex
$ dvipdfmx -p b5 shushi.dvi

出来上がった PDF は図 4 のとおりである。入力原稿の「翻」「虚」「暗」「過」「咲」の文字が,misima LaTeX 旧字体変換により正字体で出力されていることがわかると思う。また,「彤」「煇」字は JIS X 0212 にある Unicode CJK 統合漢字で,旧字変換プログラムでは CID 番号を拾って Adobe-Japan1-6 フォントを出力する命令(otf パッケージの \CID{番号})に変換している。返り点,ルビの具合も確認いただきたい。図 3,4 例では書き下し文において \kana,もしくは \Kana(藤田先生による furikana.sty のマクロ)でルビを振っている。

20151119-kanshi-latex-2.png
図 4. 組版結果
pLaTeX2ε入門・縦横文書術
藤田眞作
ピアソンエデュケーション