はじめに
以前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に比べて直感的で、学びやすいという特徴があります。
- リアルタイムプレビュー: Typstの公式オンラインエディタはリアルタイムプレビュー機能を備えており、編集内容が即座に反映されるため、効率的に文書を作成できます。
※ただし、Quarto上ではリアルタイムプレビューは利用できません。
- 高速なコンパイル: 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: |
This is a sample abstract.
keywords: [Quarto, Typst, Academic Writing, PDF Generation]
format:
econ-a4-typst:
toc: true
number-sections: true
---
## Introduction
@notsu_indirect_2025
This is a sample introduction text.
## 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
library(knitr)
# Create a simple table
kable(head(mtcars), caption = "Table 1: Sample of mtcars dataset")
```
```{=typst}
#bibliography("references.bib")
```
少しダミーテキストで文量を増やしていますが、出力結果はこちらからご確認ください。
参考文献のセクションについては現状Typstチャンク内で指定する必要がありますので、例のように記述してください。見出しも自動で生成されます。
もちろんRコードを使って図や表を挿入することも可能です。分析の結果を出力することなく挿入できるため、論文作成が非常に楽になります(もちろんレポートも!)。
今後の展望
今回は英語論文用のテンプレートを作成しましたが、今後は日本語でも使えるテンプレートを作成したいと考えています。
やはり海外誌に出すような細かい設定を行う論文はQuartoを介さずTypstやLaTeXで書くことが多いと思いますが、学位論文はこの拡張機能で十分対応できるようになればと考えています(とはいえ将来は細かい設定も詰めたい…!)。
テンプレートの限界についてはREADMEにも記載していますので、ご覧ください。
おわりに
今回はQuartoの記述方法自体はほぼ説明しませんでしたが、Typst(&作成したテンプレート)を使うことで、MarkdownベースでTypstの利点を享受できるということをお伝えできたかと思います。
ぜひTypstを使って快適な論文執筆ライフを送りましょう!🚀