代码计算
1 概述
Quarto 支持在 Markdown 中编写代码, 渲染前先运行代码生成图表。 建议勾选 Render on Save 以便及时预览更改的内容 :
2 输出
默认情况下 代码 及其 输出 会一起显示在渲染后的文档中 :
通常文章希望隐藏全部源码 :
整个文章源码全部隐藏以后, 可以针对个别代码块设置 echo: true 显示源码 :
3 代码折叠
除了完全隐藏代码之外, 还可以折叠代码, 让读者按需自行展开查看。 通过 code-fold 选项来实现 :
配置文件支持设置工具, 提供代码全部展开功能 :
4 图形
设置 fig-width 和 fig-height 来调整图形的宽高, fig-cap 修改标题 label 修改交叉引用 :
5 多图
下面将两张图并排显示, 并给每张图加描述性的子标题, 用 column 选项让它们占据整个页面宽度, 而不是限制在文字列内 :
6 数据框
可以使用 df-print 文档选项来控制数据框默认的打印方式。可用的选项包括 :
| 选项 | 说明 |
|---|---|
default |
使用数据框的默认 S3 方法。 |
kable |
使用 knitr::kable() 函数生成的 Markdown 表格 |
tibble |
使用 tibble 包生成的纯文本表格 |
paged |
带分页的 HTML 表格,用于处理行和列溢出(使用 rmarkdown::paged_table() 实现) |
下面是不同的效果 :
7 行内代码
要在 Markdown 行内可以包含表达式, 将表达式用`{r}`包裹起来 :
如果表达式非常复杂, 建议将其放在代码块中并把结果赋值给一个对象。在行内引用该对象 :
8 围栏显示
如果在编写关于 Quarto 代码块的教程或文档, 需要在输出中包含围栏代码分隔符 ```{python}, 可以使用 echo: fenced 选项来实现 :
```{python}
#| echo: fenced
1 + 1
```将被渲染为 :
```{python}
1 + 1
```2
在演示代码块选项的用法时尤其有用。除了 echo: fenced 被隐藏, 其他所有 YAML 选项被保留 :
```{python}
#| echo: fenced
#| output: false
#| code-overflow: wrap
1 + 1
```该代码块在渲染后的文档中显示为 :
```{python}
#| output: false
#| code-overflow: wrap
1 + 1
```如果希望所有可执行代码块都包含围栏分隔符和 YAML 选项, 也可以在文档级别指定该行为 :
---
title: "My Document"
format: html
execute:
echo: fenced
---使用双花括号 {{ 可以将围栏代码块作为纯文本展示 :
```{{python}}
1 + 1
```在文档中输出为 :
```{python}
1 + 1
```如果想展示包含多个代码块和其他示例, 只需用 4 个反引号 ``````, 或更多将整个示例括起来, 并对内部的代码块使用双花括号语法 :
````
---
title: "My document"
---
Some markdown content.
```{{python}}
1 + 1
```
Some additional markdown content.
````