大袈裟な題目をつけてしまいましたが、私が把握している範囲で「電子組版の歴史」を書こうと思います。(すみません、今回も将棋とは関係ない話題です。)

私が出身大学にいた頃、先輩が紀要原稿を書いていました。

通常の生活では日本語の句点は「。」ですが、大学だと分野によって欧文式に「.」を使うことがあります。

先輩の紀要原稿、本来は「。」であるべきなのに「.」で組版されていたので、先輩は組版業者へ「句点は『。』にしてくれ」という旨の要望を出しました。

で、次の校正用組版を見ると…なんと数式中の小数点まで「。」になっていたのだそうです。つまり

π = 3。14159……

みたいなことになっていたのだそうです。


組版業者は全ての学術分野に通じているわけではないので組版業者を強く責める気にはなりませんが、それでも小数点を「。」に置き換えられた先輩の落胆も分かります。

組版の分野では昔からこういうことが発生していたのでしょう。


Wikipedia から引用します。

スタンフォード大学のドナルド・クヌース教授(現在は退職)が、1976年に自身の著書 The Art of Computer Programming の改訂版の準備中に、鉛版により組版された旧版の職人仕事による美しさが、改訂版の当時の写植では再現できていないことに憤慨し、自分自身が心ゆくまで組版を制御するために開発を決意した。

こうして TeX が生まれました。

ただ、TeX そのものは使いにくくて、上記の数年後に TeX の wrapper として LaTeX が生まれました。LaTeX のおかげで (少々) semantic な執筆が可能になったと言っても過言ではないと思います。

LaTeX 以前に、"TeX" という名の数式の処理に優れる組版ソフトウェアがあり、その TeX を使ってもっと簡単に論文やレポートを作成したいという要望があった。LaTeX はその要望に応えて開発されたものであり、レスリー・ランポートが TeX の上にマクロパッケージを組み込むことで構築したものである。

理系分野の学部の卒業生であれば、大抵は大学在学中に LaTeX を学んでいるものと思います。


ただ、TeX も LaTeX も、ある程度以上の組版を実現しようとすると学ぶべき分量が膨大でして、よほど時間に余裕がないと手が出せない領域があります。

恐らく、元々の設計があまり良くないのだと思います。

こんな呟きを見つけました。

TeXとLaTeX。クヌース先生とランポート先生。
チューリング受賞者がつくってこれかよ。
太字にするとフォントが変更される。

章タイトルが太字にならなくなるとか。あるところを解決すると別のものに変わる。

嘆きたくなる気持ちも分かります。


日本国内では2010年頃に Re:VIEW という処理系が登場しました。これは、markdown に似ている元原稿から PDF 文書も epub 文書も生成してくれるもので、しかも多くの印刷所への入稿条件を自動的に満たしてくれるようです。

個人的に、この Re:VIEW はかなり素晴らしいと感じています。

ただ、backend に TeX を使っているため、ある程度以上の組版をやろうと思うと学習すべき分量が一気に増大します。

私は、見出しに色を付けようとして挫折しました。


2017年頃に CSS 組版 system として Vivliostyle が登場しました。CSS を元にしているので見出しに色を付けることなどお手の物です。backend として TeX を利用していないので、TeX の呪縛から逃れることができます。

ただ、この Vivliostyle というものは説明書がとても分かりにくいです。例えば「Vivliostyle とは?」という説明文は以下の通りであり、これは日本語として「Vivliostyle とは?」に該当しません。

Vivliostyle には開発中も含め、次のプロダクトがあります。

この blog をお読みの方は日本語話者の方でしょうからわざわざ説明するまでもないことですが、「○○とは?」に対応する文は「○○です」です。「○○があります。」ではありません。

(例えば「日本とは?」という文に対して「太平洋に面する島国です」は OK ですが「味噌汁があります」ではダメです。)

更には、初めて Vivliostyle に触れてみようと思う人は恐らく Create Book に誘導されます。私は最初、これが入門経路だと思ってものすごく苦労しました。例によって、以下の冒頭文の通り、Create Book が何者であるかは書かれていません

Create Book は markdown で書いた原稿を CSS 組版して、簡単に PDF ファイルへ変換する環境を構築します。

何度も書きますが、説明書の最初に必要なことは「Create Book とは○○です」という定義です。定義抜きに上記のように「Create Book は○○します」と書いても読者を混乱させるだけです。

Create Book の説明書通りに作業すると、自動的に npm 地獄に陥ります。たった数十行の文書を作りたいだけなのに、文書1つごとに 100MB 程度の disk 容量を消費します。これは、自分1人で文章を執筆する人には影響は小さいですが、文集を作ろうとする人 (各執筆者ごとに git repository を作り、それをとりまとめようとする人) にとっては本当に地獄です。


Vivliostyle が CSS 組版である点に注目していたのですが、説明書があまりにひどいこと、Create Book の罠 (というか npm 地獄) が深いことから私はあまり手を出す気になれずにいました。

しかし、ある時に pnpm というものがあることを知りました。これは npm に替わるものであり、npm 地獄から逃れることができます。

また、Create Book を使わずに本来の Vivliostyle CLI を使えばまともに運用できそうだということも分かりました。

ここまできて、やっと将棋関係者の半生記集の話に繋がります。

「組版の光と闇」という hashtag もあって、この分野はまだまだ発展途上だと思いますが、CSS 組版と pnpm で少しずつ光が見えてきた気がしています。