Octavo
目次

Octavo リファレンス

このページは、Octavo のプロジェクトで作業する AI アシスタントと、細かいところまで知りたい人のために書いている。VS Code から Octavo を使う人は、手引きを読めばよい。

同じ文章が Octavo に同梱されていて、入っている版に合ったものが読める:

octavo docs                       # 節の一覧
octavo docs 3.8                   # 番号で1つの節
octavo docs posters               # 見出しの言葉で
octavo docs --search slides_select   # その言葉が出てくる節すべて
octavo docs --all                 # 全部

--lang ja で日本語、--lang en で英語になる(既定は表示の言語)。そのプロジェクトの決まりはプロジェクトの AGENTS.md にある。このページは Octavo の仕組みを書いたもの。


1. 守ること

1.1 決まり

1.2 プロジェクトの様子を調べる

ファイルを手で読むより、これを使う。どれも --json が付く。

octavo documents --json       # 文書の一覧: ファイル、作るもの、回とその行
octavo config --json          # 変えられる設定、その値と選択肢
octavo config --doc my-paper --json   # 1つの文書の設定(冒頭がプロジェクトに優先)
octavo analysis --json        # .qmd ごとに: 最新、古い、手動
octavo check values --json    # 本文の {{…}} と分析が書いた値
octavo check cites --json     # 引用キーと .bib
octavo check --json           # 提出前の全部
octavo doctor --json          # 何が入っているか

2. プロジェクト

2.1 プロジェクトの中身

study/
  octavo.config.py   プロジェクトの設定(Python の辞書、CONFIG = {...})
  literature/        literature.bib と priorwork/(Priorwork が届けるもの)
  AGENTS.md          AI アシスタント向けのプロジェクトの決まり
  CLAUDE.md          1行、@AGENTS.md
  README.md
  docs/<name>/       <name>.md(原稿)、appendix.md、main.typ(論文の体裁)、main.tex
  analysis/          .qmd と octavo.R / octavo_helper.py
  data/raw/          入手したままのデータ(git に入れない。出所は README.md に書く)
  data/derived/      分析が作ったデータ(git に入れない)
  data/HASHES.json   data/ のハッシュ値(git に入れる)
  figures/           手で作る図: Typst で描く <name>.typ、共通部品 _parts.typ、写真
  tables/            手で作る表: <name>.csv
  notes/writing/     文章のルールと表現集(パック)
  templates/         Octavo のテンプレートのプロジェクト用のコピー
  assets/values/     <qmd>.json: {{…}} の数値
  assets/figures/    <name>.pdf と .png
  assets/tables/     <name>.typ・.tex・.md(表の中身だけ)
  build/             出力。出力ごとのフォルダ。消してよい
  requirements.txt   Python のパッケージ(git に入れる)
  renv.lock          R のパッケージ(git に入れる)

設定はフォルダをパターン(docs/*/、analysis/*.qmd)で登録しているので、文書や分析を足しても設定は書き換えない。

2.2 文書とその名前

文書は docs/<name>/<name>.md で、名前は <name>(octavo build my-paper)。隣の appendix.md がその付録。何を作るかは冒頭の outputs:(4.1)。回でできている文書には、スライドと台本のために回ごとの文書もある: 順に <name>-01、<name>-02、…、id のある回は <name>-<id>(3.10)。octavo documents がすべてを示す。

2.3 プロジェクトに足す

octavo init study --lang en --with analysis,paper=my-paper   # 枠といくつかの部分
octavo init study --all --example                           # すべての種類を見本入りで
octavo new analysis model                     # analysis/model.qmd(1本目は octavo.R・data/ も)
octavo new analysis model --engine python     # Python で(octavo_helper.py も)
octavo new paper my-paper                     # docs/my-paper/my-paper.md と main.typ
octavo new paper my-paper --appendix          # appendix.md を足す(あとからでも)
octavo new paper my-paper --tex               # main.tex を足す
octavo new paper other --lang ja              # プロジェクトと別の言語の原稿
octavo new slides talk
octavo new lecture course
octavo new poster poster
octavo new figure dag                         # figures/dag.typ
octavo new table compare                      # tables/compare.csv
octavo env                                    # 分析の環境(.venv・renv)

--example は部分を見本で埋める。書いたものには印が付き(octavo:example のコメント、値の _placeholder、×の付いた箱の図)、octavo check が残りを数える。仮の値は octavo check で致命的。--env は同時に環境も用意する。ある文書に new すると、足りないファイルだけを足す。new --json は作ったものと、環境がまだかどうか(env_needed)を返す。

2.4 前の版で作ったプロジェクト

octavo migrate --docs --dry-run    # papers/<n>/paper.md、slides/、lectures/ -> docs/<n>/<n>.md
octavo migrate --syntax --dry-run  # ::: {.session}、::: {.slide}、.handout-only -> \session{}、\newslide、.no-slides
octavo migrate --rules --dry-run   # AGENTS.md の Octavo の節 -> 今の文章(差分を表示)
octavo migrate                     # CLAUDE.md だけのプロジェクトの決まりを AGENTS.md へ

どれも、コミットしていない変更があれば --allow-dirty なしでは断る。--docs は文書の名前を保ち、図のパスを直し、outputs/sessions を書き、設定に docs/*/ を足す。--syntax は前後ですべての文書を組み、すべての出力が同じときだけ書き換えを残す。--rules は <!-- octavo:section X --> の部分をテンプレートのものに置き換える(その中に書いたものも置き換わる。最初の節より前は残る)。古い設定(profile / targets のある papers/*/paper.md)もそのまま組める。


3. 原稿の書き方

3.1 冒頭(front matter)

---
title: Title of the Paper
subtitle: A subtitle
author: [Author One, Author Two]
institute: Example University
email: one@example.org
date: today
lang: en
outputs: [pdf, word]
abstract_word_limit: 150
---

3.2 見出し・ラベル・参照

# Analysis {#sec-analysis}

@fig-trend shows the trend and @tbl-desc the descriptive statistics.
We estimate @eq-model (see also [-@eq-model]).

![Trend](../../assets/figures/trend.png){#fig-trend}

| Variable | Mean |
|----------|------|
| x        | 1.2  |

: Descriptive statistics {#tbl-desc}

$$
y_i = \beta_0 + \beta_1 x_i + \varepsilon_i
$$ {#eq-model}

3.3 番号付きのブロック

::: {.question #question-why title="Why is government the main actor?"}
Why is government at the centre of public policy?
:::

::: nb
Unnumbered blocks need no label.
:::

::: {.restate #question-why}
:::

::: {.list-of .question}
:::
種類 番号
case、question 1つの通し(事例1.1、論点1.2)
theorem、lemma、proposition、corollary、definition、example もう1つの通し
aside、nb、memo、remark なし
'theorem_envs': {
    'case': 'Example case',
    'claim': {'name': {'ja': '主張', 'en': 'Claim'}, 'counter': 'case'},
    'hint': {'name': 'Hint', 'numbered': False},
},

3.4 数式

The estimate is $\hat\beta = {{coef_x:.3f}}$, with $y_i \sim \mathcal{N}(\mu, \sigma^2)$.

$$
\begin{aligned}
y_i &= \beta_0 + \beta_1 x_i + \varepsilon_i \\
\operatorname{Var}(\varepsilon_i) &= \sigma^2
\end{aligned}
$$

3.5 図

![Officials by level of government[^src]](../assets/figures/staff.png){#fig-staff width=70%}

::: {.figure-note}
Source: National Personnel Authority, *Annual Report 2025*.[^checked]
:::

[^src]: Full-time staff only.
[^checked]: Retrieved 1 October 2026.
#diagram(
  (
    z: (2, 0, [Background $Z$]),
    x: (0, 1.6, [Education $X$]),
    y: (4, 1.6, [Income $Y$]),
  ),
  (("z", "x"), ("z", "y"), ("x", "y")),
)

3.6 表

3.7 引用

3.8 一部の出力にだけ入れる

::: {.no-slides}
Fill-in-the-blank space and detailed footnotes: handout only.
:::

::: {.slides-only}
Figures and short prompts: slides only.
:::
クラス 残るところ
.no-slides スライドと台本のほかすべて(ふつうの「プリントだけ」)
.slides-only(.slide-only) スライドと台本
.pdf-only、.word-only、.tex-only、.poster-only その出力だけ
.print-only PDF・Word・LaTeX
.screen-only / .no-screen 投影するスライドだけ / それ以外すべて(slides-handout と使う)
.no-anonymous / .anonymous-only --anonymous で落とす / そのときだけ残す
.on-slides / .on-poster slides_select / poster_select が marked のとき、スライド・ポスターに選ぶ

3.9 改ページ・スライドの区切り・スライドの題

## A long heading for the handout {slide-title="Short title"}

\newslide

### A heading that stays on the same slide {.same-slide}

\newslide{Another title}

3.10 回

\session{Session 3: policy and government} {#third subtitle="Public policy" date="2026-10-14"}

3.11 脚注・URL・付録

3.12 1行に1文

octavo fmt my-paper            # 文の途中の改行、1行に複数の文がある所を示す
octavo fmt my-paper --apply    # 書き換える

fmt は文の途中の改行をつなぎ、日本語の行をかっこの外の「。」ごとに改行する。コード・数式・コメント・表・見出し・::: の行・強制改行には触れず、英語の行は分けない。


4. 出力

4.1 出力

出力 作るもの 置き場
pdf PDF。原稿の横に main.typ があれば論文の体裁、なければ組み込みの A4 プリント build/pdf/<name>.pdf(論文は build/pdf/<name>/main.pdf とそのコピー build/pdf/<name>.pdf)
slides スライド(回ごとに1つ) build/slides/<name>.pdf、<name>-slides-<session>.pdf
slides-handout .screen-only を除き .no-screen を入れたスライド build/slides-handout/
script 縮めたスライドとその ::: notes(A4) build/script/<name>-notes.pdf、<name>-notes-<session>.pdf
poster ポスター build/poster/<name>.pdf
word Word build/word/<name>.docx
tex LaTeX のソース(原稿の横に main.tex があればそれ)。組むには TeX が要る build/tex/
beamer LaTeX のスライド build/beamer/
octavo build                          # every document, every output it names
octavo build my-paper --to word       # one document, one output
octavo build --compile                # typeset to PDF as well
octavo build course-third --to slides # one session's deck
octavo build --to all --compile
octavo targets                        # the output names

4.2 論文

4.3 講義のプリント

pdf に main.typ のない文書は、組み込みの A4 の体裁になる: 表紙、i、ii、… の目次、1から始まる本文、jsarticle に倣った組み方(11pt、1ページ36行)、BIZ UDゴシックと Inter。

キー 既定 内容
first_section 1 0 でガイダンスの回を「0」にする
pagebreak 'session' 'section': # ごと、None: 区切りでだけ
font、fontsize BIZ UDゴシック + Inter、'11pt'
toc sessions のときオン 目次
date_format '%Y年%-m月%-d日'(英語は '%B %-d, %Y')
appendix_separate True 付録を <name>-appendix.pdf に
appendix_after_references True False: 本文・付録・文献の順

回ごとの PDF は、全体を組んだものから切り出す(ページ番号・目次・番号は全体のまま):

octavo build course --sessions                     # build/handouts/course-<session>.pdf
octavo extract course --session third --cover      # 1つ以上の回(カンマ区切り)を表紙付きで
octavo extract course --pages 12-19                # 印刷されたページ番号で

4.4 スライド

キー 既定 内容
slides_aspect '16-9' '4-3'
slides_accent '#0e2f92' None で黒だけ
slides_numbering None 見出しの番号('1.'、'1.1')
slides_section_slides False # の節ごとに区切りのスライド
slides_running_header True 左上に節の名前
slides_font BIZ UDゴシック + Inter
slides_bibliography 講義のスライドは slide、発表は off slide、off、sheet(A4 の <deck>-references.pdf)、both
slides_select all marked: .on-slides の部分とその上の見出しだけ

前の名前 typst_slides_* も読む。図はスライドの残りの場所に合わせる。

4.5 ポスター

---
title: Counting how policy is made
author: [Author One, Author Two]
institute: Example University
event: Example Conference 2026
date: 2026-10-14
logo: ../../figures/logo.png
qr: https://example.org/paper
qr_label: The paper
outputs: [poster]
poster_grid: 3x2
poster_rows: [2, 1]
---

# Question

# Results {span=2}

# Notes {cell="3,2"}
書き方 意味
# の見出しごと 1つのマス。左上から順に埋める
{span=2} / {rows=2} 2列分の幅 / 2行分の高さ
{cell="3,2"} 3列目・2行目(1から数える)
poster_size a0(既定)、a1、a2、b0、b1(JIS の B)、または 1189x841mm
poster_orientation portrait(既定)、landscape
poster_grid、poster_rows 列 x 行(2x3)、行の高さの比
logo、qr、qr_label 題の帯の左のロゴ、右の QR コード
poster_select: marked .on-poster の部分だけ(論文からポスターも: outputs: [pdf, poster])
poster_font 書体

マスに収まらない中身はビルドのときに知らせ、PDF に赤で示す。置けないマスがあればビルドを止める。

4.6 Word と LaTeX


5. 設定

5.1 octavo.config.py

CONFIG = {...}、Python の辞書。知らないキーは注意が出る。主なキー:

キー 内容
documents どのファイルが文書か({'docs': {'src': 'docs/*/'}})
analysis .qmd: [{'src': 'analysis/*.qmd'}]、manual、deps も
bib_file .bib
csl、csl_locale 引用のスタイル(zotero.org/styles の ID かパス)とそのロケール
japanese_citation_form、citations_by_language 文献一覧の日本語文献(7.1)
lang プロジェクトの言語(ja / en)
meta title、author、affiliation、email の既定
crossref_numbering 'document' / 'section'
theorem_envs 番号付きブロックの種類
figure_width、figure_ext 図
values_dir、figure_dir、table_dir、figure_src_dir、table_src_dir フォルダ
value_float_format、value_thousands_sep 数値の見え方
word_limit、char_limit、abstract_word_limit、abstract_char_limit 投稿の分量の上限
anonymous_drop_meta --anonymous で消す冒頭のキー
lint_accepted、bib_accepted 認める検出
slides_*、poster_*、first_section、pagebreak、font、fontsize、toc、date_format 見た目(4)
appendix_separate、appendix_after_references 付録
docx_reference Word のスタイル
zotero_collection、zotero_linked、zotero_write Zotero(7.2)
writing、writing_off 文章のルールのパック(9)
replication_exclude 再現用パッケージから除くもの
out_dirs 出力の置き場

5.2 文書ごとの設定

次のキーは原稿の冒頭にも書け、そのときはその文書だけに効く(名前は設定と同じ): outputs、sessions、lang、csl、csl_locale、reference_section_title、japanese_citation_form、citations_by_language、crossref_numbering、word_limit、char_limit、abstract_word_limit、abstract_char_limit、slides_*、poster_*、first_section、pagebreak、font、fontsize、toc、date_format、appendix_separate、appendix_after_references、writing、writing_off。綴りを誤ったキーはビルドのときに知らせる。ビルドは [settings] 原稿から: … と表示する。

5.3 コマンドで設定を変える

octavo config                                  # 設定とその値
octavo config set slides_aspect 4-3            # octavo.config.py の1行
octavo config unset slides_aspect
octavo config --doc my-paper set word_limit 8000   # 原稿の冒頭の1行

set は書く前に確かめ、複数行にわたる値は書き換えない。


6. 分析

6.1 結果が原稿に届くまで

analysis/*.qmd  --quarto-->  assets/values/<qmd>.json   本文の {{name}}
                             assets/figures/*.pdf|png   図
                             assets/tables/*            表

Octavo は R を読まず、Quarto の出力も読まない。quarto render を実行し、このファイルを読むだけ。.qmd ごとに assets/values/<その名前>.json を持ち、原稿からはすべてが見える(同じ名前が2つにあれば注意が出て、後のものが勝つ)。値のない名前は {{name}} のまま残り、知らせる。

6.2 R の補助(octavo.R)

source(if (file.exists("octavo.R")) "octavo.R" else file.path("analysis", "octavo.R"))

ov_value("n_obs", nrow(d))              # {{n_obs}}
ov_value("coef_x", coef(m)[["x"]])      # {{coef_x}}、{{coef_x:.2f}}
ov_value("p_x", ov_pval(pv))            # ".023"、"< .001"
ov_figure(p, "trend")                   # ggplot か描く関数 -> trend.pdf、trend.png
ov_table(tab, "summary")                # データフレーム -> summary.typ、.tex、.md

6.3 Python の補助(octavo_helper.py)

ov_value("n_obs", len(d))
ov_value("coef_x", model.params["x"])
ov_figure(fig, "trend")
ov_table(tab, "summary")

名前も書くファイルも R と同じ。ov_table の groups は0から数える。ov_style()(図を作る前に)は日本語の書体と埋め込める書体を設定する。要るのは標準ライブラリだけ(渡されたときだけ matplotlib・pandas)。requirements.txt には ipykernel、nbformat、nbclient、pyyaml が入る。

6.4 数値の見え方

値 例 表示
整数 nrow(d)、len(d) 1,523
小数 coef(m)[["x"]] 0.342(value_float_format、3桁)
文字 ov_pval(p) そのまま

本文の {{name:.2f}} か ov_value(..., fmt = ".2f") で書式を決める。ちょうど整数になる小数も小数のまま(2.000)出る。わざとそうしている。

6.5 分析を実行するとき

octavo analysis                   # 古くなった .qmd
octavo analysis run               # 古いものをすべて実行(手動のものも)
octavo analysis run analysis/02-model.qmd   # これを、最新でも実行
octavo analysis mark-fresh analysis/00-fetch.qmd   # 実行せずに最新として記録
octavo analysis run --keep-cache   # 実行結果も残す(analysis prose のため)
octavo analysis prose analysis/02-model.qmd   # 地の文だけ変わった: コードを実行せず HTML を更新
octavo check values --diff        # 前回の実行で変わった本文の数値
octavo check values --diff my-paper-v1-submitted   # git のタグから
'analysis': [
    {'src': 'analysis/01-clean.qmd', 'manual': True},
    {'src': 'analysis/02-model.qmd', 'deps': ['data/derived/*']},
],
---
title: "Fetch the raw data"
octavo:
  manual: true
---

```{r}
out <- "../data/raw/survey.csv"
if (file.exists(out)) knitr::knit_exit("Already fetched. Move the file away to fetch again.")
```

```{r}
download.file("https://example.org/survey.csv", out)
```

6.6 環境とパッケージ

octavo env                          # requirements.txt から .venv(uv)。renv に knitr・rmarkdown と .qmd が使うパッケージ
octavo analysis missing analysis/model.qmd   # 使っているのに入っていない R のパッケージ
octavo analysis install analysis/model.qmd   # それをプロジェクトの renv に入れる

6.7 .qmd だけのプロジェクト、ほかの言語

プロジェクトに原稿がなくてもよい: Quarto で書くレポートは analysis/ に置き、octavo env / octavo analysis run が面倒を見る。原稿がないことを octavo check と octavo build は問題にしない。出力は .qmd の横にできる。Quarto の Typst の PDF で原稿と同じ書体を使うには:

format:
  typst:
    papersize: a4
    include-in-header:
      text: |
        #set text(font: ((name: "Libertinus Serif", covers: "latin-in-cjk"), "BIZ UDMincho", "Noto Serif CJK JP"))

ほかの言語も、assets/values/<任意>.json に {"name": value} を、assets/figures/ に図(.pdf と .png)を、assets/tables/ に表を書けば使える。


7. 文献・Zotero・Priorwork

7.1 .bib とスタイル

7.2 Zotero

octavo bib collections            # コレクションの一覧(入れ子)
octavo bib pull                   # zotero_collection(とその下)から .bib を取得
octavo bib login --user-id 1234567   # ウェブ API のキー(標準入力から読む)
octavo bib tidy                   # 案: 引用しているのにメインにないもの、メインにあるのに引用していないもの
octavo bib tidy --apply --keys smith2020,doe2019

7.3 Priorwork

Priorwork(先行研究サーベイの別のツール)は literature/priorwork/ に書く: <survey>.md(本文。.bib のキーで引用する)、<survey>.json(目録。draft、synthesis、complete)、<survey>.cards.json(論文ごとのカード)。ほかの場所には書かない。

octavo priorwork                  # 届いたもの
octavo priorwork resolve --dry-run   # @PRIORWORK:<doi> -> .bib のキー(論文が .bib に入ったら)
octavo priorwork link             # サーベイのコレクション -> zotero_linked
octavo priorwork cards --json     # カード(引用キーごと)
octavo priorwork ask --workspace <folder> --kind start
octavo priorwork requests

届いたものを原稿に取り込む: 本文を原稿と合わせて読む。complete では、足す文がどの文に属するかを引用している(「場所」/ “Where”)。どこに入れるかを提案して利用者の答えを待ち、引用は書かれたまま残し、受け取り箱は直さない。octavo check cites は PRIORWORK: の印を分けて示し、Priorwork が要旨しか読んでいない引用文献を知らせる。


8. 確かめる・投稿の後

8.1 octavo check

octavo check                 # 全部。致命的な問題があれば終了コードが 0 でない
octavo check --strict        # 注意も数える
octavo check values          # {{…}} と値
octavo check cites           # 引用キーと .bib、.bib の問題
octavo check lint            # 本文に手入力した結果、ずれた入れ子の箇条書き

致命的: 図や表のファイルがない、解決しない {{…}}、仮の値、古い分析、無い引用キー、無い・二重のラベル、分量の上限を超えた。注意: ひな型の残り、使っていないラベル、::: の問題、文章のルールの名前、データのハッシュ値。

8.2 匿名の査読

::: {.no-anonymous}
Acknowledgements: this research was funded by ...
:::
octavo build my-paper --anonymous
octavo bundle my-paper --anonymous     # まとめたファイルに著者名がないかも確かめる

--anonymous は .no-anonymous を落とし、.anonymous-only を残し、anonymous_drop_meta のキーを消し、main.typ のタイトル部分を切り替える(flags.typ)。次のふつうのビルドで元に戻る。

8.3 送った後

octavo bundle my-paper                 # submission-my-paper.zip。投稿システム向けに1つのフォルダにまとめる
octavo review returned.docx            # 共著者の変更履歴とコメント
octavo release my-paper v1-submitted   # タグ my-paper-v1-submitted と、GitHub Release に PDF(gh)
octavo data hash                       # data/HASHES.json
octavo data status                     # それから data/ が変わったか
octavo data track data/raw/typed.csv   # data/ の中のファイルを1つ git に入れる
octavo bundle --replication            # 分析・値・図・表・設定・ハッシュ値
octavo bundle --replication --standalone  # 同じものを、ヘルパーのいらない .qmd で
octavo bundle --replication --standalone --verify   # パッケージそのものを実行して確かめる

9. AI アシスタントのための文章のルール

利用者の書き方のルールと、信頼できる言い回しのフレーズバンクは、パックにまとめた Markdown のファイル。文章を書く・直す前に octavo writing --file <ファイル> --line <行> --print を実行し、出てきたものに従う。 パックの用意の仕方と例は 執筆支援 に。

9.1 パックとファイル

9.2 原稿が読むもの

9.3 コマンド

octavo writing
octavo writing --for my-paper --section results --print
octavo writing --file docs/my-paper/my-paper.md --line 120 --print
octavo writing --for my-paper --kind field/results#the-main-result --print
octavo outline my-paper --paragraphs

9.4 段落の印と著者への問い

9.5 JSON

9.6 何も出ないとき


10. テンプレート

octavo template list                              # テンプレートと、使っているものの出どころ
octavo template copy slides/typst-slides.typ      # このプロジェクトの templates/ へ
octavo template copy paper/en/main.typ --user     # ~/.config/octavo/templates/ へ
octavo template diff slides/typst-slides.typ      # コピーしてから同梱のものが変わった所

探す順: プロジェクトの templates/、~/.config/octavo/templates/、同梱のもの。コピーはファイルを丸ごと置き換える。

テンプレート 対象
slides/typst-slides.typ、slides/typst-notes.typ スライドと台本
poster/typst-poster.typ ポスター
handout/handout.typ A4 のプリント
paper/article.typ、paper/<lang>/main.typ 論文
manuscripts/<lang>/*.md octavo new が書くもの
typst/crossref.typ 番号と参照の見た目
citations/japanese.lua 文献一覧の日本語文献
claude/<lang>/*.md AGENTS.md の節

書体: 論文は BIZ UD明朝 + Libertinus Serif、プリントとスライドは BIZ UDゴシック + Inter(なければ Noto CJK、ヒラギノ、游)。


11. コマンド

octavo build [documents...] [--to outputs] [--compile] [--appendix] [--sessions] [--no-analysis] [--anonymous] [--json]
octavo watch [documents...] [--to outputs]
octavo extract <lecture> [--session IDS] [--pages 12-19] [--cover]
octavo documents [--json]
octavo outline [documents...] [--paragraphs] [--json]
octavo targets
octavo config [--doc NAME] [set KEY VALUE | unset KEY] [--json]
octavo analysis [--json] | run [QMD...] [--keep-cache] | mark-fresh QMD | prose QMD | missing QMD | install QMD
octavo env
octavo check [--strict] [--anonymous] [--json]
octavo check values [--unused] [--diff [REF]] [--json]
octavo check cites [--list] [--unused] [--json]
octavo check lint [--json]
octavo fmt [name] [--apply]
octavo bib pull|tidy|collections|login
octavo csl get|list|which [ID]
octavo priorwork [resolve|link|cards|ask|requests] [--dry-run] [--json]
octavo writing [--for DOC --section S | --file F --line N] [--kind KIND] [--print] [--json]
octavo bundle [name] [--anonymous] [--replication] [--with-raw-data] [--standalone] [--lang en|ja] [--verify]
octavo review returned.docx [--json]
octavo release <document> <label>
octavo data hash|status|track
octavo init <dir> [--lang ja|en] [--with PARTS | --all] [--engine r|python] [--example] [--env]
octavo new paper|slides|lecture|poster|analysis|figure|table <name> [--lang ja|en] [--example] [--appendix] [--tex] [--engine r|python] [--env] [--json]
octavo template list|copy|diff [name] [--user]
octavo migrate [--docs|--syntax|--rules] [--dry-run] [--allow-dirty]
octavo setup [--with-tex] [--check] [--r-editor]
octavo doctor [--json]
octavo selftest
octavo docs [section] [--search WORD] [--all] [--lang ja|en]

前の名前 octavo values、octavo checkbib、octavo lint、octavo reference-docx も使える。表示の言語は OCTAVO_LANG(ja / en)、なければシステムの言語。


12. うまくいかないとき