Kanazawa.R #6
November 28, 2026
「RやPython利用者向け」SSDSEの公開開始(2026年6月30日)


reveal.jsを例に説明しますが、出力フォーマットのhtmlも、同じ問題を抱えており、同様の解決策が役立ちます
metadata-filessource("../../_setup.R")reveal.jsの話題から逸れますが、setupチャンクでも同様のことが可能です
生成AIは知りたいことを教えてくれることが多いですが、ネット検索には、思いがけない情報やアイデアとの「偶然の出会い」があります(芋づる式に発見がある)
---
title: "Quartoで作るreveal.jsスライドのTips"
subtitle: "Kanazawa.R #6"
author:
- name: 苅谷千尋
orcid: 0009-0008-3085-947X
email: kariyach@staff.kanazawa-u.ac.jp
affiliations: 金沢大学
date-format: long
format:
revealjs:
theme:
- default
- ../../slide.scss
width: 1280
height: 720
center-title-slide: true
# view: 'scroll'
# scrollLayout: 'compact'
menu:
side: left
width: wide
numbers: true
toc: true
toc-depth: 1
toc-title: "目次"
slide-number: h.v
# slide-number: c/t
code-copy: true
preview-links: false
link-external-newwindow: true
link-external-icon: true
# show-slide-number: print
# embed-resources: true
# self-contained: true
progress: true
history: true
keyboard: true
# transition: slide
background-transition: fade
navigation-mode: vertical
controls-layout: bottom-right
controls-tutorial: true
# chalkboard:
# buttons: false
# lang: ja
# slide-tone: true
# pdfSeparateFragments: true
# mouse-wheel: true
# touch: true
# center: true
verticator:
# themetag: 'h1'
color: '#C62828'
inversecolor: ''
skipuncounted: false
clickable: true
position: 'auto'
offset: '3vmin'
autogenerate: true
tooltip: false
scale: 1
revealjs-plugins:
- pointer
- confetti
- multimodal
- verticator
- chat-bubbles
filters:
- timer
- sticky-notes
revealjs-config:
jumpToSlide: true
scrollProgress: true
keyboard:
# カスタムバインディング
"67": null # デフォルトの 'c' キーを無効化
"88": "toggleChalkboard" # 'x' キーを chalkboard のトグルに割り当て
"90": "startConfetti" # 'z' キーを confetti のトグルに割り当て
title-slide-attributes:
data-background-image: img/logo.png
# data-background-opacity: "0.5"
data-background-size: 10%
data-background-position: 90% 90%
# data-background-position: 5% 5%
data-roadmap: "none"
# code-line-numbers: true
# References
bibliography: /Users////.json
csl: /Users////..csl
citations-hover: true
# Exclude from search indexing
include-in-header:
text: |
<meta name="robots" content="noindex, nofollow">
⇒
---
title: "Quartoで作るreveal.jsスライドのTips"
subtitle: "Kanazawa.R #6"
format: revealjs
date: 28, Nov 2026
metadata-files:
- ../../_slides.yml
title-slide-attributes:
data-background-image: img/Jan_Vermeer_The_Art_of_Painting.webp
data-background-size: 15%
data-background-position: 90% 90%
metadata-files:でファイルを読み込み# load package -----
library(tidyverse)
## Font settings for plots
library(sysfonts)
library(showtext)
## colour palette
library(paletteer)
# ggplot theme_classic font settings ----
ggplot2::theme_set(
theme_classic(base_family = "jp") +
theme_sub_axis_bottom(
title = element_text(size = 11, margin = margin(t = 8)),
text = element_text(size = 10)
) +
theme_sub_axis_left(
title = element_text(size = 11, margin = margin(r = 8)),
text = element_text(size = 10, hjust = 0)
) +
theme_sub_legend(
position = "bottom",
margin = margin(t = -4),
key.size = unit(6, "mm")
) +
theme_sub_plot(
title = element_text(size = 10),
caption = element_text(size = 10)
)
)
# Japanese font for Mac ----
font_add(
"jp",
"/System/Library/Fonts/ヒラギノ角ゴシック W5.ttc"
)
showtext_auto()
⇒
チャンクオプションに#| file: ../../_setup.R と指定する方法もあります。しかし、この方法では外部ファイルのコードだけが実行されるため、パッケージの追加など、別の処理を同じチャンクに記述することはできません
penguins |>
drop_na(species, sex, body_mass) |>
group_by(species, sex) |>
summarise(avg_body_mass = mean(body_mass), .groups = "drop") |>
ggplot(aes(x = species, y = avg_body_mass, fill = species)) +
geom_col() +
facet_wrap(~ sex) +
scale_fill_paletteer_d("khroma::highcontrast") +
labs(title = "タイトル",
caption = "キャプション")
# 自己紹介{data-roadmap="自己紹介"}
## コンテンツ
## コンテンツ
# 設定の共有と管理{data-roadmap="設定の共有と管理"}
## コンテンツ
## コンテンツ
この本、面白かったよ
💯 👍 ☺️
それって中学生が読む本じゃないの?恥ずかしくないのかな?🤭
🤮🤮🤮🤮🤮🤮
🤔(この人、大丈夫かな、頭)
本に年齢制限でもあるの? 面白いと思ったなら、それでいいじゃん
(ありがとう🥳)
::: {.chat}
::: {.speaker-1}
この本、面白かったよ
:::
[💯]{.fragment .reaction}
[👍]{.fragment .reaction}
[☺️]{.fragment .reaction}
::: {.fragment .speaker-2}
それって中学生が読む本じゃないの?恥ずかしくないのかな?🤭
:::
::: {.fragment .speaker-1}
🤮🤮🤮🤮🤮🤮
:::
::: {.fragment .speaker-1}
🤔(この人、大丈夫かな、頭)
:::
::: {.fragment .speaker-3}
本に年齢制限でもあるの? 面白いと思ったなら、それでいいじゃん
:::
::: {.fragment .speaker-1}
(ありがとう🥳)
:::
:::