如何在R markdown文件中添加多个自定义css文件?

时间:2015-09-08 15:47:46

标签: r r-markdown

我可以在R Markdown文件中添加多个自定义css文件吗?

我发现,在头部添加以下代码,我可以添加一个客户css文件。

html_document: 
  css: /css/my1.css

但是这个方法只允许一个css文件。是否可以将多个客户css文件添加到Rmd文件中?

1 个答案:

答案 0 :(得分:2)

通过仔细研究来源,我最终发现可以将Rmd标题的output部分指定为R函数。这是我用作diffobj包的一部分的标题,用于获取两个CSS文件:

---
title: "diffobj - Diffs for R Objects"
author: "Brodie Gaslam"
output:
    function(...) rmarkdown::html_vignette(..., md_extensions="-markdown_in_html_blocks", css=c(file.path(system.file(package="diffobj"), "css", "diffobj.css"), "styles.css")):
        toc: true

vignette: >
  %\VignetteIndexEntry{diffobj}
  %\VignetteEngine{knitr::rmarkdown}
  \usepackage[utf8]{inputenc}

---

您可以跳过md_extensions部分以达到您的目的。关键是css参数会发生什么。使用该参数,我指定以下两个文件:

  • file.path(system.file(package="diffobj"), "css", "diffobj.css"),来自我的包
  • "styles.css",与插图文件Rmd
  • 位于同一文件夹中

以上是在使用devtools::build_vignettes()的情况下,但我想你可以在你的情况下使用类似的解决方案。