v1.4 中的 AST 处理变更

在 Quarto v1.3 中,我们增加了对将 HTML 表格解析为原生 Pandoc 元素的支持,从而使得复杂的表格布局在更多格式中可用。Quarto v1.4 在此基础上进行了一些扩展。

更精细的表格处理控制

在 v1.3 中,可以通过在 HTML 表格本身中指定 quarto-disable-processing="true" 选项来禁用此 HTML 处理。

在 v1.4 中,可以通过文档和项目级别的元数据来控制此行为,使用 html-table-processing: none YAML 选项:

---
html-table-processing: none
---

此文档中的 HTML 表格将不会被处理。

```{r}
library(huxtable)
# 您的 huxtable 表格将不会被 Quarto 处理
```

此外,您可以通过用带有 {html-table-processing="none"} 属性的围栏 div 包围元素来选择性地禁用文档部分的处理:

---
html-table-processing: none
---

此文档中的 HTML 表格将不会被处理。

::: {html-table-processing="none"}

```{r}
library(huxtable)
# 由于周围的 div,您的 huxtable 表格将不会被 Quarto 处理
```

:::

```{r}
library(gt)
# 您的 gt 表格将像在 1.3 中一样被处理
```

在 LaTeX 原始块中包含 Quarto Markdown

在 Quarto v1.3 中,HTML 原始块可以使用语法 <span data-qmd="<<markdown-content>>"/><span data-qmd-base64="<<base64-encoded-markdown-content>>" 来允许发出原始块的库受益于 Quarto 功能,如交叉引用解析和短代码。

在 Quarto v1.4 中,此功能也适用于 LaTeX 格式。如果 Quarto 检测到语法 \QuartoMarkdownBase64{<<base64-encoded-markdown-content>>},内容将被解码,在 Quarto 中处理(包括用户过滤器),然后插入回 LaTeX 原始块。

这对于寻求发出 LaTeX 内容但仍可以包含 “Quarto 内容” 的第三方库很有用。请注意,与 HTML 功能不同,Quarto 目前仅支持 LaTeX 块中的 base-64 编码内容。

请注意,与 HTML 表格解析功能不同,此 LaTeX 功能目前无法禁用。我们预计这没有必要,因为 QuartoMarkdownBase64 不太可能与现有的 LaTeX 环境冲突。