拡張機能

1 拡張機能とは

 Quartoには様々な拡張機能(extension)がある。RMarkdownの場合、Rパッケージによって追加された機能が、Quartoでは拡張機能として提供される。Rパッケージは一回インストールしておけば、同じPCでは継続して使える。一方、Quartoはプロジェクト単位で拡張機能を導入する必要があるのが面倒だが、パッケージに依存しないため、異なるPC環境でも使えると言ったメリットがある。

 2026年2月現在、百を超える数の拡張機能がある1。 Quarto公式で開発した拡張機能もあれば、ユーザーが作成した拡張機能もある。CRANのように公式レポジトリを使用せず、GitHubを使用するため、LUA言語の知識があれば誰でも拡張機能を作成し、公に公開することができる2

2 使い方

 拡張機能ごとに使い方が微妙に違ったりもするので、各拡張機能のGithubレポジトリのREADMEを参照されたい。拡張機能の全般的な管理方法については公式ホームページを参照されたい。

 ただし、拡張機能のインストール方法は全拡張機能共通である。プロジェクトを開いた状態でTerminalパネルに以下の入力する(Quartoの拡張機能はGitHub経由で公開されている)。

quarto add GitHubアカウント名/拡張機能のレポジトリ名

3 拡張機能の紹介

 ここでは宋が実際に使ったことのある拡張機能や、面白いと思った拡張機能をいくつか紹介する。

3.1 pointer

quarto add quarto-ext/pointer
---
title: タイトル
author: 著者名
format: 
  revealjs:
    ...
revealjs-plugins:
  - pointer
---
  • qキーでポインターモードの切り替え
  • YAMLヘッダーを修正するとカスタマイズ可能
    • 以下は大きさを24(デフォルトは16)、ポインターの色を青に変更した例
---
title: タイトル
author: 著者名
format:
  revealjs:
    pointer:
      pointerSize: 24
      color: "blue"
revealjs-plugins:
  - pointer
---

3.3 qrcode

 簡単にQRコードを生成し埋め込む拡張機能。学会での発表用スライドに入れておくと便利

quarto add jmbuhr/quarto-qrcode

YAMLヘッダーの設定は不要

{{< qrcode https://www.jaysong.net >}}

3.4 countdown

 画面の右下にタイマーが表示してくれる。授業用スライドと相性が良いのでrevealjsと使用することを推奨。HTML文書にも使えるが、あまり意味はないかも。

quarto add gadenbuie/countdown/quarto

使うだけならYAMLヘッダーの設定は不要だが、YAMLヘッダーでカスタマイズ可能

## 今すぐQuartoをインストールしてください

5分30秒以内にインストールしないと流血事件が発生します

{{< countdown "5:30" >}}

3.5 embedio

ページ内にHTMLページ、スライド、動画、PDFを埋め込む

quarto add coatless-quarto/embedio

YAMLヘッダーの設定は不要

3.6 webr

 HTMLページ上でRを動かす拡張機能。R教育時、簡単なコードの実習で使用

quarto add coatless/quarto-webr
---
title: タイトル
author: 著者名
format: 
  html:
    ...
filters:
  - webr
# 以下は不要だが、邪魔なWEBR STATUSがなくなる
webr: 
  show-startup-message: false
  show-header-message: false
---
「____」の箇所に正しいコードを入力してRun Codeをクリックしてみよう!

```{webr-r}
#| editor-font-scale: 0.75
#| fig-width: 6
#| fig-height: 3
#| out-height: 300px
#| out-width: 600px
#| editor-code-line-numbers: 2, 4
# Step 1: mu = 0, sd = 2の正規分布から乱数を20個抽出すし、my_vecに格納
my_vec <- _____
# Step 2: 横軸を1:20、縦軸をmy_vecとする折れ線グラフを作成する
plot(_____)
```

「____」の箇所に正しいコードを入力してRun Codeをクリックしてみよう!

3.7 metropolis-revealjs

 Beamer界隈で人気のテーマであるmetropolisをrevealjsで再現したテーマ

RStudioのTerminalペインに以下のコマンドを入力

quarto add shafayetShafee/metropolis-beamer

formatrevealjsからmetropolis-beamer-revealjsへ変更

---
title: タイトル
author: 著者名
format: 
  metropolis-beamer-revealjs:
    ...
---
---
title: "My first reveal.js"
subtitle: "Metropolis theme"
author: "Jaehyun Song (Kansai University)"
date: today
format: 
  metropolis-beamer-revealjs:
    footer: Meow!
---

脚注

  1. 拡張機能のリストはhttps://quarto.org/docs/extensions/から確認できる。↩︎

  2. 公式に一報知らせたらリストにも掲載してくれるらしい。↩︎