#r #latex #r-markdown #beamer #presentation
Вопрос:
Я новичок в RMarkdown и Beamer. Я пытаюсь создать набор слайдов, где каждый слайд содержит JPG. Мне нужно просмотреть дюжину. Как мне настроить это в цикле?
Вот файл RMD:
---
title: 'slideshow'
output:
beamer_presentation:
theme: "AnnArbor"
---
# Introduction
## Blah
- Text
- Here
- Etc.
# Images
## pic_1
```{r echo=FALSE, out.width = '100%'}
knitr::include_graphics("../images/modelA_pic_1.jpg")
```
## pic_2
```{r echo=FALSE, out.width = '100%'}
knitr::include_graphics("../images/modelA_pic_2.jpg")
```
## pic_3
```{r echo=FALSE, out.width = '100%'}
knitr::include_graphics("../images/modelA_pic_3.jpg")
```
## pic_4
```{r echo=FALSE, out.width = '100%'}
knitr::include_graphics("../images/modelA_pic_4.jpg")
```
Я знаю, что могу поместить заголовки слайдов и пути к рисункам во фрейм данных, но я не уверен, как это сделать внутри RMarkdown и как просмотреть его, чтобы создать заголовки слайдов и вставить изображения.
title <- c('pic_1', 'pic_2', 'pic_3', 'pic_4')
fpath <- c('modelA_pic_1.jpg', 'modelA_pic_2.jpg', 'modelA_pic_3.jpg', 'modelA_pic_4.jpg')
fpath <- paste0("../images/", fpath)
myfiles <- data.frame(title, fpath)
Обновлено на основе принятого ответа
Ниже приведено то, что я в конечном итоге использовал для своего Rmd. На этой странице объясняются основы xmpmulti
пакета.
Для этой настройки мой RMD находится в одной папке; изображения находятся в одной папке вверх ( ../
), а затем в папке с именем temp ( ../temp/
). Изображения в этой папке называются test-1.png
test-2.png
, и т. Д.
---
title: 'slideshow'
output:
beamer_presentation:
theme: "AnnArbor"
header-includes:
- usepackage{xmpmulti}
---
# Introduction
## Blah
- Text
- Here
- Etc.
```{=latex}
end{frame}
section{Images}
begin{frame}
frametitle<1>{picture 1}
frametitle<2>{picture 2}
centering
multiinclude[format=png,start=1,end=2,graphics={width=1textwidth}]{../temp/test}
end{frame}
begin{frame}
```
some test
Ответ №1:
Предполагая, что ваши изображения имеют имена pic-1.png
и т. Д., Тогда у beamer есть автоматический способ перебирать изображения через xmpmulti
пакет:
---
title: 'slideshow'
output:
beamer_presentation:
theme: "AnnArbor"
keep_tex: true
header-includes:
- usepackage{xmpmulti}
---
# Introduction
## Blah
- Text
- Here
- Etc.
```{=latex}
end{frame}
section{Images}
begin{frame}
frametitle<1>{picture 1}
frametitle<2>{picture 2}
frametitle<3>{picture 3}
centering
multiinclude[format=png,start=1,end=3,graphics={width=.6textwidth}]{pic}
end{frame}
begin{frame}
```
some test
Комментарии:
1. спасибо за ваш ответ, похоже, это должно сработать, но я получаю сообщение об ошибке. Я обновил ОП, чтобы отразить мою попытку с вашим ответом и полученной ошибкой
2. @a11
_
Ключ предназначен для математики — и только для математики. Вы не должны использовать его в своем фрейме без экранирования, например../images/modelA_pic_1
3. Кавычки ничего не сделают с символами, которые не разрешены. С помощью экранированных подчеркиваний это отлично работает для меня: rstudio.cloud/project/2490816
4. Я еще раз изучил пакет xmpmulti и заставил его работать, спасибо за вашу помощь