Webの連載をわずか1週間で書籍化

 ASCII.jpで、Webの連載記事の企画・編集の仕事もしています。遠藤侑介さんに書いてもらった「Rubyで学ぶRuby」と渋川よしきさんに書いてもらっている「Goならわかるシステムプログラミング」です。

 アスキーから「特定の言語を取り上げて、その言語の入門記事を載せたい」という話がありました。そこで、個人的につながりがあった遠藤と渋川さんい声をかけました。

 Rubyのほうは、遠藤さんと相談しているうちに「RubyでRubyのインタープリタ(注:逐次実行型の実行環境)を作る」という話になりました。Twitterで遠藤さんとダイレクトメールのやり取りをしているときに、1時間くらい返事がないなと思ったら、いきなり「(インタープリタが)できた」という返事がきました。

 私はオーム社にいたとき、「Little Schemer」の翻訳本である「Scheme手習い」という本を手掛けました。この本はSchemeの入門書ですが、最終的にはSchemeでインタープリタを作るところまでを解説しています。この本と同じことがRubyでもできると思い、連載をお願いしました。

 この連載を書籍化したのが、ラムダノートで出版した「RubyでつくるRuby ゼロから学びなおすプログラミング言語入門」です。書籍の内容は、第1章と第2章はWeb記事から結構変わっていますが、第3章から第10章まではそんなに手を入れていません。コラムを追加したり、コード部分にコードハイライトで色を付けて、それに合わせて本文を少し直したりした程度です。Webの連載では、第5回で本来解説しなければならなかったことに第7回の時点で気づいたということがあり、第7回にコラムを作って補足説明したりしていました。書籍では、その補足説明を第5回の内容に統合するといった構成の手直しもしています。

 遠藤さんは、原稿をMarkdown記法で書いていました。そこで、「Pandoc」というツールを使ってMarkdownをHTMLに変換することでWeb記事を作っていました。本にする場合は、やはりPandocでMarkdownをLaTeXに変換し、それを入稿用のPDFにして印刷所に渡しています。

 こうした変換を行うことで、データから本の形にはほんの数時間でできました。そこから全体に目を通して体裁や構成を手直しし、1週間程度で最終的な形にできました。

 一方、渋川さんは「reStructuredText」という形式で原稿を書いています。これもPacdocでHTMLに変換してWeb記事にしています。渋川さんの連載を本にするときは、同じようにLaTeXに変換することになると思います。