青空文庫の文法チェッカ・HTML5・LaTeX・IDMLへの出力を行うツールです。
- 青空文庫の注記を解析表現文法で解析し、中間データへ変換します。その ため、パーザ部分は実質的にプログラムコードがなく、簡潔に表記されます。
- 中間データからは、HTML5(縦書き・横書き), LaTeX(縦書き・横書き), IDMLへ出力可能です。プラグインを作成すれば、他のマークアップ言語への変換も可能です。
- UCS漢字とアクセント付き欧文のUCSに対応しています。現状では青空文庫 での利用が確認されている非JIS X 0208漢字8,000字程度が利用できます。
- org-mode 等、既存のアウトラインプロセッサへの組込めるように、行単 位処理を行うAPIを提供しています。
- シェルスクリプトからのバッチ処理で、複数の作品を一括変換できます。
本プログラムは出力フォーマットによっては青空文庫の注記の一部しか対応 していませんが、プログラム末尾のデータ出力設定部分を適当に拡張・変更 することで、自由に拡張・カスタマイズ可能です。
- Emacs (23.2 以降。ucs-normalize.el が必要なため) と、peg.el (http://emacswiki.org/emacs/peg.el) を用意します。peg.elは、 load-pathに含まれるディレクトリ(/usr/local/share/emacs/site-lispなど) にインストールします。
- 《オプショナル》 漢字データベースのサイトから、外字データファイル aozora_gaiji_chuki.txt (http://kanji-database.sourceforge.net/aozora/gaiji.html) をダウン ロードし、適当な場所に入れます。
コマンドラインから、 `emacs –script’ で起動します。
- 注記の検証を行う場合:
% emacs --script aozora-proc.el file.txt
としてください。注記に間違いがある場合はその行を表示します。(実際 にはその前後の行で間違っている場合もあります。)
- HTMLやLaTeXへ変換する場合:
-f
オプションでフォーマットを指定します。% emacs --script aozora-proc.el -f html-v file1.txt file2.txt ...
ここで変換先フォーマット (-f) は `html-h’, `uptex-h’ (横書き), `html-v’, `uptex-v’, ‘idml’ (縦書き) が選択できます。
縦書きHTMLは、WebKit Nightly Builds 等のブラウザで確認できます。 IDMLで指定して出力されるxmlファイルは、IDMLのストーリーファイルと して利用できます。
処理途中で文法エラーが見付かった場合は、エラー表示をした後、そこま での変換処理をファイルに保存します。
upTeX (uplatex) 版 はまだ開発途上です。またマクロの衝突の問題によ り、いくつかの修飾が重なった場合は手で修正しなければならない場合 があります。
- 他の詳細なオプションについては
% emacs --script aozora-proc.el -h
で確認してください。
- M-x load-library aozora-proc 等で本ライブラリを読み込みます。
- 変換したいファイル(例:sample.txt)を開きます。
- M-x aozora-proc-select-method で、変換フォーマットを選択します。
または、=.emacs.d/init.el= に、以下のように変換フォーマットを設定
します。
(setq aozora-proc-method 'html-v)
- ファイルを検証したい場合は、M-x aozora-proc-parse とします。文法エ ラーがある場合はその箇所で停止します。
- HTML/TeX に変換する場合は、 M-x aozora-proc-markup とします。
- バッファ全体に対して変換する場合は、M-x aozora-proc-buffer を、ファ イルに対して処理をしたい場合は、M-x aozora-proc-file を実行します。
- org-mode で利用する場合は、以下のような設定を
init.el
に書いて おきます。(require 'org) (require 'aozora-proc.el nil t) (when (functionp 'aozora-proc-lines-buffer) (add-hook 'org-export-latex-final-hook (lambda () (aozora-proc-lines-buffer 'uptex-h))) (add-hook 'org-export-html-final-hook (lambda () (aozora-proc-lines-buffer 'html-h))))
本プログラムを使うことによって生じるいかなる損失・損害についても作者 は責任を負いません。
本プログラムはまだコンセプトベースのα版です。要望があれば徐々に改良 していきます。upTeX出力はルビやセクション、その他の修飾が重複するとマ クロが衝突してうまくコンパイルできない場合がありますので、その場合は 手で修正する必要があります。
IDML出力をInDesignで読みこませるには、Story要素のSelf属性の設定および IDMLアーカイブへの組み込みを別途行う必要があります。
- aozora-proc.el … GPL (文法部分はのぞく)
- grammar.txt … BSD