#r #latex #r-markdown #caption #subfigure
Вопрос:
Я пишу свою диссертацию с помощью книги. Я хочу включить список фигур, но я не хочу включать всю подпись к каждой фигуре. Моя мысль состояла в том, чтобы дать каждой фигуре одну подпись, которая появляется в lof
ней, и вторую подпись, которая этого не делает. Я пытался сделать это с помощью fig.subcap
, но это не дает второй подписи, я полагаю, потому что для этого нужна вторая цифра.
В приведенном ниже примере я хочу создать фигуру с подписью "My Main Caption. Here is more detail"
, но в lof
just есть: "My Main Caption"
.
---
title: "Queries"
header-includes:
- usepackage{subfig}
output:
bookdown::pdf_book:
toc: true
lof: yes
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(ggplot2)
```{r irisfig, fig.cap='My Main Caption. Here is more detail'}
ggplot2::ggplot(iris, aes(Sepal.Length, Sepal.Width))
geom_point()
Это не работает:
```{r irisfig2, fig.cap='My Main Caption.', fig.subcap= c('Here is more detail')}
ggplot2::ggplot(iris, aes(Sepal.Length, Sepal.Width))
geom_point()
Ответ №1:
Команда LaTeX caption
предлагает необязательный аргумент для указания более короткого заголовка для toc в форме caption[Short caption]{Long caption}
. Эта опция доступна fig.scap
в заголовке:
```{r irisfig2, echo=F, fig.cap='My Main Caption PLUS More Detail', fig.scap='My Main Caption', out.extra=''}
ggplot2::ggplot(iris, aes(Sepal.Length, Sepal.Width))
geom_point()
```
Что дает код latex:
begin{figure}
includegraphics{test9_files/figure-latex/irisfig2-1}
caption[My Main Caption]{My Main Caption PLUS More Detail}label{fig:irisfig2}
end{figure}