0

我正在使用 rmarkdown 和 beamer 创建 pdf 幻灯片。当使用latex而不是rmarkdown时,我可以将pdf文件中的任意页面包含到我的幻灯片中

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

是否可以使用 rmarkdown 实现这一目标?请注意,当仅发出\includepdf旨在位于幻灯片之间的命令时,pandoc 将其包装在\begin{frame}和之间\end{frame}

4

3 回答 3

1

不是一个完美的解决方案,但它有效(改编自https://tex.stackexchange.com/questions/11458/error-when-inserting-a-pdf-page-into-a-beamer-presentation?newreg=10fd6a4a46c642118eb4ec905cf87303):使用\includegraphics而不是包含pdf。这适用于框架内,但您必须为要插入的每个页面创建一个框架,因为它只允许一次插入一个页面。

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

# Stolen image

---

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

# My own work

## My slide 1

Great stuff!
于 2017-09-22T17:39:40.467 回答
0

正如您所提到的,您可以在 Pandoc Markdown中包含原始 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)

于 2017-09-22T14:59:42.840 回答
0

在 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

(对于 < 3.64 的投影仪版本,该行\setbeamercolor{background canvas}{bg=}是必需的,已在9e3bb9中添加了一个补丁)

于 2019-10-31T14:19:47.933 回答