typstでスライドを怠惰に作りたい
typstでslidesを作るための最小メモ
目次
👆 目次おすすめ
typstでスライド(PDF)を作成するための個人的最小の知識メモです。備忘録。
Draftも多く申し訳ないけれど一応例としてdotfilesについて - githubを共有します。
What is Typst?
Typst.app。Latexなどの組版システム。シンプルでモダン。CompilerがRust製らしい。
スライドにするには
以下の設定を用いることでtypsyt->Slide(PDF)が行える。touyingというプラグイン?を使うことでスライド用にPDFエクスポートできるよう。基本的にはtypstの構文が使え、その上にtouyingによるページ切り替えなどのスライド用の機能が乗っかるらしい。1
#import "@preview/touying:0.7.4": *
#import themes.simple: *
#show: simple-theme.with(
aspect-ratio: "16-9",
)
ページ切り替え: =
level 1 headingによってスライドが切り替わる。level 1はそのページの前に全画面のheadingページが挟まり、次にコンテンツとともに左上に小さくlevel 1 headingの内容が表示される。
level 2,3はそれぞれ小見出しになる。
= メリット
- 複数の環境で設定を共有できる
- git repositoryにすることでコンフリクト対策も
- 設定のバックアップ的な
= デメリット
- symbolic linkを貼る際に面倒なことも
- nix home-managerやshell scriptで自動化もできる
-


画像挿入
= 具体例
#image("ls_config.png")

画像とテキストを横並び
#grid(
// frは割合。この場合gridを2:1に分割
columns: (2fr, 1fr),
column-gutter: 1em,
// widthは画像に割り当てらた幅を100としてさらに調整できる
image("ls_config.png", width: 100%),
text(size: 22pt)[
Symbolic linkがたくさん
],
)

余談ですがtypstで#grid()などの関数内に入ってしまえばマークアップからコードに切り替わっているので#text()などと#をつけることは不要だそう。(というかlspがerror出した)
引用
#quote(
block: true,
attribution: [
Peter H. Salus and McIlroy
],
)[
普遍的なインターフェースであるテキストストリームを扱うプログラムを書く \
...
]

表示のアニメーション
#pauseというコマンドを挟むことで一度表示を止めるアニメーションを挟むことが可能。
PDFにexportする関係上、アニメーションというよりはそのエフェクトを用いた場合のフレームを1枚ずつPDFに変換する。
= dotfilesから見るLinuxプログラムのお行儀
== dotfilesとは
各プログラムの設定ファイルを1箇所に集めたもの
#pause
=== なぜ"dot"files?
多くの設定ファイルは`~/.config/`や`.zshrc`などのように#box[*隠しファイル*]になっている
それらを総称してdot(.)filesと呼ぶ
は以下の2枚のPDFページとなって生成される。これを1枚ずつ全画面表示できるPDFビューア(pdfpcとか)。

意図しない改行を防ぐ
#box[word]とboxで囲むことでその文字列内では改行されなくなる。
=== なぜ"dot"files?
多くの設定ファイルは`~/.config/`や`.zshrc`などのように#box[*隠しファイル*]になっている
それらを総称してdot(.)filesと呼ぶ
注釈
基本的に素のtypstと同様。
=> Excelの設定ファイル#footnote[あるのか知らんけど]はExcelからしか読めない

Compile to PDF
typst compile slide.typ
# watchを使うと常時compileされるため実質的なリアルタイムプレビューになる
typst watch slide.typ
ZathuraあたりのPDFプレビューで見ていれば良さげ。
まとめ?
- typstをそのまま使えるのでフォントの調整とかが楽
- markdownより厳密? (あんまり知らない)
- PDFにしておけるので再生機器に困らない
- PPTに触らずに済む
Footnotes
-
そもそも私はtypstをちゃんと知らないのでそこからという話はある。 ↩