Create beautiful interactive slide decks with Reveal.js
winget install quarto
。Quarto 是一个面向科研、技术人员的开源出版工具,用户可使用Markdown语法书写内容,Quarto可将文本文档转化为多种格式,如docx
、pdf
、html
等等。与reveal.js结合,可以快速生成可在线发布的演示文档。
Quarto 整合了多个开源工具,如Zotero、Pandoc、Python、R、Latex等等,使得研究技术人员能实现学术创作、交流的文档生成需求。
Quarto 支持 100 多种代码的高亮显示,例如Python:
```python
import dash
print('hi!')
```
显示效果如下:
Then we query the customers database (代码 1).
使用{}
可以执行代码内容,进而生成图片或交互页面等内容。默认情况下,使用{}
标记的代码,只会得到运行结果,如果想显示代码并且获取运行结果,需要设置echo
为true
,即在代码块中增加#| echo: true
。
使用类 .columns
可以创造一个容器,在这个容器中,通过{.column width="60%"}
指定分栏及宽度。
Left column
Right column
表格可以使用Markdown的语法手工生成,也可以通过代码自动生成。
Col1 | Col2 | Col3 |
---|---|---|
A | B | C |
E | F | G |
A | G | G |
See 表格 1 。
使用脚注^[]
及 footer
区块可以在演示页面底部增加注释性内容。
使用 footer 区块增加注释内容
Reveal.js支持以颜色、图片、视频、页面作为背景。
通过在标题后面增加background-color
属性,设定颜色值为背景色。 例如:
在标题后增加{background-image="" background-repeat="repeat"}
等内容,可以指定背景图片以及图片重复方式、大小、位置等信息。
可以指定某个、或多个视频作为演示页面的背景,还可以设置大小、透明度、循环、静音等选项。
在标题后增加background-iframe
属性,可以以iframe
的方式引入页面作为背景。
可以通过title-slide-attributes
来指定图片、视频、外部页面等作为演示文档首页的背景 。
要使用交叉引用,就要在章节、图、表、代码块、公式等内容在生成时,增加唯一性标签,例如#fig-plot
。引用时使用@fig-plot
即可。
交叉引用的名称都可以修改,例如,可将默认的列表
修改为代码
:
要引用文献,需要提供文献信息、引用样式(可选)、引用位置(Danesi 2004)以及参考文献所在位置。
文献信息应存放在类似references.bib的文件中,然后在front matter中使用bibliography属性指定文件位置。
引用文献的语法为[@xxxx]
参考文献的插入位置,通过::: {#refs} :::
设定
注释可通过脚注的方式实现。
Reveal.js 提供了粉笔、画笔、演讲者视角等与PPT类似的演示工具。
可以使用快捷键,或者点击详情图标,打开对应功能。
Quarto文档的样式,可通过front matter + CSS + theme进行设置。
lang: zh
title-slide-attributes:
data-background-video: https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/video/ink-bg.mp4
data-background-video-loop: true
format:
revealjs:
slide-number: true
theme: ../assets/styles/mytheme.scss
chalkboard:
buttons: false
preview-links: auto
logo: ../assets/images/xbmu-text.png
例如上面的front matter,就指定了首页的背景以及整体的样式方案等等。详细设置参见Quarto、Reveal.js的官方文档。
Quarto 支持使用SCSS进行总体样式的设置,例如:
/*-- scss:defaults --*/
$font-family-sans-serif: 'Source Sans Pro', 'PingFang SC', Arial, 'Heiti SC', 'Microsoft YaHei', sans-serif;
$presentation-font-size-root: 36px;
$presentation-line-height: 1.5;
$presentation-heading-font-weight: bold;
$presentation-heading-line-heigh: 2;
$body-color: rgba(74, 81, 112, 1);
$code-block-bg:#f1f3f5;
$link-color: #42affa;
$code-bg: #f1f3f5;
参数含义详见:https://quarto.org/docs/reference/formats/presentations/revealjs.html
无论是pdf、docx还是reveal.js的输出形式,Quarto都提供了定制机制,详见https://quarto.org/docs/presentations/revealjs/advanced.html。
Quarto 还提供了一些插件,用以增强演示的效果。
A footnote