Rmarkdown / Papaja中的文本(非语法)突出显示

时间:2019-07-12 22:52:35

标签: r latex r-markdown knitr papaja

我正在使用Papaja和Rmarkdown编写报告,并且我想突出显示各种文本。使用乳胶或纯Rmarkdown这样做很容易,但是当我使用Papaja的Knitr应用程序将报告编译为PDF时,却收到“未定义的控制序列”错误。

有关单个Rmarkdown文件中文本突出显示的类似问题在这里得到了回答:RMarkdown / pandoc fails to knit Pdf with latex color commands。我想知道是否使用Papaja为多个Rmarkdown文件提供了答案。

我将在下面提供一个最小的示例。

1)名为papaja_file.Rmd的文件

---

# https://crsh.github.io/papaja_man/index.html

title             : "Some Title"
shorttitle        : "HEADER"

author: 
  - name          : "Name R Here"
    affiliation   : "1"
    corresponding : yes    # Define only one corresponding author
    address       : "Include addresss"
    email         : "randomemail@usa.edu"

affiliation:
  - id            : "1"
    institution   : "Any University"



author_note: |
  ....

abstract: |
  Text here for abstract. 

keywords          : "Keyword1, keyword2, keyword3"
bibliography      : ["references.bib"]

figsintext        : no
figurelist        : no
tablelist         : no
footnotelist      : no
lineno            : yes

lang              : "english"
class             : "man"
output            : papaja::apa6_pdf
---

```{r load_packages, include = FALSE}
library("papaja")
```

```{r analysis_preferences}
# Seed for random number generation
set.seed(42)
```

```{r global_options, include=FALSE}
knitr::opts_chunk$set(fig.path = 'figures/', echo = TRUE, warning = FALSE, message = FALSE)
```


```{r child = 'child_document.Rmd'}
```


\newpage

# References
```{r create_references, echo = F}
r_refs(file = "references.bib")
```

\setlength{\parindent}{-0.5in}
\setlength{\leftskip}{0.5in}

请注意,它引用了单个Rmarkdown子文档。

2)带有文本的子文档,称为child_document.Rmd

---
output: 
  pdf_document:
      includes:
          in_header: preamble.tex
---

One sentence without highlighting. \hl{Another with highlighting.}

3)序言,称为preamble.tex

\usepackage{color}
\usepackage{soul}
\definecolor{lightblue}{rgb}{0.90, 0.95, 1}
\sethlcolor{lightblue}

编织主papaja文件会产生错误。删除子文档中的\ hl命令可以使pdf毫无问题地编译。

将YAML标头放在主木瓜文件而不是子文件中后的结果:

enter image description here

1 个答案:

答案 0 :(得分:2)

未评估您的子文档中的YAML标头,

  

例如,主文档由YAML前端组成,并包括子元素,它们本身就是不具有YAML前端的R Markdown文档。

     

https://crsh.github.io/papaja_man/tips-and-tricks.html#splitting-an-r-markdown-document

但是您可以使用以下方法将preamble.tex包含在主文件中:

output: 
  papaja::apa6_pdf:
    includes:
      in_header: preamble.tex

c.f。 https://github.com/rstub/stackoverflow/commit/a92a67d4721ee9c06e995b08adbf8cb89daebcb4

结果:

enter image description here