2018年11月13日
_ [travel] TeXConf2018@札幌 旅行 (1)
今年のTeXユーザーの集い、TeXConf 2018は札幌の北大で開催。
TeXも気になるが北の食事は気になるなーということで、前後泊を付けた2泊3日の旅程で行ってきた。
羽田の丸亀製麺。国際ターミナルはよく行くけど国内線は久々?
ANA出発待ち。ここですでに札幌に到着しているp-typoさんから連絡が入り、「快速エアポート、止まってる」。Twitterで調べると、信号機が倒れ、復帰の見通しも立ってない……(5時間くらいかかるのでは?のような発言も)。この日の夕食はとても楽しみにしている会食なので、絶対に逃したくない。
そしてANAも機材到着遅れで10分遅延の発表。
鉄道復旧は期待できないし代替バスで捌ける量でもないだろうと踏んで、出発待ちの間に空港定額タクシーを探す。一覧ページで1社はページがなくなっており、もう1社はドメイン屋になってる。で、ちゃんと出てきた北都交通に電話。高速込み10,600円……。痛いが背に腹は変えられない。TeXConfに行く人は多かったのだが、時間帯で一緒の人もおらず。
機内WiFiで様子を見ていくと、いちおう鉄道の復旧はしたらしい。JR北、がんばった。これだと便乗の人を機内で探すのも難しい(隣の席の人たちは自前の足があるとのことでお誘いダメだった)。
新千歳着。さて、迎えのタクシーはどこだ、と指定場所に行くがいない。電話してみると「混んでいて、いつになるか…でもそんなかからないかも…」という曖昧すぎる連絡。バス乗り場のほうは長蛇の列ができていた。10分ほど遅れてタクシー着。だいぶお歳のドライバーで、ガラケーを使っていることに一抹の不安を覚える。JRの事故+雨+空港周辺で工事で道路が混雑しているようだ。
高速に乗ってからはそこそこ順調に進んで「お、これなら十分間に合うかな?」と思っていたところ、料金所で現金レーンの長蛇列へ。え、ETC積んでないの。15分ロス。 さらにインターを降りる判断も「勘」頼りで、ナビや渋滞情報も参照せず「ここまで行けば空いてるから」と結果的に無駄に遠いインターで降りて渋滞一般道にハマる……。 本来はホテルに寄ってからの予定だったけどもう時間が過ぎていたため、会食の場所へ30分遅れで到着。
後からルートを考えると、地下鉄は動いていたので、新札幌まで行ってそこから地下鉄に乗っていれば余裕で間に合っていたようだ。とりあえずナビもETCも積んでないタクシーは本当にヤバイ。
後着したTeXConf参加者によると、空港線は復旧というにはほど遠い状況で大混乱だったようで、懐に痛くてもタクシーを選んだこと自体は正解だったようだ。
はちきょう!
我が生涯に一片の悔いなし。海の幸がどれも臭みはまったくなくて、鮮度と確かな調理手腕を感じる。名物のイクラはねっとりしてとても美味。本物のカニ入りのカニクリームコロッケも最高だった。@golden_luckyさんは鰊の切込が気に入った模様。
秋田先生、あべのりさんほか皆さまありがとうございました。
ほかの方々は2次会、3次会に向かったみたいだけど、私はようやくホテルへ。 ANAのパックで取って安かったラジェント、4つ星というのはちょっと盛りすぎではという気はするが、静かで広めなのはよい。
ここのフリースマホAndroid端末は、5分に1回くらい再起動を繰り返していて電源を切っても再起動する。明るくて目障りなので逆さにしておいた。
大浴場でさっぱりして少しお仕事をこなす。
朝ご飯。満室で7時半以降は混むそうなので、6時半のガラガラなときにのんびり。味は悪くないけど、キッチンスタッフは別にオムレツを作ってくれるわけではないらしい……。
装飾の手法が、台湾のホテルっぽい?
中国・韓国のお客さんが多い。 地下鉄に乗り、北大へ向かう。
北大キャンパス、紅葉のぎりぎりの時期。本当はもう雪が降ってくるくらいなので、相当な暖冬のようだ。重厚な建築物がすばらしい。
学食前できえださんら、理学部前でmunepiさんと黒木さんに会う。
_ [computer] TeXConf2018@札幌 発表聴講
さて、ここまできたメインははちきょう……じゃなくてTeXConfである。北の大地に呼び寄せられて教室はけっこうな人数となった。
@wtsnjpさん『llmk: 新時代の LaTeX 文書ビルドツール』
日々鋭いご意見・観察眼に感嘆することの多い @wtsnjp さんの、ビルドツールの紹介。既存のTeXソース→(PDFなどの)最終形態のビルドツールがそのビルド環境依存になりやすく、ビルドルールまで含めたものを配布しづらいということに対する解決案。実装はtexlua。
toml形式の設定ファイルを用意しておくと、必要なシーケンスだけが実行される。
自前のMakefileの置き換えにはさっそく使えそうな気がする。ただinclude/inheritの機構はないので、ほぼ同じ2つのtomlファイルを用意して保守する、ということになるだろうか。
Re:VIEWのほうでも、今の「収束しようがしまいが3回コンパイル」よりはマシにできそう。Re:VIEWは一時フォルダに変換後TeXソースを書き、終わったら消すという仕組みなので、「必要なシーケンスだけ」のメリットは活かしにくいのが難点か。一時フォルダ内に、Re:VIEWプロジェクトのconfig.ymlをもとにtomlファイル(コンパイラ、dviウェア、索引有無などの設定)を書き出し、それから実行する、というプロセスになりそう。Re:VIEWで機能として入れるにはvendorにつっこむか、あるいはDebian stableで使えるという原則にしているので、TeXLiveフリーズとDebian stableフリーズのタイミングを考えるとllmk化はちょっと先になりそう。
途中エラー時の例外捕捉はまだないそうなので、これからの実装に期待したい。
norbertさん『TeX LiveのCIテスティング』
半袖のノルベルト。
TeXLiveのSubversion管理と、開発のGit管理を結びつけて調整しつつ、Travis CIとAppVeyorでインストーラやバイナリのテストをする手法。
私もCI自体は以前から使っており、TravisとAppVeyorもRe:VIEWで使っているので、その点では目新しいというわけではないが、TeXLiveのリポジトリが巨大すぎてGitHubに入らないとか、テストは意外と早く終わるとかいった興味深い話だった。
@bd_gfngfnさん『型による静的検証能力の高い組版システムSATySFi』
昼食を挟んで、SATySFi開発者の@bd_gfngfnさんの発表。レンダリングロジック上TeXグッバイができるかはともかくとして(wrapfigみたいなことは厳しいらしい)、静的な「型」があることで実行前検証が実現できるというのは確かに大きなメリットと思え、型好きな人たちの気持ちが腑に落ちた(とはいえ、今の私の主開発言語はRubyとJavaScriptなのでダックタイピング万歳だけど)。
あと、その箇所よりもだいぶ前の問題が理由なのに結果的に意味不明なエラーが出る、というのを「Re:VIEWの問題・わかりにくさ」(理不尽だ……)と捉えてしまっている人は散見されるので、SaTySFiのように明確にわかるのはよさそう。日本語メッセージでほしい、というのはあるかもしれない。
型とそれに基づく記法で、「不適格なコードを入力として与えやすい」ということを防ぐという前提があったと思うのだけど、Markdown実装を公式に進めていくということであれば、Re:VIEWもSaTySFi形式のバックエンドを作ってもよさそうだなと思った(以前はネイティブ記法以外を使う意味はあまりないのでは?という印象だった)。バックエンドの場合はエラーメッセージの行・列情報があまり役立たなくなるのが問題か。CFF OpenTypeはまだ埋め込めないみたい。
なぜあの絵柄なのですかという質問は出なかった。そして本をまた買い損ねたが、同僚から借りる予定……。
石野さん『Breaking Paragraphs into LinesのAHFormatterへの応用』
アンテナハウス AHFormatterの開発チームの方の発表。
現地参加者でAHFormatterを購入したことがあるのは私くらいだろうか。残念ながら採用するような案件を増やせなかったので今は継続していないが、「今」「CSS組版を」「そのまま印刷所に入れられる」観点ではAHFormatterが他に頭ひとつ抜けている印象がある。
発表内容としては、今のAHFormatterに実装したものではなく、段落内での行分割配置についてKnuthアルゴリズムなどを実装してみたというトライアル報告。
Unicodeの文字情報では行単位での制御しかなく、段落を綺麗に整形しようとすると段落全体を見て、重み付け(デメリットやペナルティと呼ばれるもの)を行い、適切に改行していく必要がある。さらに日本語の場合は基本的にわかち書きをしないし、和欧混植だとハイフネーションはしないこともあったり、おまけにルビを付けたりすると分割で再評価が発生してしまったりといろいろ悩むものが多い。
今のところトライはしてみたけれども、さほど現状の実装とは見た目に大きな美しさの変化はないということだった。発表自体は早めに終わったものの、質疑は活発で、組版エンジンや段落の話になると皆饒舌だな!
なお、Adobe InDesignのほうは「わかった、全部用意するので好きなようにしたまえ」というスタンスなのか、行コンポーザと段落コンポーザの2つを用意したり、グルーを文字クラス単位で設定できたり、ルビも重なったり行が割れそうになったりしたときにどうするかを指定できたり、となっている。
北川さん『LuaTeX-jaの近況』
恒例のLuaTeX-jaの生存確認だそう。
TeXでdisplaystyleやdfracを使った「大きな」インライン式が上下にはみ出すときに、通常のベースライン行間の範囲(\baselineskip)を越えたときに、通常は\lineskipが使われる。これは行としては不揃いな見た目になり、特に1つの段落にそういうインラインが複数あると、とても汚い。
この解決策として、luatexja-adjust.styを導入し、大きなインライン式などで隣接行のボックスを判定して入れられそうなら詰めたり、広げる行間をベースライン行間を基準に指定したり(たとえば半行単位や1/4行単位でずらしていくようにする)することができる。
実際こういう事例は業務でもよくあり、赤字で「綺麗にせよ」という指示が入って必死に調整するハメになっているので(インラインで大きいものを使うな、というのが本来だけど……)、この実装はとても嬉しい。このためにlualatex使ってもいいのではというくらい。
もう1つの話題はフォント。LuaTeX-jaは和文フォントを読み込むときにLuaテーブルを作成し、メモリにキャッシュとして持つのでメモリ消費が莫大になってしまう。従来推奨されてきたluatexja-fontspecの場合は実際にはコンテンツで使われないものも読んでしまい、時間およびメモリの消費が激しい。
そのため、luatexja-presetパッケージで、従来のpLaTeX系のようにnfss形式で指定するnfssonlyオプションを導入する。otf deluxe、pxchfonに類似した程度の使い方であればこれでおおむね問題ないとのこと。
また、luatexjaパッケージにdisablejfamオプションを指定し、数式内の和字を無効化すれば、scriptstyle等での和文フォントの取り込みが不要になり、軽量化されることが示された。ただ\textをされたら終了だし、Re:VIEWでも仕事TeXでも数式和字を使うなというのは無理な話なので、この軽量化は残念ながら身近には使えなさそうだ。
あとは縦組和文フォントを除くとだいぶ軽くはなる模様。
@golden_luckyさん『.epsを.texで使う』
イントロで4分を消費し、オチまでいかなかった。
Ghostscriptは日々使っているが、METAPOSTは使ったことないなー。pstoeditは名前から「オッ!?」と期待して実行してガッカリする人が後をたたないアプリケーションだよね。
@aminophenさん『日本語のLaTeXで幸せになる,かもしれない方法』
gentombowや各種px*で日々お世話になっている@aminophenさん。
TeXにまつわるたいていの競合・相性問題は「pxナントカ」で解決できるが、pxナントカが大量なので、どれを適用すべきかわからない問題。
そこで、plautopatchパッケージを用意。これをRequirePackageしておけばすべて面倒見てくれるというわけ。尊い。
盛況のうちにTeXConf 2018は閉会。
2018年11月14日
_ [travel] TeXConf2018@札幌 旅行 (2)
旅行のほうの続き。
TeXConfのお昼は、佐々木さんに推薦いただいてスープカレーのピカンティ。行列必至というお店らしいけど、ちょうど合間の時間でさほど待たずに入れた。
骨なしチキンと野菜のスープカレー。ほどよい辛みでおいしい。
セイコーマートも拝見。
北大に戻る。紅葉が見事。そしてエレベータ前の張り紙が……。
懇親会。お話ししたい人も多かったので、もっと席を移動すればよかったか……。しかしボッチ体質と腰の重さがいかんね。
二次会に行く「エキスパンドアフター!」と叫んでいる集団がいたらしい。事案だ。
@golden_luckyさんも同じホテルだった。てくてくと歩く。夜景にはちょうどいいお天気。
今回はiPhone XSだけしか持っていかず、おおむね問題はないけどデジタルズームはやはり厳しい。クアッシャァァァァ!が嫌なのでLiveフォトにしていたのだけど、これGoogle Photoに上げると音付き動画になっちゃうしサイズも大きいのな。後でLeanという変換アプリをApp Storeで買った。それでもGoogle Photoアプリをうっかり立ち上げたりしてしまうと先に同期されてしまうので注意だ。
朝ご飯を食べていたら、@golden_luckyさんとちょうど一緒になった。ここはローストポークが一番かな。
飛行機は夕方の便で暇なので、「開拓の村」に行ってみることにした。新札幌まで地下鉄で行き、そこからバス。本数は少ないけど、ちょうどタイミングよく乗れた。
到着。「ゴールデンカムイ」アニメ化で聖地っぽくもなっているらしい?
開拓時代の建物を移設したり再現したりしたらしい。
うまー。
中学校。
ニシン漁村。
消防署や製糸場。
apt-get moo.
材木機関車がカワイイ!
寄宿舎。入ると寮歌が流れる。
ハイカラな写真館と、台湾にありそうな交番。
街をひとめぐり。
ゴールデンカムイパネル。タイアップ料理はあったんだろうか……。
バスに間に合ったので、新札幌に戻ってきた。htairaさんにお勧めされた千歳水族館に行ってみる。エアポート快速は普通に激混みでした。
千歳駅でコインロッカーに預け、あまり何もないところをてくてくと15分ほどで到着。
鮭の水族館なので、併設のショッピングゾーンには何かイクラとか海鮮とかの料理あるかなーと思ったけど、とりたててそういうものはなく。ザンギがある台湾中のお店に入る。席はガラガラだけど待機列があって、スタッフが右往左往するわりに全然回ってないという感じで味はどうかな…と思ったけど、ザンギと蒸し餃子の定食は存外に良かった。
とても立派な水族館で、大水槽には鮭・マス・イトウ・チョウザメなど大型のものが多く、見応えがある。うまそう。
電気ウナギやピラルク、ピラニアなどの海外種も。
堅気じゃなさそうなご一行さまも「オマエ指入れてみろよー」「やだよー」とキャッキャウフフしてる水族館すごい。
水族館は鮭が遡上する川に隣接していて、窓ごしにそのまま川の中を見ることができる。すごく運が良ければ遡上を観察することもできるわけか、なるほど、これはhtairaさん推薦のとおりすごい。
アイヌ料理紹介コーナーがあった。チタタプチタタプ。
チンアナゴもおるで。
川を上から。
荷物を回収し、空港。あいかわらずデパ地下の様相の充実おみやげ売り場っぷり。 第一次買い物を終えて、冷えた白を1杯。おまけの小さいのももらった。
チーズ・ソーセージや鰊切込などの第二次買い物も済ませ、搭乗。帰りも満席、地震復興割引の効果もあるのかもだけど、大人気だなぁ。『もうすぐ絶滅するという開かれたウェブについて』(達人出版会)を読み進めたりWiFiで遊んだりしているうちに到着。
レンタカーのない身には2泊3日でちょうどいい旅行。
TeXConfも盛況で、またさまざまに興味深く、気持ちが高まる内容で充実した。
さて、来年のTeXConfはいかに。