Наличие нескольких шаблонов слайдов в LaTeX Beamer - PullRequest
7 голосов
/ 01 июля 2010

Я хотел бы создать презентацию с использованием проектора LaTeX, который имеет два вида шаблонов / макетов слайдов: один для слайдов с фоновым изображением и один макет / шаблон для слайдов без указанного фонового изображения.

Есть ли хитрость, чтобы сделать это с помощью beamer?

Ответы [ 4 ]

1 голос
/ 28 февраля 2013

Если вы хотите конкретное фоновое изображение для одного слайда, просто введите

{\usebackgroundtemplate{\includegraphics[width=\paperwidth]{background.jpg}}

прямо перед вашим \begin{frame}.

1 голос
/ 08 декабря 2010

В основном я сводлю к тому, чтобы ставить \usebackgroundtemplate перед каждым \begin{frame}...\end{frame}.

0 голосов
/ 28 февраля 2019

Это легко сделать с помощью новой опции фрейма:

\documentclass{beamer}

\defbeamertemplate{background canvas}{mydefault}{%
  \includegraphics[width=1cm]{example-image-duck}
}
\defbeamertemplate{background canvas}{fullimage}{%
  \includegraphics[width=\paperwidth]{example-image-duck}
}

\BeforeBeginEnvironment{frame}{%
  \setbeamertemplate{background canvas}[mydefault]%
}

\makeatletter
\define@key{beamerframe}{fullimage}[true]{%
  \setbeamertemplate{background canvas}[fullimage]%
}
\makeatother

\begin{document}

\begin{frame}
  left
\end{frame} 

\begin{frame}[fullimage]
  right
\end{frame}

\begin{frame}
  is left again
\end{frame}

\end{document}
0 голосов
/ 13 февраля 2012

Если я правильно понимаю, вопрос в том, как создать две копии презентации одновременно. Для этого вы используете низкоуровневые команды tex и несколько файлов.

В Presentation.tex у вас может быть

%&pdftex
\relax
\immediate\write18{pdflatex -synctex=1 PresentationWithBG.tex}
\relax
\immediate\write18{pdflatex -synctex=1 PresentationWithoutBG.tex}
\end

Это единственный файл, на котором вам действительно нужно будет запустить латекс, что вы делаете с pdftex --shell-escape Presentation.tex. Но вам также понадобится следующее.

В PresentationWithBG.tex (обратите внимание, что на самом деле вам не нужно \usebackgroundtemplate перед каждым кадром):

\documentclass{beamer}
\setbeamercolor{background canvas}{bg=}
\usebackgroundtemplate{\includegraphics[width=\paperwidth]{<your_background_fig>}}
\input{PresentationContent}

В PresentationWithoutBG.tex:

\documentclass{beamer}
\input{PresentationContent}

В PresentationContent.tex:

\begin{document}
[All your actual presentation goes here...]
\end{document}

Когда вы запустите pdftex --shell-escape Presentation.tex, вы получите PresentationWithBG.pdf и PresentationWithoutBG.pdf.

Обратите внимание, что %&pdftex в Presentation.tex гарантирует, что любая версия TeX работает, переключается в правильный режим. Вы могли бы на самом деле запустить его с pdflatex.

...