首页 > 解决方案 > 如何在 Rmarkdown bookdown pdf:document2 中的图形标题中获取换行符

问题描述

我在 RStudio 中使用 knitr 编写 rmarkdown bookdown:pdf:document2 文档。我有两个图,与 gridExtra 并排绘制,并标记为 A 和 B。我想在图形标题的输出中添加一个换行符,如 fig.cap 所定义,在 A 的标题和 B 的标题之间,但我很难过。我努力了:

\n - 像不存在一样被忽略

\\n - 未定义的控制序列

\\\n - @tempf 的参数有一个额外的 }。

\\\\n - 打印“\n”(这里有点傻)

双倍空格 - 什么都不做

出于绝望,我什至尝试了 HTML 样式的换行符,但我不知道如何在此处显示,但我没想到它们会起作用,但它们没有。

在 LaTeX 中是可能的,所以肯定有办法......

注意:这不是在 knitr 中跨行拆分 r 块标头的副本,因为它询问如何在代码中跨行拆分块标头中的长标题,而我正在询问如何在输出中这样做。

苏珊娜

---
title: "MRR captions"
author: "Susannah Cowtan"
date: "14 December 2018"
output:
  bookdown::pdf_document2:
    citation_package: natbib
    number_sections: no
    toc: no
    keep_tex: true
  bookdown::html_document2: null
header-includes: 
- \usepackage{float}
- \usepackage{booktabs}
fontsize: 11pt
papersize: A4
---

```{r knitr_setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```

```{r plot-mtcars, fig.height = 3, fig.width = 4, fig.cap = "A: foo bar baz \nB: foobar"}
plot(mpg ~ wt, data = mtcars)
```

标签: rr-markdownknitrbookdown

解决方案


您可以考虑使用子图而不是换行符,例如

---
title: "MRR captions"
author: "Susannah Cowtan"
date: "14 December 2018"
output:
  bookdown::pdf_document2:
    keep_tex: true
header-includes:
  - \usepackage{subfig}
---

See Figure \@ref(fig:plot-cars), which contains Figure \@ref(fig:plot-cars1) and Figure \@ref(fig:plot-cars2).

```{r plot-cars, fig.height = 3, fig.width = 4,, out.width='49%', fig.cap='Two plots', fig.subcap = c('foo bar baz', 'foobar')}
plot(mpg ~ wt, data = mtcars)
plot(cars)
```

子图


推荐阅读