从RMarkdown迁移至Quarto遇到的多处渲染问题咨询
Quarto迁移常见问题解决方案
1. tabset的fade、pills选项找不到
Quarto对tabset的类名做了简化,替换RMarkdown中的旧类名即可:
- 原RMarkdown写法:
{.tabset .tabset-fade .tabset-pills} - Quarto写法:
{.tabset .fade .pills}
直接将标题后的类替换为上述形式,即可启用淡入效果和胶囊式标签。
2. tabset CSS样式不生效
Quarto的标签导航DOM结构与RMarkdown不同,原CSS选择器匹配不到目标元素,调整选择器即可修复:
原CSS针对的是旧结构.nav>li>a,Quarto中需替换为更精确的选择器:
/* 非激活状态标签样式 */ .nav-tabs .nav-link { color: Grey; } /* 激活、hover、focus状态样式 */ .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus, .nav-tabs .nav-link.active, .nav-tabs .nav-link.active:hover, .nav-tabs .nav-link.active:focus { color: #BD3632; }
若仍存在优先级问题,可在颜色值后添加!important强制生效。
3. RStudio中Quarto重复加载对象
默认情况下Quarto会新建会话渲染文档,要使用当前环境渲染,有三种方式:
- 单次设置:点击RStudio右上角的"Render"按钮下拉菜单,选择"Render in Current Session"
- 全局设置:依次打开
Tools -> Global Options -> Quarto -> Render,勾选"Use current session for rendering" - YAML配置:在文档的YAML头部添加:
execute: session: current
4. YAML日期格式错误
Quarto的YAML内联R代码语法与RMarkdown不同,需用{{ }}包裹R表达式,而非反引号。同时设置语言为中文可优化显示:
修改YAML头部的日期字段为:
lang: zh-CN date: "{{ format(Sys.time(), '%d.%m.%Y') }}"
这样会按指定格式输出日期,且"PUBLISHED"会显示为中文的"发布于"。
内容的提问来源于stack exchange,提问作者Petr Hála
相关产品推荐
相关产品推荐

