Quarto の本文記法を実サンプル付きで解説

Quarto で使える Q markdown 構文を、基本構文から Div・Callout・相互参照・数式・変数まで実サンプル付きで解説。

作者

watanabe3tipapa

公開

2026年8月22日

1 Q markdown とは?

Quarto は Markdown を拡張した Q markdown(Quarto Markdown) を使います。通常の Markdown 構文に加えて、Div・Callout・相互参照・レイアウトなどの便利な記法が使えます。

ノートこのページの方針

各記法について「書き方」と「実行結果」をセットで掲載しています。ソースの見方は本文中の <code>```</code> ブロックを参照してください。


2 基本構文

2.1 見出し

# H1(ページタイトル)
## H2(セクション)
### H3(サブセクション)
#### H4

2.2 強調

*イタリック* と **ボールド** と ~~打ち消し~~ と `インラインコード`

イタリックボールド打ち消しインラインコード

2.3 リスト

- 順序なしリスト
- 項目2

1. 順序付きリスト
2. 項目2
  • 順序なしリスト
  • 項目2
  1. 順序付きリスト
  2. 項目2

2.4 リンクと画像

[Quarto公式](https://quarto.org/docs/)

![画像の代替テキスト](assets/quarto_check.jpg){width=300}

Quarto チェック

Quarto チェック画像

2.5 引用(ブロッククォート)

> 引用文。
> 2行目の引用。

引用文。 2行目の引用。


3 コード

3.1 フェンスドコードブロック

```r
# R のコード
x <- rnorm(100)
mean(x)

```r
x <- rnorm(100)
mean(x)

3.2 実行可能なコードチャンク

```{r}
#| fig-cap: "ヒストグラム"
hist(rnorm(100), col = "steelblue")
```

3.2.1 実行結果

コード
hist(rnorm(100), col = "steelblue")

ヒストグラム

3.3 コードをそのまま表示する

Quarto の構文を表示用のサンプルとして書きたいときは、コードチャンクの波括弧を二重({{r}})にすると実行されずに表示だけされます。

```{r}
1 + 1
```
ヒント二重波括弧の使いどころ

本サイトの各ページにある「テンプレート」コードブロックはすべて二重波括弧({{r}})で記述しています。これがないと Quarto がコードチャンクとして実行してしまいます。4つのバッククォートで囲めば、中に3つのバッククォートのコードブロックを含められます。

3.4 インラインコード(動的值)

説明文に r mean(x) のように書くと、実行結果が埋め込まれます。

平均は 3、合計は 15 です。

ノート説明文中に書く場合

説明文の中で r 式 をそのまま表示したい場合は <code>r 式</code> の HTML タグを使います。


4 Div と Callout

4.1 Div(ブロック要素)

::: で囲んだブロックにクラスを付与できます。

::: {.custom-class}
ここが Div ブロックの中身。
:::

4.2 Callout(強調ボックス)

5種類の Callout が使えます。タイトルは ## タイトル で追加できます。

::: {.callout-note}
## メモ
これはノートです。
:::

::: {.callout-warning}
## 注意
これは警告です。
:::

::: {.callout-important}
## 重要
重要な内容です。
:::

::: {.callout-tip}
## ヒント
役立つ情報です。
:::

::: {.callout-caution}
## 注意喚起
注意が必要です。
:::

4.2.1 実行結果

ノートメモ

Callout は ::: で囲み、{.callout-種類} で種類を指定します。タイトルは ## タイトル で追加できます。

警告注意

Callout は入れ子にできません。

重要重要

PDF 出力でもそのまま反映されます。

ヒントヒント

appearance: simplecollapse: true などの追加オプションも指定可能です。

注意注意喚起

セキュリティ関連の注意事項などを書くのに適しています。


5 レイアウト

5.1 グリッドレイアウト

:::: {.grid}
::: {.g-col-6}
左カラム
:::
::: {.g-col-6}
右カラム
:::
::::

5.2 パネルタブセット

::: {.panel-tabset}
## R
R のコード例

## Python
Python のコード例
:::

5.2.1 実行結果

コード
hist(rnorm(100), col = "steelblue", main = "R: ヒストグラム")

import matplotlib.pyplot as plt
import numpy as np
plt.hist(np.random.randn(100), color="tomato")
plt.title("Python: ヒストグラム")
plt.show()
ノートPython チャンクについて

実行可能な {python} チャンクには Python 環境(Jupyter)が必要です。本サイトの CI は R のみを用意しているため、Python は表示用のコードブロックとして記載しています。


6 相互参照

図・表・数式・節に自動でIDを振り、参照できます。詳細は _quarto.yml リファレンス も参照してください。

6.1 図の参照

@fig-hist に分布を示します。


::: {.cell}

```{.r .cell-code}
hist(rnorm(100), col = "steelblue")
```

::: {.cell-output-display}
![正規乱数の分布](notation_files/figure-html/fig-hist-1.png){#fig-hist width=672}
:::
:::

@fig-dist にデータの分布を示します。

コード
x <- rnorm(100)
hist(x, col = "steelblue", breaks = 15)
図 1: 正規乱数の分布

6.2 表の参照

| 統計量 ||
|--------|-----|
| 標本サイズ | <code>r length(x)</code> |
| 平均 | <code>r round(mean(x), 3)</code> |

: 基本統計量一覧 {#tbl-summary}

@tbl-summary から基本統計量を確認できます。

表 1: 基本統計量一覧
統計量
標本サイズ 100
平均 0.005
標準偏差 1.132

6.3 参照構文一覧

対象 ラベル 参照構文 表示例
#| label: fig-xxx @fig-xxx 図 1
{#tbl-xxx} @tbl-xxx 表 1
{#sec-xxx} @sec-xxx 節 2.1
数式 {#eq-xxx} @eq-xxx 式 1
コード {#lst-xxx} @lst-xxx リスト 1

7 数式

Quarto は Pandoc の数式記法をサポートしています。

7.1 インライン数式

アインシュタインの公式は $E = mc^2$ です。

アインシュタインの公式は \(E = mc^2\) です。

7.2 ブロック数式

$$
f(x) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)
$$

\[ f(x) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right) \]

数式にはラベルを付けて相互参照できます。

$$
E = mc^2
$$ {#eq-relativity}

相対性理論は @eq-relativity で表されます。

8 変数(shortcodes)

_quarto.yml で定義した変数を本文で参照できます。

# _quarto.yml
vars:
  author: "watanabe3tipapa"
  year: 2026
著者: {{< var author >}}({{< var year >}})
ヒント変数の使いどころ

著者名や連絡先、バージョンなど、複数ページで使い回す値を変数化すると更新が1箇所で済みます。


9 よく使う構文の早見表

記法 構文 備考
見出し ## H2 # の数でレベル
強調 **太字** *斜体* / ~~打消し~~
インラインコード `code`
コードブロック ```lang 言語指定可
コードチャンク ```{r} 実行される
表示用コード ```{r} 二重波括弧で表示のみ
Callout :::{.callout-tip} note/warning/important/tip/caution
タブセット :::{.panel-tabset} ## でタブ
グリッド :::{.g-col-6} 12分割カラム
図参照 @fig-xxx #| label: fig-xxx
表参照 @tbl-xxx {#tbl-xxx}
節参照 @sec-xxx {#sec-xxx}
インライン数式 $...$
ブロック数式 $$...$$
変数参照 {{< var name >}} _quarto.ymlvars:
引用 > 文
水平線 ---
脚注 テキスト[^1] [^1]: 脚注内容

10 参考