You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Quarto RevealJS输出中实现长代码自动换行?

在Quarto RevealJS中实现长代码自动换行

HTML输出中有效的code-overflow: wrap配置在RevealJS里不生效,原因是RevealJS的代码块默认带有white-space: nowrap样式,阻止了自动换行。可以通过自定义CSS来覆盖这个默认设置,具体方法如下:

方法一:在文档中嵌入CSS

直接在Quarto文档里添加自定义样式块,修改代码块的换行规则:

---
format: revealjs
---

<style>
.reveal pre code {
  white-space: pre-wrap !important;
  word-break: break-all;
}
</style>

## 示例标题

```{r}
#| echo: true
multipoint <- sf::st_multipoint(rbind(c(3.2,4), c(3,4.6), c(3.8,4.4), c(3.5,3.8), c(3.4,3.6), c(3.9,4.5)))
# 这行注释会自动换行
### 方法二:使用外部CSS文件
1. 创建一个名为`custom.css`的文件,写入以下内容:
```css
.reveal pre code {
  white-space: pre-wrap !important;
  word-break: break-all;
}
  1. 在Quarto文档的YAML头部引用该CSS文件:
---
format: revealjs
css: custom.css
---

## 示例标题

```{r}
#| echo: true
multipoint <- sf::st_multipoint(rbind(c(3.2,4), c(3,4.6), c(3.8,4.4), c(3.5,3.8), c(3.4,3.6), c(3.9,4.5)))
# 这行注释会自动换行
上述配置中:
- `white-space: pre-wrap`:保留代码原有的换行和空格,同时让过长的代码行自动换行
- `word-break: break-all`:确保长变量名或单词能被拆分,避免出现横向滚动条
- `!important`:强制覆盖RevealJS自带的代码块样式规则

内容的提问来源于stack exchange,提问作者Maël
相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 14:40:21