首页 > 解决方案 > 使用分页数据框构建 R 包小插曲

问题描述

我正在尝试df_print: paged在我的小插图中使用选项打印漂亮的小标题。我的输出设置如下:

output:
  html_document:
    df_print: paged
    highlight: pygments
    number_sections: yes
    toc: yes

当我在本地构建小插图时devtools::build_vignettes(),我得到了带有分页小标题的正确 HTML。

截屏

但是当我在 TeamCity 服务器上构建包时,安装的包 vignettes 以通常的方式打印了 tibbles。

截屏

我检查过它rmarkdown::pandoc_available()是 TRUE 并且rmarkdown包版本是 2.6(rmarkdown::paged_table功能来自 v2.3)。

我还需要检查什么才能正确构建小插曲?

提前致谢!

标签: rr-markdownpandocdevtoolsvignette

解决方案


这似乎是一个简单的问题。我相信有两种可能的解决方案:

1:您需要确保在 TeamCity 服务器的 CI/CD 上运行的任何脚本都与rmarkdown您在本地使用的版本相同。断言此问题的一个好方法是在本地运行 CI/CD 脚本(例如,dockerfile 脚本!)并尝试重现问题。问题的另一个可能原因是您的 CI/CD 用于生成降价结果的任何内容都覆盖或忽略了某些yml标签。例如,查看 .yml 中的设置不会出现在渲染的 .Rmd中。

2:您可以DT::datatable在您的小插图中使用,它以更可靠的方式生成相同类型的漂亮小标题。

DT::datatable(
your_tibble, 
extensions = c('FixedColumns',"FixedHeader"),
options = list(
     scrollX = TRUE, 
     paging=FALSE,
     fixedHeader=TRUE
)
)

推荐阅读