10 reveal幻灯片
10.1 简介
quarto项目架构:
_quarto.yml
参数设置实现html幻灯片与网站的整合:self-contain、pic文件的路径关系
实现多种格式转换:html转pdf,以及pdf转pptx
幻灯片样式与控制:header、footer
幻灯片制作的实时预览:live preview
10.2 reveal.js
我的第一个quarto Reveal 幻灯片项目可以参看D:/github/master-pannel
。
10.2.1 参数设定
直接对单个.qmd文件进行幻灯片输出设定:
---
title: "Test"
author: "Kevin Hu"
format: revealjs
---
图片调用关系:文件夹images
必须与slide-test.qmd
文件在同一目录下!
10.2.2 pdf转换与导出
方式1:手动转换pdf:需要借助chrome浏览器,然后CTRL+P
,选择“无边距”,另存为pdf。
方式2:可以通过命令行方式,借助dacktape
(参看github仓库https://github.com/astefanutti/decktape)进行pdf转换。根据dacktape
介绍,它支持多种html slide格式的pdf导出。
方式3:使用R包函数进行转换renderthis::to_pdf("quarto_render.html")
(参看github仓库)。
方式4:使用R包函数进行转换pagedown::chrome_print()
参考资料:
10.2.3 幻灯片区隔
幻灯片区隔:可以直接使用heading符号#
(title slide)或##
(section slide)进行区隔,或者使用水平规则符---
进行区隔。当然,如果两种区隔符号规则进行混用,则会有不同的组合效应(初步测试来看,水平符号规则是要优先于标题符号规则)。pandoc对其中的具体规则--slide-level
进行了说明(可参看)。
简单地说,quarto会根据slide的heading层级,自动判定slide-level的数量。默认情况情形下yaml参数为
slide-level: 2
,此时一级标题#
将区分节(section),然后下面会紧跟着二级标题##
(也即幻灯片标题),然后下面会紧跟幻灯片内容(content,如果此时有三级标题###
,则也仅仅只是在本页幻灯片下显示的三级标题,而不会新建幻灯片)。
10.2.4 slide header
官方的支持比较简单,具体为:
---
format:
revealjs:
logo: logo.png
footer: "Footer text"
---
github 项目(可关注参看)提供了一个extension以处理幻灯片header显示风格。当然,里面会涉及到lua
语法、pandoc
规则、css
技术、甚至JavaScript
语法等。
上述extension的使用方式:quarto add shafayetShafee/reveal-header
。
A very simple Quarto filter extension for revealjs
output format that provides
Support for adding header text like
footer
on slides, level1 (h1) and level2 (h2) slide titles on slide header,Another YAML option to add a logo on top-left side of each slides. So by using this filter, it is possible to use two logos for each slides (One by using the default logo option which adds the
logo
on bottom-right corner and another one by using header-logo option provided by this filter.)
View the Demos of using this filter,
参考资源:
- Adding a logo at top-left corner for all slides in quarto presentation (参看队长问答)
10.2.5 插件模板
官方文档 Creating Extensions https://quarto.org/docs/extensions/creating.html