📃

[devcontainer]Typstを使ってスライド作成

に公開

はじめに

論文はもとよりスライドもTexで書くと楽だなと思ってTexで書いてたんですが、毎回ビルドしてデザイン確認してっていうのが面倒だなって思ってました。
代替ソフトを探してたらTypstっていうのを知ってリアルタイムで確認できるので、こりゃ良いと思って導入することにしました。

なお論文についてはそもそもTexファイルじゃないと受け付けないというところもありますし、デザインを細かくチェックすることもないのでTexで良いかなと思ってます。

導入

ホストマシンにAI agent入れたくないので、基本的にdevcontainerで作業してます。

devcontainerの設定方法は割愛しますが、基本的に以下の記事を見ればOKです。

VScode Dev Container でポータブルな Typst の日本語執筆環境を構築する

ただしこれだとMacの設定でdockerとVS codeにフルディスクアクセス権限を渡すことになってるのですが、ちょっと怖いので自分はフォントに関して以下のようにしました。

fontファイル

devcontainerだと、ホストマシンのフォントがそのまま使えません。Macでは/System/Library/Fontsとかにフォントファイルがあるので、まずはこれを丸ごとコピーして、任意のディレクトリに設置します。

このディレクトリをマウントすれば良いんですが、自分は面倒なのでとりあえずプロジェクトディレクトリに入れてしまいました。そうしたら勝手にコンテナの中にフォントファイルが入ります。

ビルドする時にこのフォントファイルのパスを指定すればOKです。

$ typst c main.typ --font-path ./fonts

また、VScodeだと、tinymistというプラグインでリアルタイムプレビューとかできます。settings.jsonに以下を追加すれば、勝手にフォント読み込んでプレビューしてくれます。

 "tinymist.fontPaths": [
        ".",
        "C:\Projects\Accessible Fonts"
    ]

参考: https://github.com/typst/typst/discussions/5013

tinymist.fontPathsで指定するパスはdevcontainer内のfontsディレクトのパスなので、fontsディレクトリでpwdコマンド打ってそのままコピペでOKです。

あとはTypstのファイルの中で、Textフォントを指定する構文があるのでそこを以下のようにするだけです。

#set text(font: "Hiragino Mincho ProN", lang: "ja")

これでリアルタイムプレビュー完成です。

template

こちらで良い感じのテンプレートをすでに作成されている方がいらっしゃるのでありがたく活用させていただきましょう。

Typstでスライド作成!オリジナルテンプレート

このプロジェクトでは、touyingというtypstでスライド作るためのプラグインのデファクトスタンダードみたいなものを使っていますので、細かいことはそちらを参照すれば良いと思います。

まとめ

この時点でTypstの文法何一つわかってないけど、スライド作成までできました。
あとは、devcontainer内で安心してAI agentでも使って好みのデザインに修正していけば良いと思います。

Discussion