rmarkdown的YAML内联R代码';跑不动

rmarkdown的YAML内联R代码';跑不动,r,r-markdown,R,R Markdown,在运行文件之前,我正在尝试在YAML前端运行内联R代码。然而,这对我不起作用。下面是一个例子: --- title: "**Title**" classoption: xcolor=dvipsnames output: beamer_presentation: slide_level: 2 pandoc_args: [ "--bibliography", "`r paste('path/to/bib')`" ] --- <!--

在运行文件之前,我正在尝试在YAML前端运行内联R代码。然而,这对我不起作用。下面是一个例子:

---
title: "**Title**"
classoption: xcolor=dvipsnames
output:
  beamer_presentation:
      slide_level: 2
      pandoc_args: [
        "--bibliography", "`r paste('path/to/bib')`"
        ]
---

<!-- slide 1 -->
## Intro ##
这是一个简单的例子,但突出了我的主要问题。如何让rmarkdown在YAML前端运行内联R代码

这是一个与这些问题类似的问题:


    • 所以我找到了一个迂回的方法来得到我想要的东西。我认为Rmarkdown不允许在YAML中使用R表达式/命令,这可能是有原因的。最后,我将所有的输出yaml命令放在一个名为
      \u output.Ryaml
      的文件中,如下所示:

      beamer_presentation:
        slide_level: 2
        includes:
          in_header: "src/preamble.tex"
        pandoc_args: [
          "--bibliography", "`r paste('path/to/bib')`",
          "--variable", "classoption:xcolor=dvipsnames",
          "--variable", "fontsize:9pt"
          ]
      
      然后在主
      slides.Rmd
      文件中,有如下内容:

      ---
      title: "**Title**"
      author: Luke
      ---
      
      <!-- slide 1 -->
      ## Intro ##
      

      似乎工作得很好。如果有人有更好的主意,请告诉我

      我就是这样解决的。我从RStudio编织。奇怪的是,我不得不对日期和csl字段使用一种解决方案,而对书目字段使用另一种解决方案!expr在日期或csl行中不起作用(对我而言)。引用的r代码在参考书目行中不起作用(对我来说)。我把参考书目和csl文件放在一个包里(inst/docs文件夹)。rmarkdown文件(不属于该包的一部分)使用这些文件

      ---
      title: "Title"
      date: '`r format(Sys.time(), "%d %B, %Y")`'
      output: html_document
      bibliography: !expr system.file("docs", "my.bib", package = "MyPackage")
      csl: '`r system.file("docs", "my.csl", package = "MyPackage")`'
      ---
      
      # Introduction
      
      Yada yada [@MyRef04].
      
      # References
      
      my.bib是带有MyRef04的BibTex文件。csl是样式文件

      这种情况下,一个人维护一个包含数据、代码、参考书目等的包。其他人(包编写者可能不知道)从GitHub安装该包,并编写或运行使用该包的rmarkdown文件。用户几乎肯定不会使用Git或GitHub,我不希望他们在从GitHub安装包后必须下载任何额外的文件

      更新:发布上述内容后,我碰巧从GitHub安装了markdown,因为我需要开发版本中的一些东西。使用GitHub上的rmarkdown版本“1.7.5”,您可以在参考书目行中使用r代码:

      ---
      title: "Title"
      date: '`r format(Sys.time(), "%d %B, %Y")`'
      output: html_document
      bibliography: '`r system.file("docs", "my.bib", package = "MyPackage")`'
      csl: '`r system.file("docs", "my.csl", package = "MyPackage")`'
      ---
      
      从GitHub安装rmarkdown

      library(devtools)
      install_github("rstudio/rmarkdown")
      

      谢谢我后来发现了,忘了在这里更新。
      ---
      title: "Title"
      date: '`r format(Sys.time(), "%d %B, %Y")`'
      output: html_document
      bibliography: '`r system.file("docs", "my.bib", package = "MyPackage")`'
      csl: '`r system.file("docs", "my.csl", package = "MyPackage")`'
      ---
      
      library(devtools)
      install_github("rstudio/rmarkdown")