如何在rmarkdown中包含pdfpages以用于beamer输出

时间:2017-09-22 03:56:08

标签: markdown r-markdown pandoc beamer pdfpages

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

将pdf文件中的任意页面包含到我的幻灯片中
\usepackage{pdfpages}
...
\includepdf[pages={1-10}]{another_file.pdf}

是否可以通过rmarkdown实现这一目标?请注意,只发出\includepdf命令,意图位于幻灯片之间,pandoc将其包装在\begin{frame}\end{frame}之间。

3 个答案:

答案 0 :(得分:1)

正如您所提到的,您可以在Pandoc Markdown中包含raw TeX。对我来说,以下工作:

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

答案 1 :(得分:0)

不是一个完美的解决方案,但它有效(改编自https://tex.stackexchange.com/questions/11458/error-when-inserting-a-pdf-page-into-a-beamer-presentation?newreg=10fd6a4a46c642118eb4ec905cf87303):使用\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!

答案 2 :(得分:0)

在rmarkdown中,您可以使用以下pdf页面:

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