- 筆者は Typst を使って博士論文を執筆しており、従来の LaTeX とは異なる新しい挑戦だった
- 高速なコンパイル、整合性があり強力なスクリプト言語、容易なレイアウトのカスタマイズ、優れたコードハイライト により、文書の修正やテンプレート調整が非常に効率的だった
- 参考文献管理の不便さ、LaTeX 変換の限界、若いエコシステムゆえのテンプレート不足、エラーメッセージの限界 など、不便さと限界は明確に存在する
- LaTeX との互換性、共同作業、論文投稿時に求められる書式対応にはまだ不十分な点があり、論文の共同執筆や学会投稿では LaTeX が事実上の標準 であることを実感した
- Typst は プログラミング的な自由度と最新機能 が必要な場合に特に有利だが、初心者や標準的な要件には勧めにくい
博士論文を Typst で書いた理由
- 筆者は最近、博士論文を Typst で執筆し、伝統的によく使われる LaTeX の代わりに新しいタイポグラフィ言語を試した
- Typst は Markdown と動的型付けの Rust を組み合わせたような形で、文書作成が LaTeX より自然で、スクリプト言語としての拡張性にも優れている
- 構文が直感的で、コードと文書の切り替えがしやすい点が特徴だ
Typst の長所
コンパイル速度
- Typst コンパイラは 非常に高速 で、文書が大きくなってもリアルタイムの PDF プレビューが可能
- フルビルドも 15 秒前後で完了し、内容を変更した際にはほぼ即座に結果を確認できる
- レイアウトやスタイルの修正作業を効率よく繰り返せるため、最終成果物の品質向上につながる
言語設計とスクリプト活用
- Typst 言語は一貫性が高く、Rust ベースの設計 により学習コストが低い
- LaTeX で各パッケージごとに構文の一貫性が乏しいという不便さが、Typst では解消されている
- TOML ファイルを直接パースして、データを文書内で自動可視化できるなど、プログラミング的な応用 が豊富
- モダンなツール(コンパイラ、依存関係管理、LSP など)との統合も強みだ
テンプレートとレイアウト修正
- Typst のテンプレート構造は明快で、望む形に簡単に修正・拡張できる
- LaTeX の複雑なテンプレート修正に比べ、はるかに直感的で素早い設定体験を提供する
コードハイライト
- 組み込みの syntax highlighting 対応により、論文中のコードの可読性が高い
- Textmate grammar を活用でき、regex ベースのカスタム定義も容易に実装できる
- スクリプトで直接パーサーを書き、特定の構文ハイライトも試している
エラーメッセージ
- LaTeX に比べてエラー位置と原因を明確に案内してくれるため、問題解決にかかる時間が大幅に減る
- 不要なターミナル出力がなく、エラー情報が実用的に役立つ
Typst の短所
参考文献(bibliography)管理
- 論文全体で単一の bibliography しかサポートされず、章ごとや論文を取り込む場合に別々の参考文献ファイルを使えない
- Bibtex 変数などの高度な機能への対応が不足しており、Makefile による手動統合が必要
- パッケージ(Alexandria)で部分的な解決は可能だが、使い勝手や自動化の水準は低い
- 引用スタイル変換やフィールドマッピングなどの細かな調整が不完全で、手作業が避けられない
- 参考文献フィールドが Bibtex 標準と異なるため、結果に差が出る
エラーメッセージの限界
- 複雑なケース(例: Alexandria 使用時)では、具体的なエラー説明なしに単純な失敗メッセージだけが表示される
- 状態ベースの show rule などはエラー位置の追跡が難しく、デバッグの難易度が高い
- 一部のレイアウト関連警告は、原因の特定が容易ではない
複雑な現実: 互換性とエコシステム
LaTeX との互換性と共同作業
- 既存論文や投稿論文では LaTeX 形式が必要なため、Typst で書いたものを Pandoc などで変換して利用している
- 新しい論文も Typst で下書きした後、最終投稿用に変換作業が必要になる
- Typst から LaTeX への自動変換は完全ではないため、別途ツールを開発して作業を進めた
- 変換結果の一部(例: コード)は LaTeX の \includepdf を使う必要があり、出版社の要件に合わない可能性がある
- LaTeX が標準であるため、共同執筆者が Typst を新たに学ばなければならない煩わしさも生じる
Typst エコシステムの現状
- Typst はまだ 初期段階のエコシステム にあり、公式テンプレートや投稿フォーマットは限定的
- ユーザーが自分でカスタムテンプレートを作らなければならないことが多い
- 主要学会・ジャーナル向けの Typst テンプレートは、対応範囲や品質がまだ万全ではない
結論とおすすめ
- プログラミングを楽しめて、ツールの細かなカスタマイズに魅力を感じるなら、Typst で論文を書くことは十分おすすめできる
- 試行錯誤を高い頻度で繰り返せることと、カスタマイズの自由度の高さによって、成果物をより美しく仕上げられる利点がある
- 一方で、特別な追加設定なしですぐ使いたいのであれば、現時点の Typst は博士論文のような大規模文書には適していない
- 小規模な文書作成や個人的な実験には、Typst を試してみる価値がある
1件のコメント
Hacker Newsの意見
git clean -xdfまでしないと解決しない。なぜそうなるのかいまだによく分からず、makefile自体も複雑すぎる-outdirオプションで中間ファイルを分離管理できる