本を配布する〜「青空文庫」の仕組みを利用する
世界文化の古典(著作権がきれたものやpublic domainと宣言されたものなど)をテキスト化または読み上げして公開するProject Gutenbergは世界的に有名です。 今日では、たとえば 奥の細道 など日本語作品も多く収蔵されています。
その日本版といえるのが青空文庫で、主に文学作品のテキスト化するボランティア活動によって支えられています。
青空文庫のテキストを利用して、それを電子書籍として閲覧するためのさまざまなソフトウエアがあります(現在、青空文庫に所蔵されているテキスト全ては「まだ」百数十MByte程度であり、スマートフォンに一括保存できる分量あり、日本を近代的古典を堪能することができる。強くその利用を勧めたい。
青空文庫に収録するためのテキストファイルは青空文庫形式従わなければならない。 しかし、決して複雑なものではない。 ルビは『塵埃《ほこり》』というよう記載し、ルビの付く文字列の始まりを特定する記号を「|」として『日華|蛋粉《たんぷん》』と記述。返り点は『浮雲似[#二]故丘[#一]』など形式でテキスト化する、などである。
文学作品だけでなく、理科の書籍を考えると通常のテキスト化だけでは困難がある。 実際、高木貞治の青空文庫化は始まっているが、数式が多用された書籍では現在の方式では限界がある。 そこで、LaTeXへの相互変換が容易でWebページで数式を表示可能なMediaWikiを使う高木貞治プロジェクトなどが始まっている。 アメリカ数学会は、Web上の数式表記のためのプロジェクトMathJaxを推進している。
電子書籍へ
古典を青空文庫やProject Gutenbergとして世界の共有財産とする作業はきわめて意義深い。 ここではそのアプローチから離れて、自らの著作物を配布するためにこれらの仕組みを利用するという方向を考えてみよう。 これには3つの方向がある:
- 青空文庫形式で、作品を書いて公開して、それを青空文庫リーダで読んでもらう
- iPhon/iPad、Kindleなどの電子リーダーで書籍として閲覧できるように、たとえばPDFファイル化して配布する(それらを読むためのソフトウエアは事欠かない)。
- 最初からreflow可能な形式で電子書籍としての書式にしたがって書籍化する。 ただし、電子書籍のための規格は現在多くが併存している。 amazonのkindle形式やappleのibook軽視など様々なものがあり、相互運用性は必ずしも保証されていない。 アラビア語やヘブライ語、日本語など世界には多種多様な文字と書物文化が存在している。 これらの多様性を包括する電子書籍の規格があることは望ましい。2011年10月に制定されたEPUB3は今後の電子書籍の中心的な書式として多くの関心が寄せられています。
青空文庫形式ファイルをPDFファイルにする
青空文庫形式のテキストファイルを、TeX形式に変換してPDFファイルにする手順を紹介します
以下の作業環境が必要になります。
- テキストファイルの文字コードをTeX作業環境に合わせて変換できる(テキストエディタで変換すればよい)
青空文庫用のテキストファイルをLaTeXファイルに変換するために、青空文庫を読もう!にある「青空文庫パッケージのダウンロード」に含まれるスクリプトを実行するためのプログラム言語 Ruby が使える環境が必要。
Mac OSでは既にrubyがインストールされています。 WindowsではRubyをインストールしなければならない。
- ルビのためのパッケージfurikana.sty (文字コード Shift JIS)が必要。
青空文庫形式の「病牀六尺」をPDFに
ここでは、例として正岡子規の「病牀六尺」をA5半のPDFファイルに変換してみよう。
青空文庫形式のテキストファイルのTeXファイルへの変換の手順は青空文庫を読もう!に書かれている(Rubyが使える環境下であっても、ダウンロードしたスクリプト aozora.rb を使って byosho_rokushaku.txt をTeXファイルに変換する箇所が技術的に難解と思えるユーザも多いはずだ)。
以下では、Mac OSの場合にデスクトップにあるフォルダ masaoka で作業することを想定して、簡単に手順を説明します。
- 青空文庫からダウンロードした青空文庫形式のファイル byosho_rokushaku.txt および「青空文庫パッケージのダウンロード」に含まれる 1010crop.sty, aozora.sty, aozora.rb, logo.eps をフォルダ masaoka に移動。 furikana.styも移動しておく。
- 1010crop.sty, aozora.sty, furikana.sty の文字コードを TeXシステムの文字コードに合わせてエディタなどを使って変換しておく 。
ターミナル.appを起動して
% cd Desktop/masaoka <-- デスクトップ内のフォルダ masaoka に移動 % chmod +x aozora.rb <-- スクリプト aozora.rb に実行属性を設定 % aozora.rb byosho_rokushaku <-- 青空文庫ファイルをTeX形式に変換を実行
- 変換して得られたTeXファイルの文字コード(ISO 2020-JP)をTeXシステムの文字コードに合わせてエディタなどを使って変換する 。
TeXShopで byosho_rokushaku.tex を開いて、一行目のオプション twocolumを指定デス、次のように書き換える
\documentclass[a5paper]{tbook}
- このままタイプセットすると 19行目でエラーが発生。 ファイル全体から、文字列 "\advance\rightskip" を検索して空文字列に全置換する([編集]/[検索]/[検索パネル]で検索文字列を"\advance\rightskip"、置換文字列を空 "" にして、全て置き換えボタンを押す)。
タイプセットすると730行目でエラーが発生。 TeXshopで730行目で、"\end{jisage}" を次のようにコメントアウトする(あるいは削除する)。
青々%\end{jisage}
- タイプセットに成功して254ページのA5サイズのPDFファイルが得られる。
- ファイル全体から、"2zw" を検索して空文字列に全置換する(変換時のゴミ)。