【问题标题】:Rmarkdown knitting YAML LaTeX errorRmarkdown 编织 YAML LaTeX 错误
【发布时间】:2017-12-07 03:10:50
【问题描述】:

我正在尝试使用脚本将 Rmd 文件编入 PDF 文档,但遇到了一些错误。

我必须说,如果我单击 Rstudio 中的 knit 按钮,文档可以很好地编织,但如果我使用命令,它会无法编织:

rmarkdown::render('diagnostic.Rmd',output_format = "pdf_document",
                  output_file = "diag.pdf")

我得到的第一个错误来自我的这部分代码:

---
author: Zigo_datateam
date: "`r format(Sys.time(), '%d %B, %Y')`"
geometry: margin=1.6in
header-includes: "\\usepackage{fancyhdr} \\fancyfoot[CO,CE]{My footer}"
output: 
  pdf_document:
    toc: false
title: "Graphic Layout(Report)"

---

并且是:

   Error in yaml::yaml.load(string, ...) : 
  Scanner error: while scanning a simple key at line 4, column 1could 
  not find expected ':' at line 5, column 1

所以,如果我移除header-includesexpression 的孔,它似乎开始编织,但随后我从这部分得到第二个错误(出现在第二个“---”之后):

\addtolength{\headheight}{1.0cm}
\pagestyle{fancyplain}
\rhead{\includegraphics[height=1.2cm]{logo.png}}
\renewcommand{\headrulewidth}{0pt}

错误:

! Undefined control sequence.
<argument> \undefinedpagestyle 

l.130 ...headheight}{1.0cm} \pagestyle{fancyplain}

如何在不出现第二个错误的情况下摆脱第一个错误?

更新:我决定将所有页脚/页眉样式移动到一个单独的文件中,我的代码如下所示:

---
author: Zigo_datateam
date: "`r format(Sys.time(), '%d %B, %Y')`"
geometry: margin=1.6in
output: 
  pdf_document:
    includes:
      in_header: mystyles.sty
title: "Graphic Layout(Report)"
---

我之前谈到的错误停止显示,但我仍然得到这个:

pandoc: Error producing PDF
Error: pandoc document conversion failed with error 43

【问题讨论】:

标签: r yaml r-markdown pandoc


【解决方案1】:

在您的 YAML 中,使用

header-includes: 
  - \usepackage{fancyhdr} 
  - \fancyfoot[CO,CE]{My footer}

它应该可以工作。

【讨论】:

  • 这在单击 Rstudio 中的 knit 按钮时确实有效,但在使用 rmarkdown::render() 时会产生相同的错误
  • 这很奇怪。我每天使用render 这种格式格式。您可以尝试将fancyfoot 移至文档正文吗?
  • 是的,正如我在更新中解释的那样,我将所有格式移到了单独的“mystyles.sty”文件中。通过在当时创建一个新的 Rmd 文件复制/粘贴每一行来解决问题。非常感谢。
猜你喜欢
  • 2019-03-07
  • 2021-02-07
  • 2019-04-23
  • 1970-01-01
  • 2014-10-12
  • 2023-03-25
  • 1970-01-01
  • 2020-06-05
  • 2021-06-04
相关资源
最近更新 更多