👶

Typst のはじめかた

2024/12/01に公開

はじめに

Typst Advent Calendar 2024 がはじまりました。 Typst は昨年 open source software (OSS) として公開されたばかりの組版システムです。 すでに様々な日本語の記事が公開されており、 今年はドキュメントの和訳プロジェクトも動き出すなど、国内でも盛り上がりを感じます。 現在最も注目を集めている組版システムといっても過言ではないでしょう。

そんな Typst に興味はあってもまだしっかり触れていない Typst 初心者の方に向け、カレンダー1日目の本記事では

  • 何をすれば Typst が使えるようになるのか

  • どこを見れば所望の情報にたどり着けるのか

を解説します。 これから Typst を試す人の助けになれば幸いです。

まずは Typst を使ってみよう

兎にも角にも、まずは Typst を使って簡単な PDF を作ってみましょう。 Typst を使う方法は大きく分けて2種類あります。

  • オンラインエディタを使う方法

  • ローカルに Typst 執筆環境を構築する方法

オンラインエディタを使う方法

Typst の公式サイトで会員登録を使うと、オンラインの Typst エディタ&プレビューアが使えるようになります。

https://typst.app

https://typst.app 上で開発する様子

オンラインエディタでは、このように Typst の関数の補完を出したり、リアルタイムでプレビュー表示したりできます。 右上の Share ボタンやダウンロードボタンを押すことで、複数人へのドキュメント共有やローカルへの PDF 保存も可能です。

ローカルで執筆環境を構築する

Typst はコンパイラが OSS として公開されており、 処理系をインストールして手元(ローカル)で文書を作成することもできます。 ローカルでの環境構築を行うなら、まずは最も基本的な typst コマンドを導入しましょう。

https://github.com/typst/typst

typst コマンドは GitHub Releases で配布されている他、Rust 製のため cargo パッケージマネージャでもインストールできます。 詳しい導入方法は 公式の README を確認してください。

typst コマンドをインストールすれば以下のような機能が使えるようになります。

コマンド 機能
typst init テンプレートを用いたプロジェクト作成
typst compile Typst 文書のコンパイル
typst watch 文書のホットリロード
typst query 文書内の見出しやメタ情報などの取得
typst fonts 現在のシステムで利用できるフォント名の出力

なお Typst の言語サーバフォーマッタなども盛んに開発されており、Vim や Visual Studio Code といった一般的なテキストエディタであれば補完や定義ジャンプなどの便利な機能を使うこともできます。

どちらを使うべきか

双方にメリット・デメリットがあります。お好きな方を選んでください。

  • オンラインエディタを使う方法

    • 😄 ブラウザさえあれば、環境構築のステップを踏むことなく始められます。

    • 😄 オンラインエディタは Typst に特化した編集(補完など)やプレビュー機能が入っており、特に設定せずともある程度快適に執筆できます。

    • 😄 共有リンクが発行できるため、完成した PDF やソースコードを簡単に複数人と共有できます。

    • 😢 使用には typst.app へのアカウント登録が必要です。

    • 😢 Typst が管理するサーバの調子に依存するため、動作が重い・うまくアクセスできないケースがあります。

      • 過去私が触ったときにそう感じたことがありました。現在は解消されているかもしれません。
    • 😢 使用できるストレージやファイル数に制限があります。詳しくは Pricing を確認してください。

  • ローカルで執筆環境を構築する方法

    • 😄 GitHub に公開されている処理系を使うため、アカウント登録することなく使えます。

    • 😄 自分好みにカスタマイズされた環境で執筆できます。

    • 😢 ローカルでの環境構築の手間はかかります。

      • といっても、Typst CLI 自体は基本的にワンコマンドでインストールできます。

ちなみに私は Neovim ユーザなのでオンラインエディタはほぼ使わず、もっぱらローカルで文書作成しています。

ドキュメントを読んでみよう

Typst の執筆環境が整ったら、次は Typst の文書作成方法を学び、実際に書いてみましょう。 Typst について何か知りたいとき、まず読むべきはなんといっても公式ドキュメントです。

https://typst.app/docs/

なお、有志による日本語訳もあります。 まだ翻訳途中の箇所もありますが、日本語で読みたい方はこちらをおすすめします。

https://typst-jp.github.io/docs/

チュートリアルを始める

https://typst.app/docs/tutorial/

まずは公式ドキュメントのチュートリアル(日本語版はこちら)をはじめてみるとよいでしょう。 Typst の基本的なマークアップ記法からはじまり、 書体やページレイアウトなどの変更方法、 より実践的な文書に向けたスタイリングの方法なども書かれています。

“Guide for LaTeX users” を読む

https://typst.app/docs/guides/guide-for-latex-users/

LaTeX の代替として Typst を検討している方は、「LaTeX でいうこの機能は Typst ではどう書けばいいのか」が気になるところでしょう。 実はかんたんな移行ガイドが Typst 公式ドキュメントに記載されています。

リファレンスを読む

Typst の構文や機能に詳しくなりたければ、より踏み込んだ情報が載っているリファレンスページを読んでみましょう。

  • Typst で使える構文が知りたい → Syntax

  • setshow で何ができるのか知りたい → Styling

  • Typst でプログラミングがしたい → Scripting

  • Typst で使える数式記号や絵文字の打ち方(変数名)が知りたい → Symbols

具体的なページリンクは多すぎるため割愛しますが、Typst 組み込みの関数には基本的にすべて独立したページが設けられており、詳しい説明を読むことができます。

このように Typst 公式ドキュメントは量が膨大なので、文書内検索を利用して目的の情報を探すこともよくあります。たとえば text() 関数について詳しく知りたければ “text” と打ってみましょう。

Typst 公式ドキュメントにて “text” で検索する様子

公式リファレンスには個々の機能に対する詳しい説明や例が記載されており、読めば読むほど新しい発見があるはずです。

パッケージを探してみよう

Typst では、サードパーティ製のパッケージやテンプレートを使うことができます。 目的にあったパッケージ・テンプレートを検索できるのが Typst Universe です。

https://typst.app/universe

2024年12月1日現在、Universe に登録されている Typst パッケージは 436 種類、そのうちテンプレートを提供しているものは187 種類あります。 Universe に登録されているものはすべて OSS であり、ソースコードを自由に見ることができます [1]。 興味があれば覗いていみるとよいでしょう。

コミュニティに参加しよう

Typst についてもっと詳しくなりたい、最新の動向をキャッチアップしたい、そんなときはコミュニティに参加するのがおすすめです。 コミュニティであれば詰まったときに質問することもできますし、パッケージやテンプレートを自作したときに宣伝することもできます。

現在、私が把握しているオンラインコミュニティは4つです。

  • Typst 公式コミュニティ (Discord)

    • 公式の Discord コミュニティです。

    • 公式なので開発者の方がいます。公式のアナウンスもあります。

    • 基本全部英語なので、日本語じゃないと辛い人には不向きかもしれません。

  • Typst 公式フォーラム

    • 公式ページのフォーラムです。質問やパッケージの宣伝などができるようです。

    • ページがちょっと重く、読み込みに時間がかかるケースがあります。

  • くみはんクラブ (Discord)

    • 組版についての話題を幅広く扱う日本のコミュニティです。

    • “typst-情報” “typst-質問” など、 Typst について話せる複数のチャンネルがあります。

    • ドキュメントの和訳に関する活動もここを中心に進められています。

  • vim-jp (Slack)

    • Vimmer を中心に、この世のありとあらゆる話題が扱われる日本のコミュニティです。

    • “#tech-typst” や “#tech-typography” チャンネルで Typst について話しています。

おわりに

簡単ではありますが、Typst 初心者向けに Typst のはじめかたを解説しました。ここで紹介したドキュメントを読み、コミュニティを定期的に覗いていれば、きっとすぐに Typst が使いこなせるようになるはずです!

Typst Advent Calendar 2024 の残りの記事も、ぜひ楽しんでください。

脚注
  1. 少なくとも現時点では、パッケージ登録時に OSI-Approved なライセンスをつけることが要請されています。 ↩︎

Discussion