🖋

もうTeXは時代遅れ!? はじめてのTypstマニュアル

2023/10/18に公開

はじめに

理系学生などで、 TeX を多用している方、これから TeX を使おうとしている方は多いのではないでしょうか。
Word などの一般的なワードプロセッサでは、数式を多く含む文章などを書くのが大変ですし、色々と形式を指定したい場合などにおいては不便です。
そこでほとんどの方が用いるのが TeX です。けど、TeX を使っていて(もしくは使おうとして)以下のようなことを感じたことはありませんか?

  • 環境構築がめんどくさい
  • 書くのが大変
  • PDF への変換(コンパイル)が遅い

そんなあなたに試して欲しいのが Typst と言う新たなシステムです。

https://Typst.app/

Typst は、2023 年にパブリックベータが公開されたかなり新しいシステムです。Rust というプログラミング言語で書かれた(これだけでなんか嬉しい)オープンソースシステムであり、TeX を代替しうるシステムとして公開からすぐに話題となっています。
新しいシステムのためまだ完璧でない部分も多いですが、TeXでできる基本的な事項の多くは可能ですし、今後さらに発展していくことも期待されます。

Typst のメリット

Typst のメリットは主に以下の通りです。

  • インストール、環境構築が楽
  • 書き方がシンプル
  • コンパイルが速い

実際に、この記事ではインストールから簡単な文章の作成などの手順を解説します。

インストール手順

今回はcargoを使用してインストールします。cargoを使用できない場合、インストールするか、または違う手順でのTypstインストールを試みてください。

ターミナルで以下のコマンドを実行しましょう。

cargo install --git https://github.com/typst/typst

文章を作ろう

早速、文章を作ってみましょう。VSCode や Vim などのエディタの使用をお勧めします。

1. 初めての文章

まずは hello.typ というファイルを作成しましょう。
そのファイルに以下の文をコピペしましょう。

Hello! world

作成したら、ターミナルで以下のコマンドを実行します。

typst compile hello.typ

こうすると、hello.pdf という pdf ファイルができており、以下のように文章が書かれているはずです。
Alt TeXt

出力ファイル名を指定したい場合、以下のようにします。

typst compile hello.typ hello2.pdf

とても簡単ですね!

2. 日本語を含む文章

次に、日本語を含む文章の作成です。
実は、特に何もしなくても先ほどと同様の手順で日本語の文章ファイルの作成は可能ですが、少し問題点があります。

試しに、japanese.typ というファイルに以下の文を打ってみます。

こんにちは。
本日は晴天なり。
空の色はとても青く、澄み渡っている。

これを先ほどと同様にコンパイルします。

typst compile japanese.typ

すると、以下のようになったのではないでしょうか。
Alt TeXt

文章自体はきちんと表示されていますが、少し漢字が中国語っぽいですね。
そこで、以下のように先頭に 1 行追加してみましょう。

#set text(font: "Hiragino Kaku Gothic Pro")

こんにちは。
本日は晴天なり。
空の色はとても青く、澄み渡っている。

これをコンパイルします。

typst compile japanese.typ japanese2.pdf

すると、以下のようにかなり綺麗になったのではないでしょうか。
Alt TeXt
このように、フォントを設定することで綺麗な日本語の表示が可能です。

3. ヘッダーや文字修飾など

さて、以下を貼り付けてコンパイルしてみてください。ここに基本的な文字修飾などを含めました。Markdown などに似た非常にシンプルな書き方であることがわかると思います。

#set text(font: "Hiragino Kaku Gothic Pro")

= これはヘッダーです。

== これはセクションです。

=== これはサブセクションです。

= 文字修飾の方法
アスタリスクで囲むと * 太字 * になります。#strong[太字]でも太字になります。

1行開けるか、`\` で改行されます。`#parbreak()`でも改行されます。#parbreak()
リンクを挿入したい場合は、#link("http://example.com")[ここをクリック] と書きます。

箇条書きは`-`を使います。
- いろはに
- ほへと
- ちりぬるを

番号付きの箇条書きは`+`を使います。
+ いろはに
+ ほへと
+ ちりぬるを

Alt TeXt

文字修飾などについてさらに詳しく知りたい方はこちらの記事をご覧ください!
https://zenn.dev/yuhi_ut/articles/how2write-typst1

4. 数式

数式は、$で囲むことで書くことができます。
以下のコードを貼り付けてコンパイルしてみましょう。

#set text(font: "Hiragino Kaku Gothic Pro")
#set math.equation(numbering: "(1)")

円の方程式は
$ x^2 + y^2 = 1 $
のように表せます。

次の @eq[式] のように、`<>`でラベルを付けることも可能です。
$  integral_(0)^(oo) f(x) dif x $ <eq>

シグマは、`sum`コマンドを使うと簡単に書けます。
$ sum_(k=1)^oo (-1)^(k-1)/k = log 2 $

コンパイルすると以下のようになります。
Alt TeXt

さらに詳しい Typst の情報

Typst は非常に新しいため、まだ日本語の解説等が非常に少ないです。

ただ、公式ドキュメント(英語)は非常に充実しているので、英語を読める方はぜひ参照してください。

日本語の記事で 2023/10 現在で見つけられるものを挙げておきます。
まだまだ新しいシステムなので、完璧ではありませんが今後の発展にも注目ですね。

https://zenn.dev/yuhi_ut/articles/how2write-typst1
https://zenn.dev/k_84mo10/articles/ho2use-polylux1
https://zenn.dev/msakuta/articles/2f1cd11d6099d6
https://zenn.dev/monaqa/articles/2023-04-19-typst-introduction
https://zenn.dev/eplison/articles/53301ca7f1249f
https://zenn.dev/nabetani/articles/c8deca489b4880
https://zrbabbler.hatenablog.com/entry/2023/06/11/134151
https://zenn.dev/saito_atsushi/articles/2b56f58c4fe3ca
https://zenn.dev/saito_atsushi/articles/db7e458fd3f49f
https://zenn.dev/saito_atsushi/articles/ff9490458570e1
https://zenn.dev/saito_atsushi/articles/8b67565df8bf2a
https://zenn.dev/agdf/articles/cba8c6f29d4069
https://zenn.dev/arakur/articles/088643e7993449
https://zenn.dev/saito_atsushi/articles/4b7379eb2972bf

よき Typst ライフを!

Discussion