在knitr chunk中设置Tufte数字标题

jkg*_*ain 2 r knitr r-markdown tufte

我正在使用Rstudio 的新Tufte软件包生成报告.我希望在我的数字旁边有一个相当复杂的保证金说明.在块头中构建标题非常麻烦,所以我想在块中设置fig.cap选项.

我试过这个作为测试用例,但似乎没有用.

knitr::opts_current$set("fig.cap"="The Caption")
Run Code Online (Sandbox Code Playgroud)

有谁知道如何正确完成这项工作?

指出了一个关于内联字幕的相关问题.虽然概念是相似的,但这个问题非常具体针对knitr的乳胶方面.即使在找到了我的问题的答案之后,在我看来,阅读这个问题和答案仍然是我的问题的答案.

jkg*_*ain 6

我终于破解了它并将留下答案,希望能节省一些其他人几个小时的研究时间.

knitr::opts_current$set
Run Code Online (Sandbox Code Playgroud)

什么都不做 您可以使用

knitr::opts_current$get
Run Code Online (Sandbox Code Playgroud)

读取当前的块设置.当前块的设置只能在块头中设置.

为了解决我不想在标题中插入复杂标题的问题,我使用了以下部分:

  1. 设置包选项以在创建图形后使用以下方法评估标题:

    knitr::opts_knit$set(eval.after = 'fig.cap')
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在块头中,包含以下内容:

    fig.cap=varName
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在块中,设置varName为图标题所需的值.

    varName <- paste("This is a sample caption evaluated on", Sys.Date(), sep=" ")
    
    Run Code Online (Sandbox Code Playgroud)

我还没有在同一块中使用过多个数字和字幕,所以我不确定它是如何工作的,但这肯定适用于单个数字块.