はじめに
以前TinyTeXを使ってRStudio×Quartoで論文を書く方法についてご紹介しました。
しかし、TinyTeXを使った方法はいくらTiny(軽量)とはいえLaTeX特有のエラーが発生することもあり、論文を書くとなると、どうせなら細かい設定をするためにローカルのTeXやOverleafで書くことが多いのではないかと思います1。
そこで今回は、LaTeXも代わりうる新しい組版システムであるTypstを使ってQuartoで論文を書く方法をご紹介します。
また、英語論文のバージョンではありますが、Quarto拡張機能を作成し経済学論文のテンプレートも用意しましたので、併せてご紹介します。
Rの出力をシームレスにTypstに組み込むことが可能ですので、R(Python)ユーザーの方はぜひご活用ください。
Typstとは?
Typstは、新しいマークアップベースの組版システムで、オープンソースで提供されています。
基本的にはLaTeXと同様に、学術論文に適した高品質なPDFを生成することができますが、TypstにはLaTeXに比べていくつかの利点があります。
- シンプルな文法: Typstの文法はLaTeXに比べて直感的で、学びやすいという特徴があります。
※ただし、Quarto上で利用する場合はQuartoやR Markdown同様Markdownベースの記述となるため、Typstの文法を直接学ぶ必要はありません。 - リアルタイムプレビュー: Typstの公式オンラインエディタはリアルタイムプレビュー機能を備えており、編集内容が即座に反映されるため、効率的に文書を作成できます。
※ただし、Quarto上ではリアルタイムプレビューは利用できません。
- 高速なコンパイル: これはQuarto×Typstの場合ですが、Typst出力は非常に高速なコンパイルを実現しており、LaTeXの数倍の速度でPDFを生成できます。
TypstにはOverleafのような公式オンラインエディタが提供されており、柔軟に文書を編集できますが、当然ながらそちらではTypstの文法を使って記述する必要があります。
一方で、Quartoを介してTypstを利用することで、Markdownベースの記述を保ちながらTypstの利点を活かすことが可能です。
中でも特筆すべきはそのコンパイル速度です。LaTeXのコンパイル時間にストレスを感じている方は、Typstの速さにきっと驚くでしょう!(ガチ)
QuartoでTypstを使う方法
デフォルトの設定でよければ、以下のようにYAMLヘッダーを設定するだけでTypstを利用できます。
---
title: "ドキュメントのタイトル"
author: "著者名"
date: 2025-10-21
format: typst
---課題のレポートであればこれで十分なドキュメントを生成できるはずです。{tinytex}のようなパッケージのインストールも不要です。
自分の記事で恐縮ですが、以下をご覧いただければQuartoでの書き方がわかるかと思います。
Quarto拡張機能を使う
冒頭にも書きました通り、英語論文用のテンプレートであるQuarto拡張機能を作成しました。作成に当たっては、自分が修士論文をQuartoで書こうとしたときに対応できず挫折した部分をなるべく補うように努めました。
対応環境
はじめに拡張機能を使うための対応環境について説明します。
- Quarto 1.8以上
Rを使っていればQuartoはデフォルトで使えるのですが、現在はバージョンが1.8にはなっていないと思います。 その場合は、Quartoの公式サイトから1.8以上をインストールしてください2。
また、RStudioあるいはPositronの環境を想定しています。
拡張機能のインストール
拡張機能は以下のコマンドでインストールできます。作業フォルダを開いた状態で実行してください。
ターミナル
quarto install extension yo5uke/econ-a4実行するとYse/Noの確認が求められますので、Yを入力して進めてください。最後の「? View documentation using default browser? (Y/n)」はnでもよいのですが、ドキュメントが見れますのでYから使い方を確認してください。
拡張機能の利用
拡張機能を利用するには、YAMLヘッダーのformatフィールドを以下のように設定します。
format:
econ-a4-typst: defaultこれで、経済学論文用のA4サイズのTypstテンプレートが利用できます。
使い方はGitHubリポジトリのREADMEにも記載していますので、そちらもご覧ください。
サンプルコード
以下は、拡張機能を利用したサンプルコードです。
---
title: "Writing Papers with Quarto and Typst"
author:
- name: Your Name
affiliation: Your Affiliation
email: your-address@example.com
date: 2025-10-21
date-format: long
abstract: |
{{< lipsum 1 >}}
keywords: [Quarto, Typst, Academic Writing, PDF Generation]
format:
econ-a4-typst:
toc: true
number-sections: true
---
## Introduction
@notsu_indirect_2025
{{< lipsum 2 >}}
## Insert Figures
```{r}
#| echo: false
library(ggplot2)
# Create a simple plot
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point() +
labs(
title = "Scatter plot of MPG vs Weight",
x = "Weight (1000 lbs)",
y = "Miles per Gallon"
)
```
## Insert Tables
```{r}
#| echo: false
#| fig-cap: "A simple table showing the first few rows of the mtcars dataset."
library(tinytable)
# Create a simple table
tt(
head(mtcars),
notes = "Note: This table shows the first few rows of the mtcars dataset."
)
```
## Mathematical Expressions
$$
E=mc^2
$$
```{=typst}
#bibliography("references.bib")
```
{{< pagebreak >}}
## Appendix {.unnumbered}
{{< lipsum 3 >}}出力結果はこちらからご確認ください(少しダミーテキストで文量を増やしています)。
参考文献のセクションについては現状生のTypstコードで指定する必要がありますので、例にあるように記述してください。“References”という見出しも自動で生成されます。
もちろんRコードを使って図や表を挿入することも可能です。分析の結果を一度画像等で出力することなく挿入できるため、論文作成が非常に楽になります(もちろんレポートも!)。
今後の展望
今回は英語論文用のテンプレートを作成しましたが、今後は日本語でも使えるテンプレートを作成したいと考えています。
やはり海外誌に出すような細かい設定を行う論文はQuartoを介さずTypstやLaTeXで書くことが多くなるかと思いますが、学位論文はこの拡張機能で十分対応できるようになればと考えています(とはいえ将来は細かい設定も詰めたい…!)。
テンプレートの限界についてはREADMEにも記載していますので、ご覧ください。
おわりに
今回はQuartoの記述方法自体はほぼ説明しませんでしたが、Typst(&作成したテンプレート)を使うことで、MarkdownベースでTypstの利点を享受できるということをお伝えできたかと思います。
ぜひTypstを使って快適な論文執筆ライフを送りましょう!🚀