\LaTeXはもう古い!令和の組版処理システムは\SATySFiで決まり!
Abstract
TeXのような組版処理システムは、ユーザーが書いたマークアップ言語を処理して、PDFを生成するシステムである。特にTeXは、理工系分野において論文、レポート、スライドなどの用途に広く用いられており、理系大学の新入生たちの一定数が、悪いお兄さん達にそそのかされてTeXを使い始めるケースが多い。しかしTeXにはユーザーにとって不親切な点がいくつか存在する。TeXを書くことはしばしば苦痛であり、ゆえに脱TeXの流れはもっと大きくなってもいいと考える。そこで、これからレポートを書くのにTeXを使おうと思っている人や、今までTeXばかりを使ってきて、他の選択肢を検討したこともない人のために、もっと悪いお姉さんであるところの私が、環境構築も簡単かつTeXの欠点を克服したシステムを持つSATySFiをここで紹介する。
SATiSFiは以下に1つでもあてはまる人におすすめである。
- TeX の わかりにくいエラーメッセージにうんざりしている
- プログラミングが好きな人 (特に関数型プログラミングに興味がある人)
- これから組版システムを使い始める人
- TeXを使っている人
SATySFiの特徴
SATySFiはTeXと同様、専用のマークアップ言語で書かれたファイルを読み込んでPDFを生成する。ではTeXとの違いは何なのだろうか。
SATySFiの最たる特徴は、マークアップ言語が関数型言語のような性質を持つことで、以下のような機能が実現されていることである。
- 独自の型システムにより、エラーの発生位置や原因が、より正確に報告される
- 自作コマンドの定義が、TeXより容易で、かつ読みやすい。
1つ目の機能だけで十分魅力的であるが、2つ目も強力である。自作コマンドは、文書に何度も出てくる何らかの装飾を施したフレーズをコマンド1発で呼び出すことができ、それゆえタイプ量も減るというわけだ。SATySFiのコマンド定義は、プログラミングに慣れ親しんだ人間にとっては簡単であり、型検査によって自分が犯したミスもちゃんと教えてくれる。
入門
SATySFiは入門のための資料が十分に揃っている。
インストール
opam を使ってインストールすると、外部ライブラリを使えるのでこっちがおすすめ。スライドも作れるようになる。
- satyrographos: github.com
標準ライブラリだけでも十分使用に耐えるだろう。上のが難しかったら、SATySFi wiki に リンクが貼ってあるので、Win/Mac/Linux どれでも問題なく簡単にできるはずだ。
- SATySFi wiki github.com
マニュアル
記事投稿時点で、BoothにてSATySFiの日本語公式マニュアルがなんと無料で配布されている。このマニュアルの3章まで読めば、普段のレポート作成に困ることはほとんどないだろう。
エディタ
VSCodeしか勝たん。SATySFiのための便利な拡張機能がある。
まとめ
私はスライド作りに使ってみたが、TeXに比べて「プログラミングをしている」という感覚が強かった。型システムによってエラーがわかりやすいのはとてもありがたい。satyrographosのようなパッケージ管理が標準で入ってくるともっと良いのだが。
興味が湧いたら是非とも1度試してみてほしい。実はこんな記事を書いたのはみんなが使ってSATySFi人口が増えれば、ライブラリとか環境とかの開発が盛んになると思ったから。(他力本願寺)
References
SATySFi wiki github.com
satyrographos github.com
SATySFi公式マニュアル PDF版 booth.pm