👇 连享会 · 推文导航 | www.lianxh.cn
🍓 课程推荐:连享会:2025 文本分析专题 嘉宾:陈婷,香港浸会大学 时间:2025 年 11.22, 11.29, 12.6 日 咨询:王老师 18903405450(微信)
温馨提示: 文中链接在微信中无法生效。请点击底部 「阅读原文」 。或直接长按/扫描如下二维码,直达原文:
作者 :李铭(暨南大学) 邮箱 :liminglcz@163.com
Title : Quarto 极简幻灯片:支持 R/Python 代码集成 Keywords : VSCode,Python,R,精简幻灯片,学术演示, B827
本文提供的幻灯片模板:
查看:B827-quarto-template.qmd → 点击右上方「向下的箭头」图标可以下载到本地。
本文方案适用于 :
集成 R 和 Python 代码,支持代码执行和结果展示; 支持 Markdown 语法和 LaTeX 数学公式; 基于 VS Code 编辑器,适合跨平台使用(Windows、Mac、Linux)
0. 导言 在学术研究和教学中,幻灯片(Slides)是不可或缺的工具。传统的幻灯片制作软件如 PowerPoint、Keynote 等,虽然功能强大,但在集成代码和数据分析方面存在局限性。近年来,Quarto 作为一种新兴的文档编写和渲染工具,因其对 R 和 Python 代码的良好支持,逐渐受到学术界的关注。
本文将介绍如何在 VScode 编辑器中使用 Quarto 制作精简版幻灯片,重点展示其在集成 R 和 Python 代码方面的优势,并提供具体的安装和使用指南,帮助读者高效创建学术演示材料。
后文看起来很长,主要是因为包含了很多细节的介绍。其实,核心步骤只有三步:
安装 Quarto 及其附加组件 TinyTex 和 Chromium (通常不需要); 在 VS Code 中安装 Quarto 扩展,并配置 Jupyter 环境以支持 Python 代码; 使用 Quarto 模板创建 .qmd 文件,并编写包含 R 和 Python 代码的幻灯片内容。 在 VScode 中执行 quarto render 命令生成最终的幻灯片文件(HTML 格式),或
quarto preview 进行预览。 1. 何谓 Quarto ? Quarto 是 Posit 公司推出的一款开源软件,主要用来将 Markdown 文件转换为各种格式,可以一键渲染(render)生成网站 (html) 、写书 (epub) 、报告 (pdf) 、幻灯片 (pptx 、 beamer) 等格式。
Quarto 在某种程度上可以视为 rmarkdown 的升级版,可以支持 R 和 Python 代码的嵌入、执行,是制作精简版幻灯片制作的优良工具。有关 Quarto 的详细使用教程可参照 Quarto 官网链接。
Quarto 工作原理:新建 Quarto 文档时,会生成以.qmd 为后缀的文档。当渲染(render)qmd 文档时, knitr 会首先执行所有代码块并创建一个新的 Markdown ( .md ) 文档,其中包括代码及其输出。生成的 Markdown 文件然后由 pandoc 处理,创建最终的格式。渲染(render)按钮封装了这些操作并以合适的顺序执行,这一过程可通过 Rstudio、VS Code、Positron、Jupyter 等编辑器工具予以实现。
2. Quarto 安装与配置 Quarto 官方下载链接:https://quarto.org/docs/get-started/
下载、安装完毕后,可以在命令行中执行 quarto --version ,若显示版本号,则表明安装成功。
C:\Users\liming> quarto --version 1.6.39
Note:进入命令行模式的方法为
Windows 系统:按下 Win + R 键,输入 cmd ,然后按回车键即可打开命令行窗口。 Mac 系统:按下 Command + Space 键,输入 Terminal ,然后按回车键即可打开终端窗口。 Quarto 有两个附加组件: TinyTex 、 Chromium ,分别用于 PDF 渲染和 HTML 预览。
可以在命令行中执行
quarto list tools 命令来查看两个附加组件的安装情况:
C:\Users\liming> quarto list tools [>] Inspecting tools Tool Status Installed Latest chromium Not installed --- 869685 tinytex Not installed --- v2025.11 上述结果表明,系统中尚未安装 TinyTex 和 Chromium。下面介绍何种情况下需要安装这两个组件,以及如何安装。
2.1 安装 TinyTex TinyTex 是 TexLive 的一个发行版,Quarto-Pandoc 依赖它,将 .qmd 文件编译为 .pdf 文件。如果系统的环境变量中已经有了 Tex Live,则 Quarto 会自动使用,无需下载 TinyTex。
如需安装 TinyTex,可在命令行中执行 quarto install tinytex 命令:
2.2 安装 Chromium
Quarto 需要借助 Chromium 组件来预览 HTML 文件。如果系统中已经有了 Chromium 系浏览器如 Chrome, Edge, 360 极速浏览器, VScode 等则无需下载。因此,对于大部分用户来说,并不需要安装 Chromium。
如需安装,可以在命令行中执行 quarto install Chromium 。
若用 Rstudio 进行安装和使用,可参考往期推文Quarto 助力论文和讲义撰写.
2.3 安装 VS Code 插件 接下来,我们将在 VS Code 中使用 Quarto 模板来制作精简版幻灯片。
首先,需要安装 Quarto、Python、Jupyter、R、Julia 的官方扩展(Extensions)。安装 Quarto 扩展成功后,重新打开 VSCode ,新建一个 Quarto Docu 在 .qmd 文件界面右上角会出现一个 Preview 按钮。
在 VScode 中使用 Python 要通过 Jupyter 作为中介,检查系统中的 Jupyter 是否被 Quarto 使用,需要在终端(Terminal)中输入如下的命令 quarto check jupyter 。若运行正常,则显示如下:
特别注意:安装目录中不要有中文字符。例如电脑用户名为中文,则会产生如下报错,解决办法是将电脑的中文用户名设定为英文用户名。
2. 用 Quarto 制作简易幻灯片 2.1 Quarto-Clean-Typst 模板 Quarto 提供了丰富且多样的模板(template),兼具观赏性与实用性。本文使用的模板来自 quarto-clean-typst.
需要在终端输入 quarto use template kazuyanagimoto/quarto-clean-typst 使用模板,首次运行模板命令时,终端可能会提示是否信任该模板的作者?(Do you trust the authors of this template? (Y/n))。输入 Y 并回车表示信任。接着指定项目文件夹名称,例如 practice_quarto_1。系统会自动帮忙创建一系列文件。
同名的
.qmd 文件中可以看到模板自带的示例内容,点击 preview 或者 Ctrl+Shift+K 可以进行渲染,实现在 VSCode 中预览相应网页,并直接在同一目录下生成方便演示的 PDF 格式文件。例如,此处生成的文件为 practice_quarto_1.pdf。
2.2 Quarto 实现 R 语言和 Python 内嵌与执行 在 .qmd 文档中输入:
```{r} #输入需要插入的R语言代码即可 ``` …… ```{Python} #输入需要插入的Python代码即可 ``` 在渲染导出时,quarto 会自动执行 R 语言代码块,并输出全部代码和对应执行结果到幻灯片中。
例如,我们以一朵玫瑰花为例展示程序效果。在 .qmd 文件中输入如下代码:
```{r echo =TRUE, message=TRUE, warning=TRUE} #install .packages("plot3D")library(plot3D) x t grid x_mat $x , ncol = 25, byrow = TRUE) t_mat $t , ncol = 25, byrow = TRUE) p change u y r persp3D( x = r * cos(t_mat), y = r * sin(t_mat), z = u * (x_mat * cos(p) - y * sin(p)), main = "To my lover" , xlab = "Lucky" , ylab = "Happy" ,
zlab = "Richness" , col = colorRampPalette(c( "#E64B3599 " , "#F39B7F99 " ))(500), border = "gray90" , lwd = 0.1, colkey = FALSE, ticktype = "simple" , nticks = 5, cex.axis = 0.7, cex.lab = 0.9, las = 1, theta = -50, phi = 40, bty = "b2" , mar = c(5, 5, 4, 2) ) ``` 上述代码和图片都将会出现在生成的 practice_quarto_1.pdf 文件中。
另一种嵌入方式更加方便,可以提前编辑好 .ipynb 文件,利用 #| label 贴好 quarto 标签,并将其放到同一目录 practice_quarto_1 下。接着,在 qmd 文件中便可以进行嵌入,例如 {{< embed "python_R_files\Pythonexamples.ipynb#code -plot-scatter" >}} (路径#标签名称 )将 Python 代码嵌入到演示文件中。若是嵌入 figure,则需使用 fig 标签,例如
{{< embed "python_R_files\Pythonexamples.ipynb#fig -scatter" >}} 将 Python 程序运行生成的 figure 嵌入其中。
这样嵌入的好处是,可以直接在 ipynb 文件修改 Python 代码,无需在 qmd 文件中,点击 preview 渲染可以即时执行代码并生成修改后的演示文件。极大地提升了工作、汇报效率。
Quarto 同样支持 Latex 公式输入,利用 $$ $$ 可以直接键入公式。
3. 全部 quarto 文档代码
查看:B827-quarto-template.qmd → 点击右上方「向下的箭头」图标可以下载到本地。
--- title: Quarto with python and R subtitle: How to make a clean slides format: clean-typst author: - name: Li Ming orcid: 0000-0000-0000-0000 email: liming@lcz.com affiliations: Jinan University date: today date-format: long brand: typography: fonts: - family: Roboto weight: [100, 200, 300, 400, 500, 600, 700] style: [normal, italic] source: google base: Roboto headings: Roboto --- # Quarto 实现R语言与Python内嵌 ## 如何展示R语言代码及运行结果 ### 一朵玫瑰花示例 You can see my R code right here. ``` {r echo=TRUE, message=TRUE, warning=TRUE} #install .packages("plot3D")library(plot3D) x < - seq ( 0 , 24 ) / 24 t < - seq ( 0 , 575 , by = 0.5) / 575 * 20 * pi + 4 * pi grid < - expand.grid ( x = x, t = t) x_mat < - matrix ( grid $ x , ncol = 25, byrow = TRUE) t_mat < - matrix ( grid $ t , ncol = 25, byrow = TRUE) p < - ( pi / 2 ) * exp ( -t_mat / ( 8 * pi )) change < - sin ( 15 * t_mat ) / 150 u < - 1
- ( 1 - ( 3.6 * t_mat ) %% ( 2 * pi ) / pi )^ 4 / 2 + change y < - 2 * ( x_mat ^ 2 - x_mat )^ 2 * sin ( p ) r < - u * ( x_mat * sin ( p ) + y * cos ( p )) persp3D ( x = r * cos ( t_mat ), y = r * sin ( t_mat ), z = u * ( x_mat * cos ( p ) - y * sin ( p )), main = "To my lover" , xlab = "Lucky" , ylab = "Happy" , zlab = "Richness" , col = colorRampPalette(c( "# E64B3599 ", "# F39B7F99 "))( 500 ), border = "gray90" , lwd = 0.1, colkey = FALSE, ticktype = "simple" , nticks = 5, cex.axis = 0.7, cex.lab = 0.9, las = 1, theta = -50, phi = 40, bty = "b2" , mar = c(5, 5 , 4 , 2 ) ) ``` 也可以直接插入同一目录下图片 { fig-alt = "A rose for you." } ### 列表应用
- 无序列表 - A sub item 1. 有序列表 1. A sub item ### 公式应用 **公式** $$ \ begin { gather *} a_1 = b_1+c_1 \\ a_2 = b_2+c_2+d_2+e_2 \\ E = mc^2 \ end { gather *} $$ ### 图片交叉引用 @ fig-airquality further explores the impact of temperature on ozone level. 可以直接运行 R 语言代码并生成运行结果图片。 Figure2 可点击跳转 ```{ r } #| label: fig-airquality #| fig-cap: " Temperature and ozone level. " #| warning: false library ( ggplot2 ) ggplot ( airquality , aes ( Temp , Ozone )) + geom_point () + geom_smooth ( method = "loess" ) ``` ## 如何展示 Python 代码及运行结果 ### Quarto 实现 Python 内嵌 :::: { .columns } ::: { .column width = 70%} {{embed " python_R_files \ Pythonexamples.ipynb # code-plot-scatter " > }} :::{.column width=30%} {{ embed " python_R_files \ Pythonexamples.ipynb # fig-scatter " > }} ## Summary {#sec -summary} ### quarto学习平台 可以在quarto官网[ 官方Guide ]( https://quarto.org/docs/guide/ )学习更多编辑操作、交叉引用等知识 ``` {.bash} quarto use template kazuyanagimoto/quarto-clean-typst ``` Cross-references - `.quarto制作简易版幻灯片` [[Summary]{.button}](#sec -summary) 4.参考资料
博客园:Quarto 不完全指北 · 第一节 下载 博客园:Quarto 不完全指北 · 第二节 内容的写作 哔哩哔哩:[Quarto] 介绍使用 Quarto 科学制作 ppt 5. 相关推文 Note:产生如下推文列表的 Stata 命令为: lianxh Quarto 幻灯片, md nocat 安装最新版 lianxh 命令: ssc install lianxh, replace
初虹, 2022, Markdown-LaTeX:经管人的 VSCode 配置大全, 连享会 No.1004. 初虹, 2024, 让「记录」变得简单:Markdown 使用详解, 连享会 No.1456. 宋森安, 2021, 用 Markdown 制作幻灯片-五分钟学会 Marp(上篇), 连享会 No.656. 宋森安, 2021, 用 Markdown 制作幻灯片-五分钟学会 Marp(下篇), 连享会 No.657. 李原, 2024, 使用 Quarto 打造你的个人主页, 连享会 No.1338. 王胜文, 2022, Latex 系列 2:Beamer 入门-学术范儿的幻灯片, 连享会 No.971. 王胜文, 2023, VScode 编辑器:安装、使用与常用快捷键, 连享会 No.1174. 胡丽条, 2021, 连享会工具:Beamer 幻灯片制作, 连享会 No.700.
连享会, 2020, 在 Visual Studio (vsCode) 中使用正则表达式, 连享会 No.10. 连小白, 2025, 50 分钟搞定个人主页:Fork 模板 + GitHub Pages + Quarto 完整教程, 连享会 No.1644. 连小白, 2025, vscode.dev:在线版 VScode 使用指南, 连享会 No.1620. 连玉君, 2022, Marp 幻灯片模板:用 Markdown 快速写幻灯片, 连享会 No.1059. 连玉君, 2024, VScode 插件:安装、配置和使用, 连享会 No.1490. 连玉君, 2024, VScode:实用 Markdown 插件推荐, 连享会 No.1390. 连玉君, 2024, 从基础到 AI 助手:Python 用户最爱的 VScode 插件清单, 连享会 No.1489. 连玉君, 2021, 用 VScode 正则表达式转换 Markdown 和 LaTeX 链接, 连享会 No.839. 郝亮, 2025, Quarto 助力论文和讲义撰写, 连享会 No.1592. 郭皑馨, 2020, vsCode+Stata:在 VScode 中编辑和运行 Stata 命令, 连享会 No.151. 陈楚, 2022, Stata+Markdown:输出幻灯片+PDF+Word-markstat, 连享会 No.1137. 陈波, 2021, 学术范儿的幻灯片制作:Beamer in Rmarkdown, 连享会 No.764. 黄晨晨, 2023, Stata:利用 Stata 生成动态文档-Quarto, 连享会 No.1304. 🍓 课程推荐:连享会-CGE专题:理论与实操 嘉宾:贾智杰,西安交通大学 时间:2025 年 11.23, 11.30, 12.7 日 咨询:王老师 18903405450(微信)
连享会微信小店上线啦! Note:扫一扫进入“连享会微信小店”,你想学的课程在这里······
尊敬的老师 / 亲爱的同学们:
连享会致力于不断优化和丰富课程内容,为了更精准地满足您的学习需求,我们诚挚地邀请您参与到我们的课程规划中来。 请您在下面的问卷中,分享您感兴趣的学习主题或您希望深入了解的知识领域 。感谢您抽出宝贵时间,与我们共同塑造更加精彩的学习旅程!https://www.wjx.cn/vm/YgPfdsJ.aspx# 再次感谢大家宝贵的意见!
New! Stata 搜索神器: lianxh 和 songbl GIF 动图介绍 搜: 推文、数据分享、期刊论文、重现代码 …… 👉 安装: . ssc install lianxh
. ssc install songbl 👉 使用: . lianxh DID 倍分法 . songbl all
🍏 关于我们
直通车: 👉【 百度一下: 连享会 】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。