4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TypstAdvent Calendar 2024

Day 3

VScode Dev Container on macOS でポータブルな Typst の日本語執筆環境を構築する(結論要約版)

Last updated at Posted at 2024-12-02

本記事は Typst Advent Calendar 2024 の3日目の記事です。2日目は kimushun1101 さん でした。

前記事は、やり方を少しずつ改良していく過程を記述したので長くなりました。そこで 「最終的な結論として得られた、やるべき最良の手順をまとめた要約版」 の記事を改めて別にまとめることとしましょう。

この記事の手順でできること

  • VScode と Docker がインストールされている macOS の環境において、Dev Container を使い、簡単・便利・ポータブルな、VScode による Typst の執筆環境を整える。
  • macOSに標準インストールされている和文フォントなどのフォントを、Docker コンテナ内の Typst から使えるようにする。
  • 出来合いの Docker コンテナが用意されていない最新の Typst 環境を Docker コンテナ内に用意する。

用意するもの

  • macOS
  • VScode
  • Docker Desktop for Mac

準備

Docker 側の準備

後ほど、Dockerコンテナ内からmacOS標準インストールのフォント類が使えるようにするために、macOSのフォントディレクトリをDockerからバインドマウントするわけですが、Dockerからアクセス可能にするために、Docker Dekstopの設定に追加が必要です。

Step 1

Docker Desktopのダッシュボードを起動し、設定の歯車アイコンを押します。

image.png

Step 2

ResourcesFile Sharing を選び、右側の Virtual file shares までスクロールします。
そして、次に、/path/to/exported/directory のところの Browse ボタンを押します。

image.png

Step 3

/System/Library/Fonts を選び、+ ボタンを押して追加します。同じことを、/Library/Fonts に対しても繰り返します。両方が灰色の状態になれば追加成功です。

image.png

Step 4

右下の Apply & restart ボタンを押し、Dockerサービスを再起動して、設定変更を反映させます。

VScode側の準備

VScodeの拡張機能で、Dev Containers、あるいはそれを含むパックである Remote Development をインストールしておきます。

image.png

macOS側の準備

macOSのセキュリティに起因するトラブルを避けるため、VScodeとDockerに対して、フルディスクアクセスの権限を与えておきましょう。システム設定アプリの検索欄に「フルディスク」と打ち込んでフルディスクアクセスの画面を開き、+ ボタンを押して、/Applications/Visual Studio Code.app/Applications/Docker.app を追加しておきましょう。

image.png

そして、VScode や Docker を再起動しましょう。

Dev Container の用意

前記事で用意した Dockerfile.devcontainer.json、およびサンプルファイル一式をまとめたGitレポジトリを用意しました。これをもとに Typst の文書執筆フォルダを作ります。ここでは ~/Documents 内に用意することにします。

ホスト側に必要ファイル一式をダウンロード
$ cd ~/Documents
$ git clone https://github.com/doraTeX/typst-devcontainer
$ cd typst-devcontainer
$ code .

最後の code . は、VScode の CUI インターフェースである code コマンドがインストールされている場合です。インストールされていないときは、typst-devcointainer フォルダを、VScode の「フォルダを開く」から開いてください。

コンテナのビルド

VScode で次の画面が出ますので、「コンテナーで再度開く」を選びます。

image.png

もしも表示されなければ、Command + Shift + P でコマンドパレットを開き、reopenと打ち込めば、Dev Containers: Reopen in Container という項目が現れるはずですので、それを選びます。

image.png

すると、多少時間がかかりますが、記事執筆時点で最新の Typst v.0.12.0 の環境がソースコードからコンパイルされてコンテナ化されます。そして、VScode の Dev Container によって、コンテナ内の Typst 環境が、あたかも手元にあるかのように執筆が進められます。

サンプル文書のタイプセット実験

同梱されているサンプル文書 font-test.typsample.typ をタイプセットしてみましょう。画面上部の Preview ボタンを押すと、右側に高速プレビューが出ます。

image.png

ただし、font-test.typ 内のカラー絵文字については、Preview では正しく表示されず、欠落してしまいます。

image.png

ですが、Export PDF ("tinymist.showPdf"コマンド)を押して最終版PDFを生成させれば、きちんとカラー絵文字グリフがPDFに埋め込まれていることが確認できます。

image.png

おすすめ設定:このコンテナ内での Command+T をPDF生成のショートカットキーに設定する

ユーザーワイドの keybindings.json に設定を加えます。ここでは TeXShop にならって Command+T としましょう。このショートカットキーは、このコンテナを開いている VScode でのみ機能するように制限しておきます。

keybindings.json
    {
        "key": "cmd+t",
        "command": "tinymist.showPdf",
        "when": "config.containerKeybindings.myTypst.enabled"
    }

これで、コンテナ内で Command+T を押すと、PDF生成が発動します。

ポータブルな Typst 執筆環境が実現できた!

この ~/Documents/typst-devcontainer を持ち運べば、他のmacOS環境でも、VScode と Docker さえあれば、どこでも Typst 執筆環境が実現できたことになります。ただし、.devcontainer.json は、ドット始まりのファイルであるため、デフォルトではFinder上で不可視となります。ファイル単位でコピーするときに抜け落ちやすいですから、気をつけましょう。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?