To import a slide from another beamer
presentation as a "picture", you can use pdfpages
. You'll have to \setbeamercolor{background canvas}{bg=}
as explained in this answer because only a white frame will be shown otherwise:
\documentclass{beamer}
\usepackage{pdfpages}
\begin{document}
\begin{frame}
Content
\end{frame}
{
\setbeamercolor{background canvas}{bg=}
\includepdf[pages=3]{filea.pdf}
}
\end{document}
However, if you use head- or footlines or even a different theme in your existing presentation, this will probably not fit snugly. In this case, a better solution would be to actually import the source code of the existing presentation, which can be done using the docmute
package in combination with the \againframe
command:
Suppose this is your existing presentation filea.tex
: You need to give the slides you want to import a name using the label
option of the frame environment, like this:
\documentclass{beamer}
\begin{document}
\begin{frame}[label=myframe]
Frame to be included
\end{frame}
\end{document}
Then you can use this code in your new presentation:
\documentclass{beamer}
\usepackage{docmute}
\makeatletter
\newcommand*{\loadpresentation}[1]{{\beamer@inlecturefalse\input{#1}}}
\makeatother
\begin{document}
\loadpresentation{filea.tex}
\begin{frame}
The new presentation
\end{frame}
\againframe{myframe}
\end{document}
Issuing \loadpresentation{filea.tex}
imports the frames from your existing presentation without displaying them. You can insert them wherever needed using \againframe
with the label you chose in filea.tex
. The command \loadpresentation
should be used someplace after \begin{document}
(but before you actually include a frame from this presentation, of course).
This works roughly the same as if you'd actually copy the source code of the frame from the existing presentation, so things like overlays etc. are taken over.
You could use the tried and tested tikzmark
idea
Code
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{calc}
% tikzmark command, for shading over items
\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}
\begin{document}
\begin{frame}
\begin{itemize}[<+->]
\item Software-as-a-Service?
\item Platform-as-a-Service?
\item \tikzmark{infrastructure}{Infrastructure-as-a-Service}
\item Other-stuff-as-a-Service?
\end{itemize}
\pause\tikz[overlay,remember picture]{\draw[draw=red,thick,double,fill opacity=0.2] ($(infrastructure)+(-0.5,0.4)$) rectangle ($(infrastructure)+(6,-0.2)$);}
\end{frame}
\end{document}
Best Answer
How about this: you have three commands:
\imagenode
for inserting the picture and setting up some dimensions\imagegrid
which helps putting the frame\highlightbox
for drawing the frameCode
Output