如何将pdfpages包含在波束输出的rmarkdown中

如何将pdfpages包含在波束输出的rmarkdown中,markdown,r-markdown,pandoc,beamer,pdfpages,Markdown,R Markdown,Pandoc,Beamer,Pdfpages,我正在使用rmarkdown和beamer创建pdf幻灯片。当使用latex而不是rmarkdown时,我可以使用 \usepackage{pdfpages} ... \includepdf[pages={1-10}]{another_file.pdf} 是否可以通过rmarkdown实现这一点?请注意,当只发出\includepdf命令时,正如您所提到的,pandoc会将其包装在\begin{frame}和\end{frame}之间,您可以在pandoc标记中插入。对我来说,以下工作: $

我正在使用rmarkdown和beamer创建pdf幻灯片。当使用latex而不是rmarkdown时,我可以使用

\usepackage{pdfpages}
...
\includepdf[pages={1-10}]{another_file.pdf}

是否可以通过rmarkdown实现这一点?请注意,当只发出
\includepdf
命令时,正如您所提到的,pandoc会将其包装在
\begin{frame}
\end{frame}

之间,您可以在pandoc标记中插入。对我来说,以下工作:

$ pandoc -t beamer

foo

\includepdf[pages={1-10}]{another_file.pdf}

bar
^D
其结果是:

\begin{frame}

foo

\includepdf[pages={1-10}]{another_file.pdf}

bar

\end{frame}

也许你需要更新你的pandoc版本?(我现在正在使用pandoc nightlies的2.0)

不是一个完美的解决方案,但它可以工作(改编自):使用
\includegraphics
而不是includepdf。这在框架内工作,但您必须为要插入的每个页面创建一个框架,因为它一次只允许插入一个页面

---
title: "Foo"
output: 
  beamer_presentation:
---

# Stolen image

---

\includegraphics[page=1,width=\paperwidth]{lecture-1-terminal.pdf}

# My own work

## My slide 1

Great stuff!

在rmarkdown中,您可以使用如下pdfpages:

---
output: 
  beamer_presentation:
    keep_tex: true
header-includes:
  - \usepackage{pdfpages}
  - \setbeamercolor{background canvas}{bg=}
  - \makeatletter\beamer@ignorenonframefalse\makeatother
---

test

``` {=latex}
\end{frame}
\includepdf[pages=1-10]{example-image-duck}
\begin{frame}
```

test

谢谢你的回复。不幸的是,
\includepdf
只能在帧外工作。我希望避免将其包装在
框架
环境中。这不起作用的原因有两个:如果在框架内使用
\includedf
,它将位于背景画布后面,默认情况下,背景画布是不透明的,因此,隐藏pdf和b)包含的十个页面将叠加每个页面,并且只有最后一个页面才可见,如果背景画布不会遮挡它的话。我有同样的问题:似乎不可能从带有beamer选项的Rmd文件中的
\includepdf
包中使用
\includepdf
。手动编辑生成的Latex文件最终会起作用,但如果有一个更自动化的修复/解决方案,那就太棒了。谢谢@MarkusLoecher在rmarkdown中使用pdfpages并非不可能,请参阅@OttToomet每帧只有一个图像的问题可以很容易避免: