Typst
|
| |
![]() | |
| 作者 | Martin Haug, Laurenz Mädje[1] |
|---|---|
| 開発元 | Typst GmbH |
| 初版 | 2023年3月21日 |
| 最新版 | |
| リポジトリ |
github |
| プログラミング 言語 | Rust |
| プラットフォーム | クロスプラットフォーム |
| 種別 | 組版 |
| ライセンス | Apache-2.0 |
| 公式サイト |
typst |
Typst(タイプスト[3]、英語:[ˈtaɪpst][4]) とは、オープンソースの組版システムとそれに対応するマークアップ言語である[5]。TypstのコンパイラはApache License 2.0下の自由ソフトウェアとして提供されている[6]。
Typstは科学的な文書や数式を記述・整形するために設計されており、LaTeXの代替として一般的な文書執筆に資する簡素な書式設定、カスタマイズ可能な関数、統合されたスクリプト言語、および数式の組版に対応している[5][7][8]。
TypstコンパイラはTypst GmbHによって開発され[9]、同社によって開発の管理・サポートが行われている。また同社は、利用者が執筆とプレビューを同時に行える共同編集環境をフリーミアム[8]なプロプライエタリソフトウェア[10]として提供している[11]。
歴史
Typstは2019年から開発されており[5]、2022年にLaurenz MädjeとMartin Haug両氏のベルリン工科大学における修士論文として発表された[12][13]。2023年3月にはオープンソースでTypstのコンパイラが発表され、同時にWebエディタのベータ版が告知された[14]。
GitHubによれば、Typstは2025年に世界で2番目の高成長率を記録するプログラミング言語であった[15]。
組版システム
TypstはMarkdownに類似したマークアップ言語で、「より学びやすく、また使いやすく設計されたLaTeXに匹敵する高性能な組版システム」[7]である。Typstの高速な文書プレビューはインクリメンタル[注釈 1]なコンパイラとメモ化された関数呼び出しによって実現されている[5]。
Typstはマークアップ、数式、コードと呼ばれる3種類のモードを持つ。デフォルトではマークアップモードに設定されており、主として文書執筆のために使用される[5]。
- マークアップモード:見出し (
=)、イタリック体(__)、太字 (**)、リスト(+、-、/)などが描画できる[16]。 - 数式モード:ドルマーク(
$)で囲まれたテキスト内で有効になり、Typst独自記法で数式を記述・整形できる[17]。 - コードモード:ハッシュ記号(
#)で始まる関数やブロック(波括弧で囲まれた部分)内で有効になり、ページ設定や図表挿入(figure)、独自のスクリプト言語を用いた記述(let、if、forなど)、またマークアップモードでは対応しない下線(underline)などのスタイリングに使用される[18]。
LaTeXと異なり、デフォルトの書式設定を使う限りではプリアンブル[注釈 2]等の書式設定が一切不要な点が特徴である。
さらに、引用などLaTeXでは外部パッケージが必要な機能の多くはTypstにはじめから同梱されている[8]。また、LaTeXに比べてその数は劣るものの、コミュニティ主導のパッケージやテンプレートが提供されている[5]。
例
以下の例では、Typstにおける入力とそれに対応する出力結果を示す:
| Input (Source code) | Output |
|---|---|
#set page(paper: "a4")
#set text(lang: "ja")
#set par(justify: true)
// ダブルスラッシュで始まる行はコメントアウトになる
= フィボナッチ数
// 見出しは「=」で始める
フィボナッチ数列($F_n$)は、次の漸化式で定義される:
@wikipedia-fibonacci // 「@」は、図、節、または参考文献に記載されている出典を参照する。
$ // 「$」マークで囲むと数式になる
cases(
F_0 = 0,
F_1 = 1,
F_n = F_(n-1) + F_(n-2) & (n >= 2)
)
$
また、*一般項*は // 「*」で囲むことで太字になる
$
F_n = floor(1 / sqrt(5) phi.alt^n), quad phi.alt = (1 + sqrt(5)) / 2
$
と表される。
#let count = 14
#let nums = range(1, count + 1)
#let fib(n) = (
if n <= 2 { 1 } else { fib(n - 1) + fib(n - 2) }
)
// 「#」でコードモードを有効にできる。ここでは「count」変数や「fib(n)」関数を「let」で定義している。
無限級数のはじめの #count 項は以下の通りである:
#align(center, table(
columns: count,
..nums.map(n => $F_#n$),
..nums.map(n => str(fib(n))),
))
#bibliography(bytes(
```yaml
wikipedia-fibonacci:
type: article
title: フィボナッチ数
url:
value: https://ja.wikipedia.org/wiki/フィボナッチ数
date: 2026-05-20
```.text,
))
|
![]() |
脚注
注釈
出典
- ↑ “Typst: About us”. Typst. 2025年11月8日閲覧。
- ↑ “Release 0.14.2”. 12 December 2025. 2025年12月13日閲覧.
- ↑ 奥村晴彦 (2024年11月11日). “Typst入門”. 奥村晴彦のページ. 2026年5月21日閲覧。
- ↑ “Brand”. Typst. 2026年4月14日閲覧。
- 1 2 3 4 5 6 Phillips (2025年9月17日). “Typst: a possible LaTeX replacement” (英語). LWN.net. 2025年11月1日閲覧。
- ↑ “Typst: Open Source” (英語). Typst. 2026年5月21日閲覧。
- 1 2 Lisse, Eberhard W. (2023-07-14). “Introduction to Typst” (英語). TUGboat 44 (2): 315–316. doi:10.47397/tb/44-2/tb137abstracts. ISSN 0896-3207.
- 1 2 3 Pardue, David (November 2024). “Exploring Typst: A LaTeX Alternative”. The PCLinuxOS Magazine (214): 8.
- ↑ “Typst: Legal information” (英語). Typst. 2024年12月2日閲覧。
- ↑ Phillips (2025年6月4日). “The importance of free software to science” (英語). LWN.net. 2025年11月2日閲覧。
- ↑ Barth (2024年10月13日). “Typst – Ein Next-Gen-Textsatzsystem?” [Typst – 新時代の組版システム? - Teuderun] (ドイツ語). 2025年6月21日閲覧。
- ↑ Haug, Martin (June 2022). Fast Typesetting with Incremental Compilation (Thesis). doi:10.13140/RG.2.2.15606.88642.
- ↑ Mädje, Laurenz. Typst A Programmable Markup Language for Typesetting (PDF) (Thesis). 2023年1月16日時点のオリジナル (PDF)よりアーカイブ. 2024年4月27日閲覧.
- ↑ “Typst starts its public beta test and goes open source” (英語) (2023年3月21日). 2025年6月21日閲覧。
- ↑ “Octoverse: A new developer joins GitHub every second as AI leads TypeScript to #1”. GitHub (2025年10月28日). 2026年4月3日閲覧。
- ↑ “構文”. Typstドキュメント日本語版. 2026年5月21日閲覧。
- ↑ “数式”. Typstドキュメント日本語版. 2026年5月21日閲覧。
- ↑ “スクリプト記述”. Typstドキュメント日本語版. 2026年5月21日閲覧。
外部リンク

