トップ «前の日記(2018年11月12日) 最新 次の日記(2018年11月14日)» 編集

KeN's GNU/Linux Diary


2018年11月13日

_ [travel] TeXConf2018@札幌 旅行 (1)

今年のTeXユーザーの集い、TeXConf 2018は札幌の北大で開催。

TeXも気になるが北の食事は気になるなーということで、前後泊を付けた2泊3日の旅程で行ってきた。

photo


羽田の丸亀製麺。国際ターミナルはよく行くけど国内線は久々?

photo


ANA出発待ち。ここですでに札幌に到着しているp-typoさんから連絡が入り、「快速エアポート、止まってる」。Twitterで調べると、信号機が倒れ、復帰の見通しも立ってない……(5時間くらいかかるのでは?のような発言も)。この日の夕食はとても楽しみにしている会食なので、絶対に逃したくない。

そしてANAも機材到着遅れで10分遅延の発表。

鉄道復旧は期待できないし代替バスで捌ける量でもないだろうと踏んで、出発待ちの間に空港定額タクシーを探す。一覧ページで1社はページがなくなっており、もう1社はドメイン屋になってる。で、ちゃんと出てきた北都交通に電話。高速込み10,600円……。痛いが背に腹は変えられない。TeXConfに行く人は多かったのだが、時間帯で一緒の人もおらず。

機内WiFiで様子を見ていくと、いちおう鉄道の復旧はしたらしい。JR北、がんばった。これだと便乗の人を機内で探すのも難しい(隣の席の人たちは自前の足があるとのことでお誘いダメだった)。

新千歳着。さて、迎えのタクシーはどこだ、と指定場所に行くがいない。電話してみると「混んでいて、いつになるか…でもそんなかからないかも…」という曖昧すぎる連絡。バス乗り場のほうは長蛇の列ができていた。10分ほど遅れてタクシー着。だいぶお歳のドライバーで、ガラケーを使っていることに一抹の不安を覚える。JRの事故+雨+空港周辺で工事で道路が混雑しているようだ。

高速に乗ってからはそこそこ順調に進んで「お、これなら十分間に合うかな?」と思っていたところ、料金所で現金レーンの長蛇列へ。え、ETC積んでないの。15分ロス。 さらにインターを降りる判断も「勘」頼りで、ナビや渋滞情報も参照せず「ここまで行けば空いてるから」と結果的に無駄に遠いインターで降りて渋滞一般道にハマる……。 本来はホテルに寄ってからの予定だったけどもう時間が過ぎていたため、会食の場所へ30分遅れで到着。

後からルートを考えると、地下鉄は動いていたので、新札幌まで行ってそこから地下鉄に乗っていれば余裕で間に合っていたようだ。とりあえずナビもETCも積んでないタクシーは本当にヤバイ。

後着したTeXConf参加者によると、空港線は復旧というにはほど遠い状況で大混乱だったようで、懐に痛くてもタクシーを選んだこと自体は正解だったようだ。

photo photo photo photo photo photo photo photo


はちきょう!

我が生涯に一片の悔いなし。海の幸がどれも臭みはまったくなくて、鮮度と確かな調理手腕を感じる。名物のイクラはねっとりしてとても美味。本物のカニ入りのカニクリームコロッケも最高だった。@golden_luckyさんは鰊の切込が気に入った模様。

秋田先生、あべのりさんほか皆さまありがとうございました。

photo photo photo photo photo


ほかの方々は2次会、3次会に向かったみたいだけど、私はようやくホテルへ。 ANAのパックで取って安かったラジェント、4つ星というのはちょっと盛りすぎではという気はするが、静かで広めなのはよい。

ここのフリースマホAndroid端末は、5分に1回くらい再起動を繰り返していて電源を切っても再起動する。明るくて目障りなので逆さにしておいた。

大浴場でさっぱりして少しお仕事をこなす。

photo photo photo photo photo photo photo

朝ご飯。満室で7時半以降は混むそうなので、6時半のガラガラなときにのんびり。味は悪くないけど、キッチンスタッフは別にオムレツを作ってくれるわけではないらしい……。

photo photo photo photo photo photo photo


装飾の手法が、台湾のホテルっぽい?

photo photo photo photo photo


中国・韓国のお客さんが多い。 地下鉄に乗り、北大へ向かう。

photo photo photo photo photo photo photo photo photo photo photo photo photo photo photo photo photo photo photo photo photo photo


北大キャンパス、紅葉のぎりぎりの時期。本当はもう雪が降ってくるくらいなので、相当な暖冬のようだ。重厚な建築物がすばらしい。

学食前できえださんら、理学部前でmunepiさんと黒木さんに会う。

_ [computer] TeXConf2018@札幌 発表聴講

さて、ここまできたメインははちきょう……じゃなくてTeXConfである。北の大地に呼び寄せられて教室はけっこうな人数となった。

photo

@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の近況』

photo

恒例の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で幸せになる,かもしれない方法』

photo

gentombowや各種px*で日々お世話になっている@aminophenさん。

TeXにまつわるたいていの競合・相性問題は「pxナントカ」で解決できるが、pxナントカが大量なので、どれを適用すべきかわからない問題。

そこで、plautopatchパッケージを用意。これをRequirePackageしておけばすべて面倒見てくれるというわけ。尊い。

盛況のうちにTeXConf 2018は閉会。

_ [cooking] 鳥トマトパスタ、もやしのレモンサラダ