Как получить новую строку в подписи к рисунку в Rmarkdown bookdown pdf: document2 - PullRequest
0 голосов
/ 19 декабря 2018

Я использую knitr в RStudio, чтобы написать книгу внизу: pdf: document2 document.У меня есть два графика, нанесенных рядом с gridExtra, и помеченных A и B. Я хочу поместить новую строку в вывод подписи к рисунку, как это определено с fig.cap, между заголовком для A и заголовком для Bно я в тупике.Я пытался:

\ n - игнорируется, как если бы его там не было

\\ n - неопределенная последовательность управления

\\\ n - Аргумент @tempf имеетextra}.

\\\\ n - печатает "\ n" (немного глупо)

двойной пробел - ничего не делает

Я даже пытался изотчаяние, новые строки в стиле HTML, которые я не могу понять, как отобразить здесь, но я не ожидал, что они сработают, и они этого не сделали.

Это возможно в LaTeX, поэтому наверняка есть способ...

ПРИМЕЧАНИЕ: это не дубликат Разделить заголовок чанка по строкам в knitr , так как при этом задается вопрос, как разделить длинную подпись в заголовке чанка по строкам в code , и я спрашиваю, как это сделать в output .

Susannah

---
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)
```

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Вместо новой строки, вы можете рассмотреть возможность использования под цифр, например,

---
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)
```

Sub-figures

0 голосов
/ 19 декабря 2018

Вы можете сделать это, вставив соответствующие команды LaTeX, но вывод, по моему скромному мнению, не очень приятен для просмотра.

Вариант 1: пакет заголовков

Включите пакет заголовка, добавив - \usepackage{caption} к заголовкам включений, затем используйте команду \newline в заголовке.

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

Вариант 2: принудительное перенос строки через длинную строку

Добавление достаточного количества горизонтальных пробелов также приведет к разрыву строки.Однако заголовок больше не будет отображаться по центру.

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

Подробнее см. TeX stackexchange .

...