У меня есть 100 изображений с именами Image-1.pdf
. Image-100.pdf
Есть ли способ включить их все в один слайд, не вводя каждое имя на 100 слайдах и не делая этого \includegraphics
на каждом слайде?
решение1
Существует много способов реализации циклов в LaTeX. Одна из возможностей — это пакет pgffor
(см. раздел 83 «Повторение вещей: оператор Foreach»документация тикз):
\documentclass{beamer}
\usepackage{pgffor}
\usepackage{graphicx}
\begin{document}
\begin{frame}
\foreach \i in {1,...,3}{
\includegraphics<+>[width=\linewidth]{img/image-\i}
}
\end{frame}
\end{document}
решение2
В комплект Beamer входит команда, которая делает именно это:\multiinclude
\documentclass{beamer}
\usepackage{xmpmulti}
\begin{document}
\begin{frame}
\multiinclude[<+->][format=pdf, graphics={width=\textwidth}, start=1]{Image}
\end{frame}
\end{document}
Вы даже можете анимировать последовательность, используя что-то вроде \transduration<0-100>{0.5}
.
решение3
Мой способ сделать это — это объединенные усилиясодержимое файлаиcsvsimpleпакеты. В среде filecontents вы просто перечисляете изображения, которые будут использоваться (это полезно, когда у вас нет единого шаблона имен изображений).
\documentclass{beamer}
\usepackage{filecontents,csvsimple}
\begin{document}
\graphicspath{{<insert/path/to/image/folder>}}
\begin{filecontents*}{imagelist.txt}
Image-1
Image-2
Image-3
\end{filecontents*}
\frame{\csvreader[no head]{imagelist.txt}{}{\centering\only<+>{\includegraphics{\csvcoli}}}}
\end{document}
Примечание ниже (не являющееся частью исходного вопроса): если вам нужен автоматический выбор портретной/альбомной ориентации включенных изображений, вам, возможно, стоит взглянуть наСпециальные страницы для рисунков с функцией автоматического масштабирования по размеру страницы и автоматического выбора портретной/альбомной ориентации