2005年は、引き続きマスタリングTCP/IPシリーズの拡充や、『Joel on Software』とか『ITRONプログラミング入門』といった自分にとって名刺代わりになるラインナップを少しずつ増やしていった年だったようです。
2006年は、XML原稿からのLaTeXによる自動組版で売り物になる本を作った最初の年でした。それが『RailsによるアジャイルWebアプリケーション開発』です。
この本の原著出版社であるPragProg社では、独自のXMLを原稿の形式にしていて、これを翻訳版でもそのまま最大限に使ってやろうと思って正月にGaucheでLaTeXへのコンバータを書いたのでした。
同じ年の『Ship It!』と『My Job Went To India』も、やはりPragProg社の本の翻訳だったので、このときの仕組みをそっくり流用して制作しました。
2010年以降も、マスタリングTCP/IPシリーズのメンテと拡充を続けながら、"The Little Schemer"の翻訳とか、『インターネットのカタチ』、『すごいHaskell』、TAPLの翻訳、Bird先生の関数プログラミング本の翻訳、あのカーニハン先生の著書などなど、ものすごい経歴の著者訳者の方々と一緒に、内容も責任も重い、でも楽しい仕事をたくさんしてきました。
それまで手探り状態でがんばっていた自動組版化も、良い意味でルーチン化でき、効率よくチームで仕事を回せていたと思います。
最後の数年は、自分たちのチーム以外の企画も技術面でサポートできる余裕もでき、開発部全体でよい仕事ができていたと思います。
公式サイトのREADMEに「an easy-to-use digital publishing system for books and ebooks」とあるように、
Re:VIEWは日本語の技術書をできるだけ簡単に作るための仕組みです。
テキスト原稿に比較的簡便なマークアップをマニュアルどおりに施し、本全体の構造をYAMLに書けば、それなりに体裁が整った日本語の技術書PDFを編纂してくれます。
同じソースからepubも出せます。InDesignへネイティブに取り込めるような出力もはけるので、テキスト原稿をInDesignに流し込んでバッチ組版とかも可能です。
自分が今回使ったのは、主にpLaTeXを介したPDFの出力機能なので、以降はその話だけします。
これは完全に主観ですが、日本語の技術書を書いてみたい、拡張とかいっさい興味ない、という場合、Re:VIEWはよい選択肢です。
まっさらなつるしの状態でツールを使って日本語の技術書らしい体裁を得るなら、いまのところRe:VIEWがいちばん簡単な手段に思えます。
技術書界のRuby on Railsと呼んでもいいかもしれません。
ReVIEW::Compiler.definline :signature
...(中略)
module ReVIEW
class LATEXBuilder
def inline_signature(name_author)
"\\signature{%s}{}{%s}{}" % name_author.split(/\|/)
end
end
class HTMLBuilder
def inline_signature(name_author)
"<div class=\"signature\" sigdate=\"%s\">%s</div>" \
% name_author.split(/\|/)
end
end
end
$ sudo docker run -i -t lenny /bin/bash
e606e97b3187:/# ls
bin boot dev etc home lib media mnt opt proc root sbin selinux srv sys tmp usr var
e606e97b3187:/# exit
$
しかし、\box255 がそのまま DVI ファイルや PDF ファイルの 1ページにはなるわけではありません。
\box255 を調理して DVI ファイルや PDF ファイルの 1ページにするのが「出力ルーチン」の仕事です。
ページノンブルを振ったり、柱を作ったりする仕事も、実は出力ルーチンで行われています。
最後の発表では、ここまで自動組版っぽい話題が多かったなかで、「同一性とは何か」まで考えさせられる版管理系のネタ を力武さんにぶつけていただきました。
図表の差分とれないのつらい、みたいな感想しか持ってなかったので、そもそも図表みたいなものの差分を取りたいのかという問題提起に付いてくだけで精一杯でしたが、
「差分を取るだけでなく、差分に意味を与えて差分をメンテナンスしてくのが編集という営みだろう(意訳)」という話が個人的には刺さりました。
git rebase -i に相当することができない版管理ツールを使うのはやめようと思いました(小並感)。
図表の差分の話もさることながら、 MS Word の原稿をどう比較するかという話への会場からの食いつきがよかったのが意外でした。
あんまり実体をしらないので、表面的な差分をとるだけならツールもけっこうあるし難しくない気がしてたんですが、そうでもないんですね……。
正直なところ、Word に限らず、閉じた世界でならものすごい利便性を提供するツールって、そこに身を投げれば版管理+自動組版が完全に解決するような錯覚に陥ることがあります。
図表の版管理にしても、閉じた世界で便利な解決策を提供しているツールがありそうなものなので、この辺りは寡聞にして知らない系の話というだけかも。