🎉

Typst v0.12.0での破壊的変更への対応 (卒論・修論テンプレート)

2024/12/30に公開

はじめに

以前、『Typstで書く卒論・修論テンプレート』として記事を書かせていただきました。
https://zenn.dev/chantakan/articles/ed80950004d145
あれから一年たちまして、Typst v0.12.0でいくつかの重要な破壊的変更が導入されました。特に、locate()counter()の使用方法に大きな変更があり、以前のテンプレートコードを更新する必要があります(VScodeでwarningが出てしまい邪魔だったと思います)。この記事では、『Typstで書く卒論・修論テンプレート』を最新のTypstバージョンに対応したことについて述べます。

リポジトリはこちら
GitHubからダウンロードできます.

主な変更点

1. locate()からcontextへの移行

v0.12.0以降、多くの動的な操作でlocate()の代わりにcontextブロックを使用するように変更されました。

変更前 (v0.11.x)

locate(loc => {
  let chapt = counter(heading).at(loc).at(0)
  // 処理
})

変更後 (v0.12.0+)

context {
  let chapt = counter(heading).get().at(0)
  // 処理
}

2. メソッドの変更

  • .at(loc)メソッドが.get()に変更
  • counter()state()の操作方法が更新

主な修正点の詳細

  1. すべてのlocate(loc => { ... })context { ... }に置き換え
  2. .at(loc)メソッドを.get()に置き換え
  3. 一部の関数呼び出しの引数を調整
  4. 参照と番号付けのロジックを若干修正

注意点

  • このテンプレートは一般的な日本語の修士論文や卒業論文向けに設計されています
  • フォントや余白、章立てなどは必要に応じて調整してください
  • 参考文献スタイルはieeeを使用していますが、変更可能です

おわりに

Typstのアップデートに伴い、テンプレートコードを適切に更新することが重要です。この記事が皆さんのTypstでの論文執筆の助けになれば幸いです。

数式変換のヒント

LaTeXに染まってしまい、なかなかTypstの数式の記法に慣れない方向けに、数式をTypstの記法に変換するウェブアプリを作成しました:

🔗 Tex2Typst Math Converter

このツールを使えば、LaTeXの数式記法をTypstの記法に簡単に変換できます(たぶん)。数式の記述に苦労している方は、ぜひ活用してみてください。Webassemblyを使って実装とかしたので、今後このツールについてより詳細な記事も検討しています。

補足

最新のTypstの変更点や詳細については、公式ドキュメントを常に確認することをおすすめします。
https://typst.app/docs/

Discussion