【问题标题】:Why Rmarkdown Dynamic TITLE in YAML does not appear in the pdf file为什么 YAML 中的 Rmarkdown Dynamic TITLE 不会出现在 pdf 文件中
【发布时间】:2019-01-19 19:26:10
【问题描述】:

我正在尝试从 Rmarkdown 生成带有动态标题的动态 PDF 报告。为此,我在我的 R 脚本中使用函数rmarkdown::render(),并将参数params 标题参数作为set.title = title 传递。

我的 Rmarkdown 脚本的 YAML 我有下一个代码:

author: "Author test"
date: "`r Sys.setlocale('LC_TIME','C');format(Sys.Date(),'%B %d, %Y')`"
output:
  pdf_document:
    toc: yes
    toc_depth: 5
    keep_tex: yes
  html_document:
    theme: united
    toc: yes
classoption: table
header-includes:
  - \usepackage{array}
  - \usepackage{float}
  - \usepackage{xcolor}
  - \usepackage{caption}
  - \usepackage{longtable}
  #- \usepackage{mulicol}
params: 
  set.title: title
title: "`r params$set.title`"

一旦我运行我的代码一切顺利并生成我期望的不同 pdf,问题是这些 PDF 都没有显示 titleauthor日期。我正在使用 rmarkdown 包的 1.8 版。

谁能帮我解决这个问题?

【问题讨论】:

  • 我建议你升级rmarkdown再试一次。我目前在 1.10 上(1.11 在 CRAN 上),这个例子按原样工作,显示标题、作者和日期。 (如果重要的话,我使用的是 win10 和 R-3.5.1。)
  • 我已将 rmarkdown 包更新到 1.11 版本,但即使这样做,我的 pdf 文件也没有显示 titleauthor日期。问题是,在控制台中,每个文档的标题在运行时都会出现,但在 pdf 生成之后什么都没有出现。
  • Carlos:我做了类似的事情,改变了参数化报告的标题。这是合法的,但我仍然无法重现该问题。
  • @r2evans 有人更改了我的问题的代码。在header-includes: 之前我没有缩进,我只有一个反引号在它们应该在的位置,并且全部用--- 封装。即使在文档正文中有文本,我也没有得到任何 titleauthordate。 @Carlos Ruiz Rivera 我不直接写标题,因为我想让不止一份报告只运行一次我的代码,而且所有这些报告都有不同的标题。
  • @r2evans 感谢您的帮助。我正在使用 Miktex,所以可能是这样。我会尝试使用TinyTex,看看是否可以解决问题。

标签: r r-markdown


【解决方案1】:

为了结束这个问题的对话,我写了这个问题是如何解决的。 一开始我认为这个问题与 YAML 中的代码有关(其中标题是从参数通知的),但最终我发现没有什么可做的。问题是我在作为参数传递的变量标题中使用了函数cat(),并且该函数将变量标题的值更改为NULL

如需准确了解如何在 rmarkdown 文档中编写动态标题的所有说明,请重定向到下一个入口:Setting document title in Rmarkdown from parameters

【讨论】:

    猜你喜欢
    • 2013-04-10
    • 2021-08-20
    • 2019-12-04
    • 1970-01-01
    • 2021-08-20
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多