Можно использовать pdfpages
для включения нескольких страниц из файла PDF одновременно.Тем не менее, они включены на отдельных страницах.Хотя можно добавлять номера страниц, вы не можете легко поместить эти изображения в среду figure
.К счастью, \includegraphics
имеет возможность использовать отдельные страницы из PDF.К сожалению, knitr::include_graphics
не позволяет передавать дополнительные аргументы в \includegraphics
.
Здесь обе возможности:
---
title: "crazy test"
output:
pdf_document
header-includes:
- \usepackage{pdfpages}
---
```{r global_options, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, fig.pos = 'h')
```
```{r, include=FALSE}
library(dplyr)
library(ggplot2)
library(tidyr)
library(purrr)
mydata <- data_frame(group = c('a', 'a', 'a', 'b', 'b', 'b'),
x = c(1,2,3,5,6,7),
y = c(3,5,6,4,3,2))
mydata2 <- mydata %>% group_by(group) %>%
nest() %>%
mutate(myplot = map(data, ~ggplot(data = .x, aes(x = x, y = x)) + geom_point()))
pdf("mychart.pdf")
print(mydata2$myplot)
dev.off()
```
## this is a test!!
Only first page
```{r label, out.width = "85%", fig.cap = "caption"}
knitr::include_graphics(path = "mychart.pdf")
```
All pages but w/o caption and taking a full page
\includepdf[pages=-,nup=2,pagecommand={}]{mychart.pdf}
Alternative, using explicit LaTeX commands.
\begin{figure}
\includegraphics[page=1,width=0.5\linewidth]{mychart.pdf}
\includegraphics[page=2,width=0.5\linewidth]{mychart.pdf}
\caption{\label{fig:test} Test.}
\end{figure}
Можно также поместить их в блок R с помощью cat()
и result = 'asis'
.Однако параметры для настройки заголовка и т. Д. По-прежнему не используются.