我正在使用的代码https://tfischernet.wordpress.com/2010/09/07/more-on-latex-beamer-linking-images-to-an-enlarged-version/将我的 latex beamer 幻灯片中的小图像链接到末尾的放大版本。好处是末尾的附加幻灯片会自动生成。此代码将文件名写入单独的文件,并在下次编译运行期间再次读取它,以便将文件名传递给 includegraphics。是否可以为 tikzpictures 设计类似的东西?即,如果我的一些幻灯片中有一张小的 tikzpicture,LaTeX 会自动在末尾生成一张包含相同图形放大版本的附加幻灯片。
答案1
TikZ 图片可以保存在框中以供以后重放。这里xsavebox
使用包,它允许任意命名框,并有效地将图纸的 PDF 代码保存到 PDF XObjects 中。(标准\savebox
/lrbox
并\usebox
在每次插入框时复制 PDF 代码。)
\documentclass{beamer}
\usepackage{xsavebox}
\usepackage{tikz}
\usepackage{amssymb}
\begin{document}
\section{Main}
\begin{frame}{My talk}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%define and save some tikzpictures
\begin{xlrbox}{Red line}
\begin{tikzpicture}
\draw [red] (0,0) -- (1,1);
\end{tikzpicture}
\end{xlrbox}%
%
\begin{xlrbox}{Blue line}
\begin{tikzpicture}
\draw [blue] (0,1) -- (1,0);
\end{tikzpicture}
\end{xlrbox}%
\gdef\mytikzpictures{Red line, Blue line}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hyperlink{Red line}{\xusebox{Red line}}
\hyperlink{Blue line}{\xusebox{Blue line}}
\end{frame}
\section{Appendix}
% enlarged views, 1 frame per image
\foreach \i in \mytikzpictures {
\begin{frame}{\Acrobatmenu{GoBack}{$\curvearrowleft$} \i}
\hypertarget{\i}{\resizebox{0.5\linewidth}{!}{\xusebox{\i}}}
\end{frame}
}
\end{document}