2014/11/10

TeXユーザの集い2014でしたTUG2014の話

プレゼン資料だけだとあまりに情報量がなさそうなので、発表の準備のときに用意していた原稿も下の方に張り付けておきます。未編集です。



自己紹介
======
こんにちは、鹿野です。ふだんは神田の技術系出版社で書籍の企画をしたり編集をしたりしています。
むかしは半分趣味でTeXマクロを書いて遊んだりもしていましが、最近はもっぱら仕事上のおつきあいという感じです。
その仕事では、バージョン管理している原稿から印刷所に入稿するPDFを自動組版するのに、pLaTeXを使っています。

今日は、TUGのアニュアル・ミーティングという、この「TeXユーザの集い」のワールドワイド版みたいなものに参加してきた話をしたいと思います。
今年の集いは、ライトニングトークまで含めて、ものすごく濃厚な内容になっていますが、私の発表は技術的な内容は薄い、文字通りの体験記なので、気楽に聞いていただければ幸いです。

TUGについて
======
まず、そもそもTUGって何、という話から入ろうと思います。
TeXのユーザー会は、実は世界のいろいろな地方ごとにあって、その北米版が「ユーザーに「s」がつくほうのTeX Users Group」で、その略称がTUGです。
ちなみに、日本はこのオフィシャルなTeXのユーザー会がないんですよねー
今回の「集い」で事前に日本のTeXユーザーの組織化に関するアンケートがあったと思うんですが、このTeXユーザーグループに名を連ねようという布石なのかもですね。
いや、知らないんですが。

で、北米版のTeXのユーザー会であるTUGが、全世界のTeXユーザーグループでもあるという形になっています
ので、TUGの会員には、北米在住でなくても、年会費を払えば地球のだれでもなれます。わたしも一応TUGの会員に「個人で」なっています。年会費は$105です。
この年会費は、みなさんご存知のCTANの運用にも使われているらしいので、仕事とかでTeXを使っているので還元したい方は会員になってみるとよいかもしれません。

TUGboat
======
TUGの会員になると、TUGboatという雑誌が送られてきます。年に3回です。
これの編集と発行もTUGのお仕事です。
まあ、1年たつとすべての記事がオンラインで誰でも読めるようになるので、TUGboatを読みたいだけならば、会員になったりしなくても大丈夫です。

TUG年次総会
======
で、ここからだんだん本題になるんですが、TUGのもっとも大きな役割としてあるのが、世界中のTeXユーザーの交流の場となる、年に一回のイベントの主催です。
去年は、この中で参加した方も多いと思うのですが、東京で開催されました。通算、第34回だったんですが、日本では初めての開催だったということです。
150人くらいの参加者だったそうで、大成功だったようです。
私も、去年ちょこっとかかわらせていただいて、それがすごく楽しかったので、今年もぜひ参加したいと思って参加したのが、アメリカのポートランドで開催された第35回のTUGであるTUG 2014になります。

ポートランドについて
======
ポートランド、あんまり日本人にはなじみがない気もするので、ちょっとだけふれておきたいと思います。
ポートランドは、オレゴン州の北西にあって、オレゴン州でいちばん大きい都市です。
で、私もぜんぜん知らなかったんですが、TUGの本部がある場所なんだそうです。そんなわけで、過去に何回か、ポートランドでTUGが開催されてるみたいですね。

これも知らなかったのですが、ポートランドはバラの街としてしられているらしいです。
あと、自転車の環境がすごく整備されていて、みんな路面電車に自転車をもちこんだりしてるんですね。
街の真ん中にすごく大きな川、ウィラメット川が流れていて、写真にあるような鉄橋をはじめ何本も橋がかかってるんですが、それらにも自転車用の道が整備されていて、びゅんびゅん行きかってました。
自転車って、盗難とかコワイので、治安がよい場所じゃないとあんまり流行らないわけですが、実際、ポートランドはアメリカでも最も治安がいい街のひとつなんだそうです。
なので、まあ日本で夜に出歩くほど気楽というわけじゃないですが、夜になって飲みに繰り出しても、そんなに恐ろしくない町でした。
しかも地ビールの醸造所が何カ所もあるんですね。直営のバーとかもいっぱいあったり、これはもう夜は飲みに行くしかないだろう、という感じで、

ビール
======
しかも、ちょうどTUGの前日まで地ビール祭が開催されてたらしくて、私は間に合わなかったんですが、
前入りしてた黒木さん、去年のTUG2013の実行会長ですが、その黒木さんは、この地ビール祭であびるほどビールを飲んでたらしいです。
私のほうは、発表にも申し込んでいたので、飛行機の中とかで必死に発表の練習をしてたわけですが、その間にすっかりポートランド観光してたと。
この写真も、そんな黒木さんが私が到着する前に見つけてくれていたスーパーのビール売り場の様子です。
この一角だけでもこれだけの銘柄の地ビールが並んでいて、それでちゃんと経営が成り立ってるわけですね。
こう、アメリカっていうと、大量消費・車社会・治安も悪い、みたいな印象もあったのですが、ポートランドに限って言えば、すごく成熟した素晴らしい町でした。

会議の場所
======
そんなポートランドのダウンタウンの片隅に、マークスペンサーという小さいけれどいい感じのホテルがあって、そこの地下が今年のTUGの会場でした。
この写真の正面が下に続く階段になっていて、その奥の会議室が会場です。

ホテルなので、ほとんどの参加者は、私や黒木さんも含めてそこに滞在もしてたみたいです。
だから、本当に朝から晩まで、会議中もそれ以外の時間も顔を合わせるわけですね。

あと、このマークスペンサーホテルのよいところとして、すぐ近くに世界最大のチェーンじゃない書店があります。
TeXのユーザーの集まりなので、本とか大好きっこばかりが集まってるわけだから、みんな空いた時間にこのパウエルズという本屋さんに遊びにいくわけです。
とにかくすごい大きい本屋なのですが、誘い合わせていったわけでもないのに、ばったりほかの参加者にあったりもしました。

Powell's
======
この写真はパウエルズの店内で撮ったもので、まあ、宣伝です。
弊社で作ってる「マンガでわかる統計学」とかの英訳版がこんなふうに面出しされていて、かなりうれしかったです。
こっちはTeXの本のコーナーで、世界最大でもこれしかなかったので、ちょっとさびしい感じですね。

プレゼンの話(概要)
======
TUGの会議そのものは、一言でいってしまうと、プレゼン大会です。
3日間にわたって、35分ずつ、一日10本くらいのプレゼンがあって、大部分の参加者がすべてを聞いていたと思います。
実際、参加者の半分以上がプレゼンもするという構成です。

プレゼンの内容は、ものすごく自由で、TeXに関係するツールの話もあれば、パッケージの紹介もあれば、TeXでこんなことしてみましたという事例の話もあります。
いろんなツールやパッケージの開発者もいるので、こういうこと考えてよとか、そういう話もありました。
全部のプレゼンについて一つずつ説明していくのは時間的にも能力的にも無理なので、詳細はTUGのWebや、最初に紹介したジャーナルのTUGboatでチェックしてみてください。
プレゼンターが直接書いた記事があるものもあるし、TUG 2014全体の要約記事なんかもあります。
もし気になったのがあったら、聞いてもらえれば、ひょっとしたら「こんな話だったよ」と言えるかもしれません。

なので、いくつか個人的に気になったプレゼンをピックアップしてみたいと思います。

Astonishing
======
まずはなんといっても、JSBoxです。
これ、名前から何なのかまったく想像できないんですが、TeXのCによる再実装です。
WEB2Cのアウトプットを書き換えたとか、そんなちゃちなものじゃなくて、ゼロからこのダグ先生がCで書き直して、トリップテストも機能的にはパスさせてしまったというやつです。
ダグ先生の会社は、数学チックで再帰的な図案のデザインとかMacのコンサルとかやってるらしくて、
なんでCなんだよ、っていうのが個人的な感想ですが、それはまあおいといて、すごいですね。
内部的には21ビットのUnicodeで、それ向けにオリジナルTeXのアルゴリズムやデータ構造を全部再実装したらしいです。エンコーディングにはUTF-8を採用と言ってました。
OpenTypeフォントがなんでも使えるといってるので、そのまま日本語も使えるといいよねーという感じなんですが、TeXのcatcodeを勝手に拡張しちゃっていて、
catcode 16を名前空間のセパレータ用として予約しちゃっているんですね。なのでptex 向けのマクロやスタイルは全滅かもしれません。
「今度のTeX Liveにいれよう」みたいになってたので、そのうち使えるようになったら試してみたいですね。

もうひとつ会場を沸かしてたのは、カベーさんの発表です。
GUIでパラメータが設定できるようになっていて、そこの数値をスライダーとかで動かすだけでLaTeXのページ版面とか簡単に設定してしまうのをデモされてました。
いろいろなパッケージを内部で階層的に管理している部分がポイントらしくて、原理的には、なるほどねーという感じなんですが、実際デモを見るとすげーっていう感じでした。

Interesting
======
個人的に興味をもって聞いてたのは、TeXと、印刷用じゃない出力との関係についてのプレゼンでした。

日本だと割とすぐにEPUBとかに走っちゃう印象があるんですが

たとえばPDFのリフロー対応とか、
これ、たとえばdvipdfmxで作ったpdfでもAcrobatでタグ付きPDFとかに変換すると、Adobeリーダーでもちゃんとリフローが機能するPDFになったりするんですが、
pdftexが生成するpdfではスペースの出力がまずくて、全部の単語がくっついちゃってたらしいんですね。それを解消しました、みたいな発表があったり、

まあ、やっぱりほとんどAdobeのリーダー専用なんですが、PDFのアノテーションとかレイヤとかをTeXからもっと使おうぜとか、

あとは、LaTeXの原稿からWebブラウザで「読める」出力を得る方法を模索している話とかもありました。
たとえは、この写真のビルさんは、統計の先生なんですが、XMLと対応できるLaTeXの部分集合みたいなのを定義して、それをここ何年か開発しているとのことなのですが、
その中で数式をMathMLのサブセットとCSSでここまでブラウザ上で再現しました!という発表をされていたり、
これはまた別の人なんですが、アメリカ・インスティチュート・マスマティクスのジャーナルのLaTeX原稿をHTMLに変換した実例をデモする発表をする人がいたり、
これも単に変換するのではなくて、参考文献とか、クリックすると単なるリンク先に飛ぶのではなくちゃんとJavaScriptのアクションで本文の直後に詳細な情報を表示するようにしないとだめとか、そういう話が面白かったです。

あと、TeXとはまったく関係ない話もぽつぽつあって、
数学の教科書用のXMLアプリケーション、XML用語の「アプリケーション」ですね、これを使ってSAGEにも紙にも対応した教科書を作ってる話とか
Plottyっていうグラフ作成のWebアプリがあるのですが、それの中の人のプレゼンとか、
あと、この写真のおじさん、Wikiを発明したウォード・カニンガムです、この人がゲストスピーカーで、新しいWikiを作っていますという話をしたり、
面白かったのは、みんな、「TeXに関係は?」みたいな質問をされるんですよ。その答えが、どれも、MathJaxで数式を表示してます、でした。
たぶん、数式をWebブラウザとかで表示したい場合は、個人的にはビルさんのアプローチとかのほうが好きなんですが、もうMathJaxになるんだろうなあという思いを強くしました

プレゼン外
======
TUGそのものがプレゼン大会だっていうのは、さっき言ったとおりなんですが、
プレゼンだけなら、わざわざ太平洋を越えていかなくても、あとでスライドとか動画を見るのでもいいわけですよね。
というわけで、最後にプレゼン以外の話です。

去年のTUG 2013でもプレゼン外の雑談が有益だってって、寺田さんがブログに書いてらっしゃいましたが、
実際、TUG 2014もそうで、しかも朝から晩まで一緒の空間にいるので、合宿みたいなノリになってるわけですね。
昼休みや休憩はもとより、朝からホテルのラウンジでコーヒーを飲みながら雑談が始まるわけです。
毎年TUGに参加している人たちって、プレゼンを名目に旧交を深めて観光旅行してるだけなんじゃないかと。
とくにこのパブニートさんは、去年のTUGで仲良くなって、今年もすごく仲良くしてくれて、
ほとんどはTeXに関係ない話だったりもするわけですが、こういう雑談の時間がすごく有意義でした。
ちなみに、このプレゼンで使っている写真は、ほとんどは彼によるものです。使っていい?って聞いたら快諾してくれました。

夜も夜で、ドイツからきているフランク・ミッテルバッハさん、LaTeX2eの開発者で、LaTeXコンパニオンの著者です、このすごい人が、なんか飲みに誘ってくれるわけですね。
で、こんなふうにレストランでメニューを見ながら、これ何やってるのかというと、みんなでメニューの組版にケチをつけてるんですね。

こっちは懇親会の写真なんですが、こっちの二人はインドから来ているTeXニシャンで、この人は黒木さんです。
プレゼントに当選したときの様子です。隣のクリス・ローリーは、LaTeXコンパニオンの第2版の共著者の一人で、この懇親会の直前にビールをおごってくれました。
懇親会の後も、このクリスと、フランク、それから、こっちの奥にうつっているウィル・ロバートソン、fontspecとかの開発者です、それに黒木さんと私とでビールを飲みに行きました。
いま、こうやって話してても、なんて贅沢な時間だったんだろうと、なんか自分なんかがほんと図々しかったのではないかと恐縮に感じてしまいます。

というわけで、いろんなプレゼンを聞いてきた話よりも、こっちのほうが今日、メインに伝えたいことかもしれません。