今日は、レスリー・ランポートさんの誕生日(1941)
現在マイクロソフトリサーチに所属する、分散コンピューティングの研究者です。
チューリング賞受賞のほか、多くの業績があります。
でも、僕としては LaTeX の開発者、として紹介したいです。
LaTeX の La は Lamport の La。
TeX は、ドナルド・クヌース教授が開発した組版システムです。
組版、ってのがまた知らない人にはわからない世界なのだけど、印刷物の直接の原型を作る作業です。
原稿があって、それを活字を組み合わせて印刷できる「版」を作る。
昔は「植字工」と呼ばれる人の仕事でした。
クヌース教授が数学の本を書いたところ、植字工は高等数学の知識がなかったため、数式に間違いが多々ありました。
そこで教授は「コンピューターで組版をするシステム」を見つけてきて使おうとするのですが、これは単に文字を並べるだけで、美しい本になりませんでした。
ならば自分でシステムを作ってしまえ、と作られたのが TeX 。
古今東西の組版技術を調査し、コンピューターで扱いやすい、美しい文字からデザインしました。
あらかじめ「本を作る際の体裁」…上下の余白は何インチ、右ページと左ページのそれぞれで、左右余白は何インチ、ページの上左右には章のタイトルを何ポイントのフォントで表示…などをテンプレートとして記述します。
そして、そこに「原稿」を流し込むことで、自動的に美しい組版を行います。
ただ、この原稿も、タイトル前だから改ページ、この部分はタイトルだから何ポイントのフォントで…など、自分で指定する必要がありました。
システムとしては素晴らしいものだったのですが、使いこなすには高度な組版の知識が必要でした。
ランポートさんは、この TeX を誰でも使えるものにしました。
TeX には、組版中で繰り返し行われる「記述」を自動化するための、マクロプログラムの機能がありました。
その機能を活用して、組版の知識が無くても使えるようにしたのです。
このマクロによるシステムを、LaTeX と言います。
予め、「書籍」「論文」など、いくつかのテンプレートを用意し、目的を選ぶだけで体裁が整うようにします。
そのうえで、原稿は「意味」をタグ付けしながら記述するようにします。
ここは章のタイトル。ここは小見出し。ここは引用。ここは数式…というように。
すると、タイトルは大きな文字で、小見出しは中くらいの文字で表示されるうえ、それらを手掛かりに自動的に目次まで作り上げてくれます。
… HTML っぽい、と思った人もいるでしょう。
ただ、LaTeX が作られたのは 1985年。
HTML は、1989年。
LaTeX が HTML っぽいのではなくて、HTML が LaTeX っぽいのね。
#もっとも、文章中に「意味」をタグ付けする、という考えの元祖である GML は 1979年に作られている。
GML が SGML となり、その亜流として HTML や XML が作られている。
昔はともかく、今は MS-Office があるから、ややこしい方法で文章を作らなくても、見栄えする文章作れるよ? と考える人もいるかもしれません。
実際、上手に Office で作った書類と、LaTeX で作った書類だったら、それほど見栄えは変わらない。
Office だって、今は数式入力機能あるし、章立てを元に自動で目次を作る機能だってある。
でもね、LaTeX の目的は「見栄えのする文章を作る」ことではありません。
見栄えの良い文章を作ろうとして調整を繰り返すような無駄な時間を減らすこと、が目的。
文書作成には、自分の使いやすいテキストエディタを使います。
これだけで MS-Office よりもうれしい、という人だっていそう。
いや、Office だって、テキストエディタで書いてからコピペ、という人多いかな。
そして、ある程度タグ付けしながら文章を作ったら、コンパイル。
文字の折り返し位置が気に食わないとか、章の終わりがページの区切りに収まりそうで収まらないとか、そういう気持ちの悪い部分が出ないように、一生懸命自動的に調整を繰り返してくれる。
具体的にいえば「禁則処理」を行ってくれているのです。
禁則(禁足)というと、行頭に「、。」などが来てはならない、という規則を思い出す人もいるかもしれない。
でもそれだけではなくて、1行の文字数を変えてはならないとか、1ページの行数を変えてはならないとか、その一方で1ページに1~2行だけしか書かれていないページがあってはならないとか、いろいろある。
それらの優先順位を定めておけば、自動調整してくれるのです。
例えば、1ページに1行しかないページがあったら、前のページに行を無理やり押し込んでくれる。
でも、そうすると1ページの行数が守られなくなるから、何とか他の行に文字を詰め込んで、行数を合わせてくれる。
もちろん、Office だって同じことできますよ。
でも、自動ではやってくれないから、手間をかけて調整しないといけない。
ここは LaTeX のすごいところです。
もっとも、長い文章を書く人でなければ、Office 使っているほうが気楽で良いと思います。
僕は大学時代に論文を書くのに LaTeX 使っていたけど、X68000 にはまともなワープロが無く、LaTeX を使わざるを得なかった、という理由もありました。
その後で HTML が流行した時に、すぐに理解できたから、決して経験は無駄ではなかったけどね。
でも、今でも時々 LaTeX 使いたくなることあります。
てきとーに書いた、遊びで脚注とか入れまくった文章を、すごく美しく整形してくれるのが気持ちいんだよね。
これは、経験してみないとわからない楽しさです。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |