Как включить 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