Typst は、LaTeX と同じくらい強力であると同時に、学習と使用がはるかに簡単になるように設計された、新しいマークアップ ベースの植字システムです。ティプストには次のものがあります。
このリポジトリには、Typst コンパイラとその CLI が含まれています。これは、Typst ドキュメントをローカルでコンパイルするために必要なものすべてです。最高の執筆体験を得るには、共同オンライン エディターに無料でサインアップすることを検討してください。
Typst についての穏やかな入門書は、ドキュメントで入手できます。ただし、Typst のパワーを 1 つの画像にカプセル化して確認したい場合は、次の画像をご覧ください。
何が起こっているのかを詳しく見てみましょう:
設定されたルールを使用して、ページのサイズや見出しの番号などの要素のプロパティを構成します。ページの高さをauto
に設定すると、コンテンツに合わせて拡大縮小されます。設定ルールは、最も一般的な構成に対応します。完全な制御が必要な場合は、表示ルールを使用して要素の外観を完全に再定義することもできます。
= Heading
構文を使用して見出しを挿入します。 1 つの等号は最上位の見出しを作成し、2 つの等号は小見出しを作成します。 Typst には、このような軽量のマークアップがあります。完全なリストについては、構文リファレンスを参照してください。
数式はドル記号で囲まれています。方程式の内容の周囲に余分なスペースを追加すると、方程式を別のブロックに入れることができます。複数文字の識別子は、引用符で囲まない限り、Typst の定義および関数として解釈されます。こうすることで、 floor
やsqrt
などにバックスラッシュが必要なくなります。そして、 phi.alt
alt
修飾子をphi
に適用して、特定のシンボル バリアントを選択します。
ここで、スクリプトの作成に移ります。 Typst ドキュメントにコードを入力するには、ハッシュに続いて式を記述します。 n 番目のフィボナッチ数を計算するために、2 つの変数と再帰関数を定義します。次に、結果を中央揃えの表に表示します。テーブル関数はセルを行ごとに取得します。したがって、最初に数式$F_1$
$F_8$
に渡し、次に計算されたフィボナッチ数を渡します。これらは配列であり、配列の項目を個別の引数として渡したいため、拡散演算子 ( ..
) を両方に適用します。
#set page ( width : 10cm , height : auto )
#set heading ( numbering : " 1. " )
= Fibonacci sequence
The Fibonacci sequence is defined through the
recurrence relation $ F_n = F_(n-1) + F_(n-2) $ .
It can also be expressed in _closed form:_
$ F_n = round(1 / sqrt(5) phi.alt^n), quad
phi.alt = (1 + sqrt(5)) / 2 $
#let count = 8
#let nums = range ( 1 , count + 1 )
#let fib ( n ) = (
if n <= 2 { 1 }
else { fib ( n - 1 ) + fib ( n - 2 ) }
)
The first #count numbers of the sequence are:
#align (center, table(
columns: count,
..nums.map(n => $ F_#n $ ),
..nums.map(n => str(fib(n))),
))
Typst の CLI はさまざまなソースから入手できます。
Typst の最新リリースのソースとビルド済みバイナリは、リリース ページから入手できます。使用しているプラットフォームのアーカイブをダウンロードし、 PATH
内のディレクトリに配置します。将来のリリースを最新の状態に保つには、 typst update
実行するだけです。
Typst は、さまざまなパッケージ マネージャーを通じてインストールできます。パッケージ マネージャーのバージョンは最新リリースよりも遅れている可能性があることに注意してください。
brew install typst
winget install --id Typst.Typst
Rust ツールチェーンがインストールされている場合は、次のようにインストールできます。
cargo install --locked typst-cli
を使用した最新リリースの Typst バージョンcargo install --git https://github.com/typst/typst --locked typst-cli
を使用した開発バージョンNix ユーザーは次のことができます
nix-shell -p typst
でtypst
パッケージを使用しますnix run github:typst/typst -- --version
を使用して開発バージョンをビルドして実行します。 Docker ユーザーは、 docker run ghcr.io/typst/typst:latest --help
を使用して、事前に構築されたイメージを実行できます。
Typst をインストールしたら、次のように使用できます。
# Creates `file.pdf` in working directory.
typst compile file.typ
# Creates PDF file at the desired path.
typst compile path/to/source.typ path/to/output.pdf
ソース ファイルを監視し、変更時に自動的に再コンパイルすることもできます。 Typst には増分コンパイル機能があるため、毎回最初からコンパイルするよりも高速です。
# Watches source files and recompiles on changes.
typst watch file.typ
Typst を使用すると、プロジェクトにカスタム フォント パスを追加し、検出されたすべてのフォントをリストすることもできます。
# Adds additional directories to search for fonts.
typst compile --font-path path/to/fonts file.typ
# Lists all of the discovered fonts in the system and the given directory.
typst fonts --font-path path/to/fonts
# Or via environment variable (Linux syntax).
TYPST_FONT_PATHS=path/to/fonts typst fonts
他の CLI サブコマンドとオプションについては、以下を参照してください。
# Prints available subcommands and options.
typst help
# Prints detailed usage of a subcommand.
typst help watch
オートコンプリートとインスタント プレビューを備えた統合された IDE のようなエクスペリエンスを希望する場合は、Typst の無料 Web アプリをチェックすることもできます。
コミュニティが集まる主な場所は Discord サーバーです。質問したり、他の人を助けたり、Typst で作成した素晴らしいものを共有したり、単にチャットしたりするために、お気軽に参加してください。
それ以外にも、コミュニティによって構築されたものを見つけることができる場所がいくつかあります。
私たちのコミュニティで嫌な経験をした場合は、私たちにご連絡ください。
コミュニティからの貢献をお待ちしています。バグが発生した場合は、お気軽に問題を開いてください。新しい機能やバグ修正を実装したい場合は、コントリビューション ガイドに記載されている手順に従ってください。
Typst を自分でビルドするには、まず最新の安定した Rust がインストールされていることを確認してください。次に、このリポジトリのクローンを作成し、次のコマンドを使用して CLI を構築します。
git clone https://github.com/typst/typst
cd typst
cargo build --release
最適化されたバイナリはtarget/release/
に保存されます。
貢献するもう 1 つの良い方法は、コミュニティとパッケージを共有することです。
IPA: /taɪpst/。 「Ty」はTy pesetting のようなもの、「pst」は Hi psterのようなものです。ティプストについて書くときは、固有名詞としてその名前を大文字の「T」で書きます。
Typst はすべて、パワー、シンプルさ、パフォーマンスという 3 つの主要な目標を念頭に置いて設計されています。私たちは、LaTeX のパワーに匹敵し、学習と使用が容易でありながら、インスタント プレビューを実現できる十分な速度を備えたシステムが必要な時期に来ていると考えています。これらの目標を達成するために、私たちは次の 3 つの核となる設計原則に従います。
一貫性によるシンプルさ: Typst で 1 つのことを行う方法を知っていれば、その知識を他のことに応用できるはずです。同じことを行う方法が複数ある場合は、そのうちの 1 つを他の方法とは異なる抽象レベルにする必要があります。たとえば、 = Introduction
と#heading[Introduction]
が同じことをしても大丈夫です。前者は後者にとって単なる構文糖だからです。
構成可能性によるパワー:何かを柔軟にするには 2 つの方法があります。すべてに対応するノブを用意するか、さまざまな方法で組み合わせられるいくつかのノブを用意するかです。 Typst は 2 番目の方法を念頭に置いて設計されています。私たちは、これまで思いつかなかった方法で構築できるシステムを提供します。 TeX も 2 番目のカテゴリに属しますが、少し低レベルなので、代わりに LaTeX が使用されます。しかし、そこには実際にはそれほど多くの構成可能性はありません。代わりに、すべてのパッケージ ( usepackage{knob}
) があります。
増分性によるパフォーマンス:すべての Typst 言語機能は、増分コンパイルに対応する必要があります。幸いなことに、バックグラウンドでほとんどのハードワークを実行する増分コンパイル用のシステムcomemo
があります。