5  Quartoを使う

このセクションでは、RStudioにも標準搭載されているQuartoを用い、ノートブック形式で出力する方法について説明します。

5.1 Quartoとは

ざっくり一言でいうと、RやPythonなどと組み合わせて使えるドキュメント生成ツールです。このページもまさしくQuartoを用いて作られており、HTML出力をはじめとしてPDFやスライドの形式で出力することが可能です。

R Markdownをお使いになった経験はありますでしょうか?イメージはほとんど同じですが、できることやデザイン、将来性といった観点でQuartoがよりモダンなツールと言えるでしょう1

簡単に、Quartoでできることをまとめましょう。

  1. 複数の言語に対応
    • R, Python, Juliaなど
  2. Markdown記法で簡単に入力が可能
    • ビジュアルエディターという、Wordのような直感的な操作ができるモードも存在
  3. さまざまなフォーマットに出力可能
    • HTMLページ(このページのように)やPDFなど復讐のフォーマットに対応
    • HTMLでもウェブサイト形式やブック形式、PDFでもレジュメ形式やbeamerスライド形式など多様

後のセクションでは例示しながら解説していきます。

5.2 使い方

実際に出力する前に、使い方を確認しておきましょう。

RStudioの例で説明します。

5.2.1 ファイルを開く

ウィンドウ左上のより「Quarto Document…」を選択します。

すると上のような画面が出てきます。これはR Markdownと同様です。

ここでタイトルと著者(任意)を入力すると、出力したとき自動的に表示されるようになります。

また、PDFを選択しておけば\(\LaTeX\)を経由してレンダリングされ、PDF出力されます(つまり\(\LaTeX\)環境が必要です)。これについてはまた別で説明します。

Engineの部分はRユーザーであればknitrのままで問題ありません。Pythonを使う場合はJupyterにする必要があります。

Editorは上で軽く触れましたが、visualに設定することでWordのような直感的な操作ができるようになります。マークダウンに慣れている人であればチェックは外して問題ありませんし、マークダウン記法がよくわからず、苦労したくないような方はチェックを入れておけばよいと思います。

最後にCreateをクリックすればファイルが開きます。

ビジュアルエディターはオフにしています

はじめファイルを開くとテンプレートの文章が表示されていますが、消して書き始めましょう。

記述の際は主に##で始まる見出し2でセクションを区切っていきます。#1つで表される見出し1はタイトルに該当するためです。

ノート

マークダウンの書き方自体は、僭越ながら私のウェブサイトのページも参照してみてください。

【Quarto】マークダウンでできること!

5.2.2 Rのコードを挿入する

Rのコードを実行する場合、「チャンク」と呼ばれるコードのブロックを作成します。キーボードショートカットのCtrl + Alt + Iで挿入できます2

```で囲まれている部分がチャンクです。チャンク右上に緑の再生ボタンがありますが、これがチャンクの実行ボタンです。これをクリックするとチャンク内のコードが実行され、チャンク下に結果が表示されます(これがいいですよね!)。

私は出力しなくてもコードの下に結果が表示されるというところだけでもQuartoを使う意味があると思っていますが、目的は出力ですので、このままHTML形式にしてみます。

上部の「 Render」をクリックすると、ページが作成されます3。出力したものが以下です。

5.3 少し設定を加える

ここまでで一番シンプルともいえる出力ができました。細かい設定は次以降のセクションに譲りますが、ここで簡単ですぐできるような設定をしてみましょう。

まず、ファイルを開いた時の上部に出ている---で囲まれた部分をYAMLヘッダーと言います。この中でファイルについての設定をすることができます。

例えば以下のような設定です。

---
title: "デモファイル"
author: 
  - name: "阿部洋輔"
    affiliation: "某シンクタンク"
    email: "hogehoge@hoge.jp"
date: 2025-04-29
format: 
  html:
    embed-resources: true
execute: 
  warning: false
---

それぞれの要素をまとめます。

ポイント:

  1. authorの詳細を記述
    • 名前だけでなく所属やEメールアドレスなどを表記できます。
    • 名前だけならauthor: "阿部洋輔"でも十分です。
    • 同様の書き方を繰り返すことで複数人表記もできます。
  2. dateで日付の設定
    • todayで今日の日付を自動設定することもできます。
  3. embed-resourcestrueにして画像を埋め込み
    • コードでプロットをしたり画像を貼ったりすると、レンダリングした際にhogehoge_filesというフォルダが生成され4、HTMLファイルはそれを参照することで画像を表示しています。これをtrueにするとHTMLの中に画像データを含め、hogehoge_filesというフォルダを生成しなくなります5
  4. execute内でチャンクオプションを設定
    • チャンクオプションとは、チャンクの設定をするもので、warning: falseであれば警告があっても表示しないということを意味します。チャンクオプションはもともとチャンクそれぞれに個別で設定できるものなのですが、そのページ内のすべてのチャンクに適用したい場合はexecute内に書くと適用できます。
ノート

他のチャンクオプションについても私の記事でまとめています。ご参考まで。

【Quarto】チャンクオプションまとめてみた【R Markdown】

5.4 次に向けて

ここまでが簡単な使い方です。文章とコードを組み込みながらきれいなファイルを作ることができます。

次のセクションからは、HTMLやPDFそれぞれに絞って使い方を解説します。学生の方であれば特にPDF出力は使うことが多いでしょう(そのくせ\(\LaTeX\)の設定が難しすぎますが…)。

それでは進んでいきましょう。

(2025年4月29日:鋭意作成中…)


  1. とはいえここは好みですし、R MarkdownがQuartoより劣っていると言いたいわけではありません。↩︎

  2. AltはMacだとoptionです。↩︎

  3. R MarkdownでいうところのKnitです。↩︎

  4. hogehogeはファイル名↩︎

  5. 例えば出力したHTMLファイルを誰かに送る際、このhogehoge_filesも一緒に送らないと相手は画像を表示できません。しかしHTML内に埋め込んでしまえば、HTMLファイルを送るだけで相手は画像も表示できるようになります。しかしその分HTMLファイルのサイズは大きくなります。↩︎