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

使用Quarto+R生成术语表时如何消除原始HTML代码输出?

解决Quarto中glossary包输出显示原始HTML代码的问题

问题根源

glossary_table()默认输出HTML格式的表格内容,但Quarto渲染时未正确解析这些HTML,导致原始代码被直接显示而非渲染成表格。

可行解决方案

1. 强制glossary_table输出Markdown格式

直接在glossary_table()中指定输出格式为Markdown,让Quarto能正确解析渲染:

library(glossary)

glossary_reset()
glossary("term", def = "definition")
glossary("term 2", def = "definition 2")

# 指定输出为markdown格式
glossary_table(format = "markdown")

2. 调整Quarto YAML渲染配置

移除YAML中可能干扰HTML解析的from: 'markdown-markdown_in_html_blocks'参数,该设置会阻止Quarto解析内嵌的HTML内容:

---
title: "Glossary"
format: 
  html:
    toc: true
    toc-depth: 4
    toc-expand: true
    number-sections: true
    number-depth: 4
    code-fold: true
    strip-comments: true
filters:
  - parse-latex
  - code-visibility
execute: 
  echo: false
---

3. 手动用knitr::kable生成表格

如果前两种方法无效,可以直接提取术语表数据,用knitr::kable手动生成Markdown表格,完全由Quarto控制渲染逻辑:

library(glossary)
library(knitr)

glossary_reset()
glossary("term", def = "definition")
glossary("term 2", def = "definition 2")

# 提取术语表数据并生成表格
glossary_data <- glossary_get()
kable(glossary_data)

内容的提问来源于stack exchange,提问作者Assa Yeroslaviz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 04:46:33