Как включить pdfpages в rmarkdown для вывода на проектор

Я создаю слайды в формате PDF, используя rmarkdown и beamer. При использовании латекса вместо rmarkdown я могу включать произвольные страницы из файлов PDF в свои слайды с помощью

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

Можно ли добиться этого с помощью rmarkdown? Обратите внимание, что при выдаче \includepdf Команда, предназначенная для размещения между слайдами, pandoc оборачивает ее между \begin{frame} а также \end{frame},

2 ответа

Как вы упомянули, вы можете включить необработанный TeX в Markand 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? (Я использую 2.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!

В 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
Другие вопросы по тегам