【初心者向け】Typst爆速スタートガイド【ブラウザ版】

# はじめに
Typstの特徴や魅力についてはほかの記事に任せますので、とにかく手っ取り早く試してみたい！という人に向けて書きます。VScode版については近日公開予定。
## 完成品
この記事を見て書けるようになるもの
- とりあえずプロジェクトの立ち上げができる
- とりあえずまともな日本語フォントを使うことができる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/e71875a2-c4b7-27c2-196e-7b2acbaf2b6f.png)

# 0. なぜブラウザ版？
- 導入、管理が一番楽
- 気軽に試してみたい人にうってつけ
- 開発の恩恵を受けるのが一番早い
# 1. ブラウザ版にアクセスし登録する
## Typstのページにアクセスする
https://typst.app/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/ac10c518-abf5-20d2-fe03-e9c6c462c140.png "https://typst.app/")

## ```Sign up for free and try it now!```か```Sign up```をクリック(どちらも同じページに飛ぶ)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/5e6f36ff-19a9-b9e2-1500-077c921a2d74.png)

上から順に
- 名前（テキトーでいい）
- Email（パスワード忘れたときに再登録メールが届くようにしておくと便利）
- パスワード(このアカウントで使いたいもの、既存のパスワードではない)
- Telemetry: 自分の使用統計データをTypstの運営が見られるようにするか
    - Enabled, DisabledがそれぞれYes, Noの意味と思っていい
- I would like to receive email about product updates and announcementes
    - チェックするとTypstの仕様変更やアプデのお知らせがメールに届く
    - これをチェックしないと進めないわけじゃないので**チェックしなくていい**
- Sign in with your account insteadはすでに登録を済ませている人向けで、GoogleアカウントやGithubアカウントを使って代わりにログインという意味ではないので注意

# 2. 早速、書いてみよう
## プロジェクトの立ち上げ
サインアップしたら早速ホーム画面が表示されます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/26ac8e63-8356-b347-d517-1d70a9dc9c7f.png)

英語に慣れてる方はぜひ```Go to the tutorial```を選択しましょう。
そうでない方、とりあえず日本語で！！という方は```+ Start from template```を選びましょう

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/700de5dd-5d50-d993-5b32-0325c9480944.png)

この記事ではとりあえず左上の```☆ ilm```を選びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/30607162-eae1-7f3b-501e-da060d48a275.png)
選ぶと枠が光るので、```Project Title```へテキトーにタイトルを入れて、```Create```をクリックしましょう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/99809432-9414-dd93-161f-9077e344b3f6.png)

## 書き込み
![スクリーンショット 2024-07-11 100518.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/34c9c873-e6a7-abbb-0bc3-36ddb77b03cd.png)
これが先ほどのilmテンプレートの中身です。

このドキュメントは非常によくできていてTypstでのテキストの書き方が網羅されています。

これに慣れれば次のステップとして画像の添付の仕方やドキュメントの背景色をいじったりもっと複雑なレイアウトをいじってあるテンプレートを見ていくと無理なく学習できると思います。

## 日本語が"まとも"に書けるようになるおまじない
### タイトルページをいじる：```#text(lang,font)[本文]```を使う

先ほどの文書にそのまま日本語を入れると......
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/9ed8c2e0-5ce7-e9f3-6eca-aedd0be93821.png)
なんだか変ですね？

漢字とひらがなでフォントが違いますし、漢字や句読点が中国語フォントになっています。

対処法はいたってシンプルで、
```#text()```関数をいろんなところに呼び出します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/ddc47824-e6b8-f7ab-96f2-5dca7053e578.png)

どうでしょう？それっぽくはなりましたよね。

どこにどうやって変更したのかというと

前
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/813b8ba9-bb0a-26cb-1b27-75d8717ee0f7.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/f1036d2e-3ebc-7e18-c59a-91f1332ed577.png)
後
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/cab40efc-7c09-3764-f02f-38104301e468.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/b7a760d1-def6-1157-5946-191dda1e8aa1.png)

使い方は
```#text(lang,font)[本文]```
となっていますが、実はむちゃくちゃパラメータあります。詳しくは[公式ドキュメント](https://typst.app/docs/reference/text/text/)に書いてあります。(英語)

### 手っ取り早く使いたい方向け
```
#text(lang: "jp",font: "Noto Serif CJK JP")[本文]//Serif：明朝体
#text(lang: "jp",font: "Noto Sans CJK JP")[本文]//Serif：ゴシック体
```

### 細かい話
なんで場所ごとにフォントを指定しているのかというと、このタイトルページは「テンプレート」から作成されているからです。
``` 
#import "@preview/ilm:1.1.2": * 
//ilmという名前のすでにいろいろ書き込まれているテンプレートファイルを読み込む
```

```
#show ilm.with(...

//importされたファイルの中にilmという関数が定義されており、そこで定義された引数を入れていく
```

つまり、もっと楽に変更したいなら"ilm"と名のついているテンプレートファイルそのものを書き換えないといけません。このファイルがどこにあるかというと[オンラインのどこか](https://github.com/talal/ilm)に保存されているため、改造したテンプレートファイルを作りたいならこのファイルをまるまるコピーしてきて自分で書き換えていくしかないのですが、それは別記事にします。

### タイトル以外の本文でいじる
#### text関数ではなくset関数を利用する
冒頭3行目に書かれている関数はコメントアウトし、以降2行にこれを追加すると、日本語を入力したときにきれいなフォントが使われます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/0980cfb5-4678-153c-f110-974875a227c5.png)
#### setとshowのちがい
- set: 文章全体に関数を適応する
- show: 一部に適応する。```show heading```は```heading```に、```show ilm.with```は別ファイルで定義されている```ilm```関数を呼び出して以降の処理を適応させている。

### いろんなフォントを使いたい!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835552/09a457a9-cfc8-44bf-869b-7a5be604711d.png)
[公式ドキュメント](https://typst.app/docs/reference/text/text/)にある通り、Agボタンをクリックするとどんなフォントが使えるか見れますがそれ以外のフォントを使いたい場合は.ttfファイルか.otfファイルを編集ページのところにアップロードすれば使えます。URLでの指定はできないみたいです。
フォントが欲しい場合は[Google Fonts](https://fonts.google.com/)へアクセスすればいろいろあります。

# さいごに

爆速で手っ取り早くやってみたい方への記事でした。
いろいろ説明を省いたために関数モードや数式モードなど、実は覚える内容についてプログラミングしたことがない人にとっては厄介な要素をほったらかしにしているので自分がやりたいように表現できるまでに少し時間がかかると思います。とりあえずこの記事でTypstに触ってみよう！と思える方が増えたら幸いです。