はじめに
texに代わる組版システムが開発中と聞いたので使ってみたくなった
公式のREADMEでwindowsへのインストールの仕方がよくわからなかったので(特にopamのインストール)調べてやってみた
だからもっといい方法があるかもしれにあ
SATySFi
公式より
SATySFi(英単語の “satisfy” と同様に発音します)は,新しい組版処理システムとその言語です。構文は主にテキスト部分とプログラム部分からなり,前者はLaTeX風の構文で文書を執筆するために,後者はコマンドを定義するために使われます。いわゆる函数型プログラミングの要領でコマンドが定義でき,かつ静的に型がつけられるため,柔軟な記述とわかりやすいエラー報告が実現されています。
インストール手順
大雑把に書くと以下のようになる
- opamの入ったCygwin環境の用意
- Cygwinに必要なパッケージをインストール
- いくつかのコマンド実行
1. opamの入ったCygwin環境の用意
windowsでSATySFiをインストールするためにはopamというものをインストールする必要がある
しかし(調べた範囲では)windowsではCygwin環境上で動かすしかないらしい
そのためタイトルのように「opamの入ったCygwin環境の用意」することとなる
opamの環境構築は別の記事として書いたのでそちらを参照されたし
https://qiita.com/shiba44/items/69a7bfeef82cf27794a3
2. Cygwinに必要なパッケージをインストール
ここではすでにopamが入ったCygwin環境が構築できているものとする
ここからは公式のREADMEに従えば良い
Cygwin環境に以下のパッケージをインストールする
- bzip2
- cc
- git
- m4
- make
- unzip
- wget or curl
- ruby
3. 公式に従ってコマンドを実行していく
Cygwin環境のターミナルを立ち上げ, 以下のコマンドを実行する
[user]$ opam repository add satysfi-external https://github.com/gfngfn/satysfi-external-repo.git
[user]$ opam update
このあとはSATySFiのプロジェクトを持ってきてCygwin環境でビルドするだけ
# clone
[user]$ git clone https://github.com/gfngfn/SATySFi.git
[user]$ cd SATySFi
# build
[user]$ opam pin add satysfi .
[user]$ opam install satysfi
デモ実行
ちゃんと実行するためにはまだ手順が必要
公式がわかりやすいので参照されたし
https://github.com/gfngfn/SATySFi/blob/master/memo-ja-how-to-use.md
基本的にやることは「ライブラリルート」の構築,フォント設定だけ
ライブラリルートの構築
サンプルがlib-satysfiという名前で公式のリポジトリに置いてあるので, それをusr/local直下に.satysfiという名前で配置する
つまり以下のようなディレクトリ構造がusr/localにできていればいい
~/.satysfi/
|
+-- dist/
|
+-- fonts/
|
+-- hash/
| |
| +-- default-font.satysfi-hash
| +-- fonts.satysfi-hash
| +-- mathfonts.satysfi-hash
|
+-- hyph/
| |
| +-- english.satysfi-hyph
|
+-- packages/
|
+-- unidata/
|
+-- EastAsianWidth.txt
+-- LineBreak.txt
+-- Scripts.txt
実行
ここまでやってとりあえず実行してみる
ローカルに持ってきた公式リポジトリのdemoディレクトリ
https://github.com/gfngfn/SATySFi/tree/master/demo
をターミナルで開き以下を実行する
[user]$ satysfi demo.saty -o output.pdf
するとこんな感じで怒られるはず
! [Error] package file not found:
dist/fonts\Junicode.ttf
これは「必要なフォントファイルが入ってないよ!!」ということなので「ないよ!」と言われたフォントファイルをそれぞれネットからインストールしてきて~/.satysfi/dist/fontsフォルダに置いていく
そうすると今度は
! [Error] satysfi-logo.jpg: No such file or directory
と言われる
これは「demoディレクトリ内にsatysfi-logo.jpgというファイルがないよ!」って言ってる
なのでdemoディレクトリ内にsatysfi-logo.jpgという名前のjpgファイルを追加すれば良い
これで終わり
エラーの代わりに以下が出力されたら成功
output written on 'output.pdf'.
参考文献
https://qiita.com/aomidro/items/9b8d66a51e81931f1c98
https://qiita.com/puripuri2100/items/a63e0c48f245dfcb0446
https://qiita.com/pochiMasahiro/items/91f2eecbffaf85c3f2a3
最後に
いつかTex-Liveみたいにディストリビューションが公開されるのかな
求むSATySFi-Live