2

我正在用 bookdown 写论文。我想包含一个图形列表,但我不想包含每个图形的全部标题。我的想法是给每个图一个出现在图中的标题lof和第二个没有出现的标题。我尝试过使用fig.subcap,但这并没有给出第二个标题,我想是因为它需要第二个数字存在。

在下面的示例中,我想创建一个具有标题的图形"My Main Caption. Here is more detail",但在lofjust has:"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()

在此处输入图像描述

4

1 回答 1

2

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

产生乳胶代码:

\begin{figure}
\includegraphics{test9_files/figure-latex/irisfig2-1} 
\caption[My Main Caption]{My Main Caption PLUS More Detail}\label{fig:irisfig2}
\end{figure}
于 2021-09-08T06:27:07.950 回答