Octavo

Octavo

計量社会科学スターターパック

論文・スライド・講義ノート・ポスターは Markdown で書き、分析は Quarto で行う。分析が出した数値・図・表は Octavo がどの文書にも差し込み、PDF(Typst)と Word に仕上げる(TeX があれば LaTeX にも)。何を作るかは、原稿の冒頭で選ぶ。文献は1つの .bib から、好きな CSL スタイルで整形される。

仕組み

分析と手で作ったファイルから数値・図・表ができ、原稿はそれを名前で呼んで作るものを選び、octavo build が PDF・スライド・ポスター・Word・LaTeX を作る

できあがるもの

見本のプロジェクトから組んだ論文の1ページとスライド
見本のプロジェクト(octavo init demo --all --example)から組んだ論文の1ページとスライド。係数・表・図は分析から取り込まれ、番号と参考文献は組版のときに自動で付く。

できること

数値を手入力しない

分析で登録し(ov_value("n_obs", nrow(d)))、原稿では名前で呼ぶ({{n_obs}})。分析を再実行すれば、すべての文書の数値がまとめて更新される。

R でも Python でも

分析は Quarto の .qmd で、R でも Python でも書ける。どちらにも同じ補助関数があり、プロジェクトの .venv と renv も用意される。

1つの原稿から、選んだ出力を

冒頭に outputs: [pdf, slides] と書く。投稿先の書式に合わせた論文、A4 のプリント、回ごとのスライド(番号はプリントのまま。印を付けた所だけにもできる)、発表者用の台本、A0 のポスター、共著者に回す Word。

ラベルで参照する

@fig-trend は「図2.1」になり、節を並べ替えても、番号は正しいまま。

投稿の前に点検する

octavo check が、本文に手入力された数値、仮の値、存在しない引用や図、規定の分量オーバーを知らせる。

投稿から採択後まで

匿名審査用の出力、投稿用の zip、共著者が Word で入れた変更履歴の読み取り、投稿した版から変わった数値の一覧、再現用パッケージ。

VS Code 拡張

原稿の横に、カーソルに合わせて動く PDF のライブプレビュー、上の機能を操作できるサイドバー、ボタン1つのセットアップ。Linux・macOS・Windows に対応し、表示は英語と日本語。

AI アシスタントと使える

プロジェクトごとの約束事(結果を原稿に手入力しない、など)を AGENTS.md に置く。Claude Code・GitHub Copilot・Codex・Antigravity のどれもが読むので、AI アシスタントは最初からその約束を知っている。

インストール

VS Code なら、Octavo 拡張 をインストールし、案内が出たら「セットアップ」を押す。pandoc・Typst・Quarto・R・フォントと octavo コマンドがまとめて入る。

ターミナルなら:

curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install octavo-kit
octavo setup     # pandoc / Typst / Quarto / フォント / R
octavo doctor    # 足りないものを報告する

Linux・macOS・Windows ごとの手順は手引きにある。

始め方

VS Code なら: フォルダを開き、アクティビティバーの Octavo のアイコンを押す。まだプロジェクトでないフォルダなら「新しいプロジェクト」が出るので、最初に置くもの(R か Python の分析、論文、スライド、講義ノート、ポスター)と、見本で埋めるかを選ぶ。原稿を開いてエディタ右上の PDF のボタンを押すと、横に PDF が出て、カーソルに合わせて動く。

ターミナルなら、まずは見本で動作を確かめる(分析・論文・スライド・講義ノート・ポスター):

octavo init demo --all --example
cd demo
octavo env       # 分析の環境(.venv と renv)
octavo build --compile

自分のプロジェクトは、必要な部品だけで始める:

octavo init study --with analysis,paper
cd study
octavo env       # 分析の環境(.venv と renv)
octavo build paper --compile
octavo check     # 投稿する前に

TikZ なしで図を描く

箱と矢印の図、因果グラフ、フローチャートは、専用のファイルに Typst で描く。octavo new figure dag が小さな diagram()(パッケージは使わない)入りの figures/dag.typ を置き、octavo build が通常の図として組み込む。どの出力形式でも使え、番号が付き、ラベルで参照できる。

#diagram(
  (z: (2, 0, [Background $Z$]),
   x: (0, 1.6, [Education $X$]),
   y: (4, 1.6, [Income $Y$]),
   u: (4, 3, [Unobserved $U$], (stroke: none))),
  (("z", "x"), ("z", "y"), ("x", "y"),
   ("u", "y", (dash: "dashed"))),
)

手引きで詳しく

因果の図: 家庭環境から教育年数と所得へ、教育年数から所得へ、観察されない要因から所得へ破線の矢印
このコードで描いた図(文字は日本語にしてある)。

ポスター

同じプロジェクトから学会のポスターも作れる。octavo new poster が置く原稿は、一番上の見出し1つが1マスで、既定は A0 に2列×3行。{span=2}・{rows=2} でマスをつなぎ、判型と格子は冒頭で変え、題の帯にはロゴと QR コードを置ける。マスに入りきらない文は、組むと知らせる。論文の原稿から、印を付けた所だけでポスターを作ることもできる。

---
title: Counting how policy is made
author: [Author One, Author Two]
event: Example Conference 2026
qr: https://example.org/paper
outputs: [poster]
poster_rows: [1, 2, 1]
---

# Question

# Data and methods

# Results {span=2}

# Conclusion

# References

手引きで詳しく

A0 のポスター: QR コードのある題の帯と、問い・表のあるデータと方法・図のある大きな結果・まとめ・参考文献のマス
見本のポスター(octavo init demo --with analysis,poster --example)。

手引き

使い方はすべて手引きにある。講義ノートは講義ノートの作り方に1ページでまとめてある(VS Code で作る手順と、記法の早見表)。

  1. インストール — Linux・macOS・Windows を順に
  2. 最初のプロジェクト — octavo init と octavo new、分析の環境
  3. 原稿を書く — 参照、番号の付くブロック、数式、図、表
  4. 分析 — Quarto から数値・図・表を
  5. 文献
  6. 論文 — 点検、匿名審査、投稿、改訂
  7. スライド・講義ノート・ポスター — 回の区切り、回ごとの配布資料、ポスター
  8. 自分用にする — テンプレート、Word のスタイル、書体
  9. コマンド一覧
  10. VS Code
  11. 自分の機械で確かめること