5.3K Views
March 22, 25
スライド概要
2025/03/22に行われた、Setory@イノベーション・ハブ・ひろしまCampsでのLTで利用した発表資料です。
最近はDjangoでWebアプリを作るのに挑戦しています。
学生必見! 革新的な組版システム「Typst」を使ってみよう 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps ごま (gomazarashi) 岡山大学 電子計算機研究会(OUCRC)
1. はじめに
1.1 自己紹介 ごま (gomazarashi) • 所属 ‣ 岡山大学 工学部 工学科 情報・電気・数理データ サイエンス系 ネットワーク工学コース B3 gomazarashi ‣ 岡山大学 電子計算機研究会(OUCRC) goma_ouniv goma_7919 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 2 / 29
1.2 本題に入る前に・・・ 皆さんのレポート/論文作成環境は? • おそらく Word や LaTeX が主流 • 数式を扱う人は LaTeX を使う事が多い? 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 3 / 29
1.3 Word でレポート執筆は辛い。とはいえ LaTeX も・・・ LaTeX でのレポート執筆の辛い点 • 記法を覚えるのに時間がかかる • 環境構築に時間がかかる • 文書が大規模になるとコンパイル時間が非常に長くなる • エラーメッセージが分かりづらい 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 4 / 29
1.4 それでもマークアップで書きたい • マークアップ言語で書ければ Git などでバージョン管理しやすい • 見た目と内容を分離できるので、書くときは内容に集中できる ➡ LaTeX の既存の問題を解決した組版システムが欲しい 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 5 / 29
そこでオススメなのが Typst
1.5 Typst って? • Typst(タイプスト)は学術用途のために 2023 年 に生まれたマークアップ言語 • Word や LaTeX の両方に取って代わるツール(公 式サイトより) • Rust で実装されており非常に高速 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 図 1: Typst ロゴ 6 / 29
やっと本題!
2. Typst のここがすごい!
2.1 環境構築が爆速 導入は簡単 • Windows: winget install --id Typst.Typst • macOS: brew install typst • Ubuntu: sudo snap install typst また、Rust ツールチェインがすでに導入済みなら cargo install typst で導入可能 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 8 / 29
2.1 環境構築が爆速 エディタの準備も簡単 • VSCode には強力な拡張機能「Tinymist」が存在 ‣ コード補完とシンタックスハイライト ‣ フォーマット ‣ プレビュー ‣ シンボル(数学記号等)の手書き入力 などの機能が利用可能 ➡ VSCode に Tinymist だけ導入しておけばほとんど事足りる 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 9 / 29
2.2 コンパイルも爆速 • LaTeX と比較して非常に高速 ‣ LaTeX では数秒から数分かかるような文書でも、Typst ではほぼ一瞬で コンパイルが完了する ‣ コンパイルが高速すぎて、短い文書だと PDF はほぼリアルタイムで更新される (個人の感想) • 中間ファイルなども生成されない 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 10 / 29
2.3 記法が直感的 Typst には 3 つのモードが存在 • 数式モード • マークアップモード • コードモード 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 11 / 29
2.3 記法が直感的 数式モード • インライン数式は $ 記号で囲み、ブロック数式は $ 記号とスペースで囲んで記述す る • TeX のコマンドに当たるものは Typst では関数であり、\記号を使わずに記述 できる • TeX に比べて比較的プログラミング言語的に記述できるほか、 短縮記法なども存在 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 12 / 29
2.3 記法が直感的 数式の記法の例(インライン数式) インライン数式は$m a = F$のように、数式を単に`$`記号で囲んで記述します。 ⬇ インライン数式は𝑚𝑎 = 𝐹 のように、数式を単に $ 記号で囲んで記述します。 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 13 / 29
2.3 記法が直感的 数式の記法の例(別行数式) 別行数式は $ x = (-b plus.minus sqrt(b^2 - 4 a c))/(2a) $ のように、数式をスペースと`$`記号で囲んで記述します。 ⬇ 別行数式は √ −𝑏 ± 𝑏2 − 4𝑎𝑐 𝑥= 2𝑎 のように、数式をスペースと $ 記号で囲んで記述します。 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 14 / 29
2.3 記法が直感的 TeX との主な記法の違い(数式) 要素 TeX 記法 Typst 記法 分数 \frac{a}{b} frac(a, b)または a/b ギリシャ文字(例:α) \alpha alpha 通常の導関数 \frac{d f}{d x} frac(dif f, dif x) 偏導関数 \frac{\partial f}{\partial x} frac(diff f, diff x) 行列 \begin{matrix} 1 & 2 \\ 3 & 4 \end{matrix} mat(1, 2; 3, 4) 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 15 / 29
2.3 記法が直感的 マークアップモード • 文書を作成するためのデフォルトのモード • 見出し、箇条書き、表、図、数式などを記述する • これらの要素は関数で表現されるが、短縮記法を用いて呼び出すことができる • 細かい違いはあるものの、全体的に Markdown 寄りの記法 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 16 / 29
2.3 記法が直感的 TeX との主な記法の違い(マークアップ) 2025/03/22 要素 TeX 記法 Typst 記法 レベル 1 見出し \section{} = レベル 2 見出し \subsection{} == レベル 3 見出し \subsubsection{} === ラベル \label{key} <key> 参照 \ref{key} @key Setory@イノベーション・ハブ・ひろしま Camps 17 / 29
2.3 記法が直感的 TeX との主な記法の違い(マークアップ) 要素 太字 斜体 リンク 2025/03/22 TeX 記法 Typst 記法 \textbf{text} *text* \emph{text} _text_ \url{https://typst.app} https://typst.app/ 箇条書きリスト \begin{itemize} \item item \end{itemize} - item 番号付きリスト \begin{enumerate} \item item \end{enumerate} + item Setory@イノベーション・ハブ・ひろしま Camps 18 / 29
2.3 記法が直感的 コードモード • Typst にはデフォルトで条件分岐や繰り返し、関数定義などのプログラミング的な 記法が存在する • 辞書型やリスト型などのデータ構造もサポート • これにより、似たような構造を含む文書を簡単に作成できる他、スタイルの変更も 自在に行える 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 19 / 29
2.3 記法が直感的 コードモードの記法の例 名称 let 文 2025/03/22 Typst 記法 let x = 1 let f(x) = 2 * x 条件式 if x == 1 {..} else {..} for ループ for i in (1,2,3) {..} while ループ while x < 10 {..} Setory@イノベーション・ハブ・ひろしま Camps 20 / 29
メリットばかり語りましたが・・・
3. LaTeX と比較して不足してい る部分
3.1 LaTeX と比較して不足している部分 • 日本語ドキュメントが不十分 • パッケージが比較的少ない • コミュニティは成長中だが、LaTeX のものと比較すると規模としては小さい • 学術的な分野での普及や採用が進んでいるとはまだまだ言い難い 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 22 / 29
3.2 今後の展望について • まだまだ翻訳途中ではあるもの、非公式日本語ドキュメント(許諾済み)が存在 • 有志によるパッケージやテンプレートの提供が進んでいる ‣ CeTZ: 図の描画用パッケージ LaTeX の TikZ に相当 ‣ Metro: SI 単位系を扱うためのパッケージ LaTeX の siunitx に相当 ‣ Touying: プレゼンテーション用パッケージ ‣ js: jsarticle に相当するテンプレート 2025/03/22 LaTeX の beamer に相当 奥村晴彦先生本人による開発 Setory@イノベーション・ハブ・ひろしま Camps 23 / 29
3.2 今後の展望について • Typst に関する情報を集めたり、質問をしたりするための Discord サーバー、 くみはんクラブが存在 ‣ こちらで日本語ドキュメントの翻訳作業も進行中 ‣ Typst のほか、(La)TeX や SATySFi などの組版エンジンに関するチャンネルも 用意されている 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 24 / 29
4. まとめ
4.1 まとめ • Typst は LaTeX に比べ環境構築もコンパイルも爆速 • 記法が直感的で、VSCode 向けの強力な拡張機能も存在 • しかし当然 LaTeX の歴史という壁は厚い・・・・・・ • とはいえアップデートや修正は非常に盛んに行われており、 有志によるパッケージやテンプレートもどんどん増えている • ドキュメントの日本語化も進行中! 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 26 / 29
4.2 リンク等 • Typst 公式サイト: https://typst.app ‣ 公式ドキュメント: https://typst.app/docs/ ‣ Typst Universe(パッケージ/テンプレート提供プラットフォーム): https://universe.typst.app/ – CeTZ: https://typst.app/universe/package/cetz – Metro: https://typst.app/universe/package/metro – Touying: https://typst.app/universe/package/touying – js: https://typst.app/universe/package/js 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 27 / 29
4.2 リンク等 • くみはんクラブについて: https://x.com/mkpoli/status/1751193383085973670 • Typst Japan Community: https://github.com/typst-jp • 非公式日本語ドキュメント: https://typst-jp.github.io/docs/ 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 28 / 29
4.2 リンク等 少し宣伝… • Qiita で Typst 関連の記事を書いています • また、岡山大学電子計算機研究会の公式サイトでも Typst に関する記事を投稿して います 2025/03/22 Setory@イノベーション・ハブ・ひろしま Camps 29 / 29