「これはやっていられない」。原稿のテキストデータから正規表現でURLを抜き出してHTMLファイルを取得し、内容をスクレイピング(情報の抽出)して有効なドキュメントかどうかをチェックするコードをPerlでこっそり書きました。

 Perlは前の会社にいたときに個人的に勉強していました。テキストを扱うプログラムを簡単に記述できるからです。ただ当時は、WindowsでPerlなどのスクリプト言語を動かすのは結構大変でした。

 幸運にも、開発部にはPerlを手軽に使える環境がありました。自分よりも前からオーム社にいた森田さん(森田尚氏、のちに未踏ソフトウェア創造事業のスーパークリエータ)がDebian GNU/Linuxのサーバーを立ててくれていました。UNIX環境が使える珍しい部署だったのです。森田さんのおかげで、本づくりにコンピュータを積極的に使っていこうという雰囲気がありました。

Rubyで著者チェック用の「ゼロ校」を作成

 森田さんはRuby関連の書籍も作っており、テキスト処理にRubyを使っていたり、Rubyコミュニティと仲がよかったりしました。日本語のテキスト編集にはPerlよりもRubyのほうが向いています。自分も自然にRubyを使うようになりました。

 入社当時は、Ruby関連書籍の編集の手伝いもしていました。内容を読みながら自分でプログラムを動かし、ゲラに赤字を入れるのです。当時、本を作りながら勉強したことが今でも役立っているなと感じています。

 入社してからしばらくたつと、Rubyで簡易的な自動組版を行うようになりました。動機は、著者になるべく早く内容をチェックしてもらうことです。一般に、著者はテキストの状態では内容をあまりきちんと確認してくれません。組版されたゲラに赤字を入れられる初校の段階になって、はじめて本気で見てくれます。

 「なんとか、もっと早くチェックしてもらえないだろうか」。そこで、初校の前の「ゼロ校」を自分で作ろうと思い立ったのです。曲がりなりにも書籍と同じような体裁であれば、著者も内容をチェックしてくれるはずです。

 トップスタジオという制作会社に制作を依頼するときは、同社が定義したタグを埋め込んだテキストデータを渡していました。そこで、Rubyを使って、このタグをHTMLとCSSに変換するようにしました。見出しなどの体裁をCSSで定義し、ソースコード部分はpreタグで等幅フォントを指定します。こうして作ったHTMLファイルをWebブラウザーで開いて会社のプリンターで印刷したところ、書籍に似たレイアウトになりました。見出しと本文が分かれており、コードブロックがある程度のものですが。

 これが、のちの自動組版につながっていく二つの流れのうちの一つになりました。もう一つの流れが「LaTeXを使った書籍の制作」です。

出典:ITpro 2017年5月17日公開
記事は執筆時の情報に基づいており、現在では異なる場合があります。