typst について
typst は Typst 0.15 以降での文書作成、コンパイル、検証を支援するスキルです。用途別のリファレンスや例に加え、Typst API とパッケージを検索するスクリプトを備えています。
主な機能
- 01Typst のコンパイルと監視コマンド
- 02文書作成とスタイルのガイド
- 03学術文書と表のリファレンス
- 04API とパッケージの検索スクリプト
- 05出力検証とトラブルシューティング
活用シーン
- 01レポート、論文、手紙の作成
- 02Markdown または LaTeX からの文書変換
- 03Typst パッケージや API 関数の検索
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ lucifer1004/ claude-skill-typst --skill typstインストール後、Claude Code で/typstを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
academic.mdadvanced.mdbasics.mdcli.mdconversion.mddebug.mdLICENSEmigration.mdpackage.mdperf.mdquery.mdagents/typst-package-qa.mdtypst-verify.mddata/packages-bm25.jsonexamples/academic-paper.typbasic-document.typperf-test.typquery-export.typstyled-document.typtables-showcase.typtemplate-report.typexamples/package-example/lib.typREADME.mdtypst.tomlexamples/package-example/src/boxes.typformatting.typscripts/perf-timings.pysearch-api.pysearch-packages.pyvalidate-examples.py詳細
Typst
このスキルは Typst 0.15+ を対象としています。Typst 0.14.2 を使用する場合は、以前のスキルのスナップショットとして typst-0.14.2
リポジトリタグを使用してください。
コンパイル
typst compile document.typ # compile once → PDF
typst compile document.typ output.pdf # explicit output path
typst compile document.typ -f png # export as PNG image
typst compile src/main.typ --root . # set project root for /path imports
typst watch document.typ # recompile on change
typst eval --in document.typ 'query(heading).len()' # Typst 0.15+ introspection
このクイックリファレンスに載っていないコマンドオプションについては、cli.md を参照してください。
エージェントによる検証 — 確認したい内容に応じて選択してください(詳細は debug.md を参照してください)。
| 方法 | コマンド | 最適な用途 |
|---|---|---|
| HTML エクスポート | typst compile doc.typ /dev/stdout -f html --features html 2>/dev/null | テキストの内容、構造、見出し、表 |
| PNG エクスポート | typst compile doc.typ page-{p}.png -f png | 視覚的なレイアウト、配置、間隔、フォント |
| pdftotext | typst compile doc.typ && pdftotext doc.pdf - | ページ固有の内容を確認する際の代替手段 |
最小限のドキュメント
#set page(paper: "a4", margin: 2cm)
#set text(size: 11pt)
= Title
Content goes here.
ドキュメントの作成
新しいドキュメントを作成しますか? 下の例から最も近いレシピをコピーしてください。白紙から始めるよりも早く、各行に次に読むべきドキュメントが記載されています。
| 次のことを行う場合... | 読むドキュメント |
|---|---|
| 構文、インポート、関数、制御フローを学ぶ | basics.md |
| データ型、演算子、文字列/配列のメソッドを学ぶ | types.md |
| ページ、見出し、図、レイアウトをスタイル設定する | styling.md |
| 表、グリッド、セルの結合、枠線、データテーブル | tables.md |
| 学術論文、参考文献、定理、数式 | academic.md |
| Markdown または LaTeX から変換する | conversion.md |
| 古い Typst コードをアップグレードする、0.15 の破壊的変更 | migration.md |
| Typst CLI コマンドとビルドオプションを使用する | cli.md |
| ドキュメントからデータを抽出する、マルチパスビルド | query.md |
パッケージとテンプレートの開発
| 次のことを行う場合... | 読むドキュメント |
|---|---|
状態、カウンター、ドキュメント内の query()、XML | advanced.md |
| CLI のイントロスペクション、メタデータのエクスポート、マルチパス | query.md |
| 再利用可能なテンプレート関数を作成する | template.md |
| パッケージを作成または公開する | package.md |
| 出力を検証する(HTML/PNG/pdftotext、repr) | debug.md |
| パフォーマンスをプロファイルする(--timings、ホットスポット) | perf.md |
開発者向けの基礎として、basics.md と types.md も参照してください。
パッケージを探す
毎週更新される Typst Universe パッケージの組み込みインデックスを検索します。
python3 scripts/search-packages.py "what you need"
python3 scripts/search-packages.py "chart" --category visualization
python3 scripts/search-packages.py --category cv --top 5
python3 scripts/search-packages.py --list-categories
よくあるエラー
| エラー | 原因 | 修正方法 |
|---|---|---|
| "unknown variable" | 識別子が未定義です | スペルを確認し、使用前に #let があることを確認します |
| "expected X, found Y" | 型が一致しません | ドキュメントで関数のシグネチャを確認します |
| "file not found" | インポートパスが正しくありません | パスは現在のファイルからの相対パスとして解決されます |
| "unknown font" | フォントがインストールされていません | システムフォントまたはウェブセーフな代替フォントを使用します |
| "maximum function call depth exceeded" | 再帰が深すぎます | 代わりに反復処理を使用します |
| "can only be used when context is known" | context ラッパーがありません | context { ... } で囲みます |
| "unexpected argument" | 引数に : ではなく = を使用しています | 名前付き引数には : 構文を使用します:func(name: value) |
| "variables from outside are read-only" | キャプチャされた変数を変更しています | ループでの累積または state() を使用します — advanced.md を参照 |
| "expected content, found string" (or vice versa) | content/string 型が一致しません | [#str-var] を使用してコンテンツ内に文字列を埋め込みます |
| set/show rule has no effect | コンテンツの後にルールを配置しています | 対象のコンテンツより前に set/show ルールを配置します |
例
最も近いスターターをコピーし、調整してコンパイルします。履歴書、手紙、スライドの場合は、パッケージを検索します:python3 scripts/search-packages.py --category cv(または letter、presentation)。
| 例 | こんな場合に開始します... | 次に読むもの |
|---|---|---|
| basic-document.typ | 短いメモや覚書を作成する | basics.md、styling.md |
| styled-document.typ | ページスタイルを設定した複数セクションのレポートを作成する | styling.md、tables.md |
| template-report.typ | 一連の文書に使える再利用可能なテンプレートを作成する | template.md |
| tables-showcase.typ | データ量の多い文書(テーブル、CSV/JSON)を作成する | tables.md、types.md |
| academic-paper.typ | 引用、定理、数式を含む論文を作成する | academic.md |
| query-export.typ | メタデータのエクスポートや複数パスのビルドを行う | query.md |
| package-example/ | 公開可能なパッケージを作成する | package.md |
依存関係
- typst CLI 0.15+ を推奨:https://typst.app から、またはパッケージマネージャーを使ってインストールします
- macOS:
brew install typst - Linux:
cargo install typst-cli - Windows:
winget install typst
- macOS:
- pdftotext(任意):テキストレベルでの出力検証用
- Python 3.10+(任意):パッケージ検索および検証スクリプト用
- jq(任意):シェルスクリプトで
typst evalの JSON 出力を解析するために使用します
API リファレンスの検索
Typst API の関数、メソッド、コンストラクターを収録した埋め込みインデックスを検索します:
python3 scripts/search-api.py "image width fit"
python3 scripts/search-api.py "color lighten" --kind method
python3 scripts/search-api.py --name str.position -v
python3 scripts/search-api.py "rightarrow" --kind symbol # LaTeX names work
python3 scripts/search-api.py --list-categories
エコシステムツール
エコシステムツール:tinymist(LSP/エディター)、typstyle(フォーマッター)、typst-package-check(パッケージバリデーター)、tytanic(ビジュアルテストランナー)。パッケージツールの詳細については、package.md を参照してください。