青空文庫で公開されている振り仮名つきテキストファイルをTeXで組版しPDFに変換する作業について説明しています.
変換結果をごらん下さい,中島敦『文字禍』(約330KB)です.他の変換結果については「図書室」にあります.
まずは作業の流れを簡単に説明します.
それでは詳しく説明していきましょう.
以下での作業に必要となる,Rubyによる変換スクリプト,スタイルファイル(たいした事はしてません),中綴じ用のDVIファイルを作成するperlスクリプト,漢字の変換表と正規表現とをテキストファイルにしたもののセットです.
青空文庫パッケージのダウンロード (2004/5/5).今のところ,β版程度の出来です,仕樣は流動的です.変更点はこのリソースの最後にあります.
スクリプト言語Rubyがインストールされている必要があります.Mac OS Xには既にインストールされているはずです。他のOSのことは良く分かりません.すいません.以下の作業はMac OS Xの場合です.Windows等については付属のreadme.txtをごらん下さい.
Rubyによる変換スクリプトaozora.rbを(例えば)az2texとリネームしchmod +x az2texとして実行属性をつけます。そして、(例えば)/usr/local/binにコピーするとよいでしょう。
> mv aozora.rb az2tex > chmod +x az2tex > cp az2tex /usr/local/bin/
中綴じ用DVIファイルを作成する為のperlスクリプトdvi2nakを/usr/bin/localにコピーします.
> chmod +x dvi2nak > cp dvi2nak /usr/local/bin/
スタイルファイルaozora.sty, 1010crop.styは(例えば)texmf/ptex/platex/miscにコピーします。必要に応じてmktexlsrを実行して下さい。
青空パッケージ付属のRubyによる変換スクリプトaozora.rbにより変換します.変換の方式については「変換スクリプトの概略」で説明しております.
具体的な作業は次のようにになります.青空文庫よりテキストファイル(zip形式)をダウンロードし伸長(解凍)します。仮に、上記のようにインストールした場合、テキストファイルがある場所で、
> az2tex mojika.txt
とすれば、mojika.texが出來ます(中島敦「文字禍」を例にとりました)。ターミナルには、うまく処理できなかったルビと外字の情報が出力されます。
タイトル,著者以外にサブタイトル,訳者などがある場合,適切に処理されない場合があります.この場合,\metadata
になっている個所を\subtitle
, \subauthor
などに手作業で置き換える必要があります.
うまく処理できなかった外字を\UTF{....}
, \CID{....}
などのコマンドを用いて、手作業で置き換えていきます。(引数の文字コードはInput Methodの文字パレットなどから調べます)また、日本語のグリフの集合AJ1-5にも存在しない場合で、簡体字や繁體字にあった場合は\UTFM{....}
を使うと良いでしょう。この場合、OTFパッケージのmlutiオプションを付ける必要があります。
必要のない後注\endnoteは\footnoteに置き換えておきます。
確認のコンパイルをする場合、finalオプションのついた方をコメントアウトします。
%\usepackage[final]{aozora} \usepackage{aozora}
とすれば\footnoteが出力されるようになります。
スタイルファイルのカスタマイズについては「青空スタイル」をごらん下さい.
DVIファイルが出来たら,そこからPDFを作成します.Web上で公開するだけならdvipdfmxで
dvipdfmx -p a5 foo.dvi
とすればよいでしょう.印刷する為のPDFを作る場合,A4の用紙に見開き印刷,または中綴じで印刷した方が紙の節約になります.プリンタドライバで,そのような機能を持っていることもありますが,そのような機能が無くても出来るように,DVIファイルから見開き用や中綴じ用のDVIファイルを作成するperlスクリプトdvi2nakを作成しました.
perl dvi2nak foo.dvi
とすれば,10枚ごとに中綴じ出来るDVIファイルfoo2up.dviが出来ます.dvi2nakの使い方は
perl dvi2nak -h
として出てくるメッセージをごらん下さい.この中綴じ用のDVIファイルをdvipdfmxでPDFにします.用紙サイズがA4横置きになりますので
dvipdfmx -p a4 -l foo2up.dvi
のようにします.
中綴じ用のPDFを作成した場合,両面印刷をする必要があります.両面印刷が出来るプリンタの場合はいいのですが,両面印刷機能がないプリンタの場合,次のような手順で印刷します.まず,「印刷範囲の設定」等で「奇数ページのみを逆順」で印刷するよう設定し印刷します.そして,印刷された物を正しい向きにセットしたあと「偶数ページのみ」を印刷します.プリンタによっては紙づまりを起こしたりするかもしれませんが自己責任でお願いします.1枚づつ手差しで印刷するのが安全でしょう.
両面が印刷出来たら順番を逆にする必要があります.そして10枚ごとに綴じていきます.マックス株式会社の「ホッチくる」ですと中綴じが出来ます.値段も630円(税込み)と気軽に買うことが出来ます.
それでは,青空文庫という素晴らしいプロジェクトに感謝しつつ,読書を楽しみましょう!
青空パッケージの変更履歴です.
\textheight
の値の修正)nakatoji
を追加dviware
を追加\articleinput
を追加\chapter
, \section
, \subsection
を調整\okurigana
を追加(適当な作りです(^_^;))\prebreakpenalty
を10000にした)\section*
への変換は取りやめました\end{document}
の後に追加するようにした\end{jisage}
が適切に挿入されるように修正\ajKunojiwithBou
などに変換するようにした齋藤修三郎