我正在使用beamer
,附录部分中有一张幻灯片。我用按钮对其进行超级引用。附录本身不显示为一个部分。附录材料位于代码末尾。我希望所有这些都保留下来。
当我点击幻灯片 2 上的按钮时,它会带我到附录幻灯片。附录幻灯片显示第 3 页。尽管它是从第 2 节链接过来的。
是否可以执行以下两项操作之一?
- 让附录滑动到与它所扣上的相同位置。在本例中,假设为 2/3。
- 附录幻灯片没有页码。空白即可。
下面的代码可以说明这一点。
\documentclass[professionalfont]{beamer}
\mode<presentation>
\usetheme{Warsaw}
\usetheme{CambridgeUS}
\usepackage{booktabs}
\begin{document}
\section{Section}
\subsection{}
\frame
{
\frametitle{Slide Title}
Slide 1
\hspace{0.01cm}\hyperlink{eaa<1>}{\beamergotobutton{Literature}}
}
\frame
{
\frametitle{Slide Title}
Slide 2
\hspace{0.01cm}\hyperlink{eab<1>}{\beamergotobutton{Literature}}
}
\frame
{
\frametitle{Slide Title}
Slide 3
}
\section*{}
\addtocounter{framenumber}{-1}
\frame[label=eaa]
{
\frametitle{Appendix Material}
Appendix Material here for Slide 1.
{
{\tiny
\hfill\Acrobatmenu{GoBack}{\beamerreturnbutton{}}
}}
}
\addtocounter{framenumber}{-1}
\frame[label=eab]
{
\frametitle{Appendix Material}
Appendix Material here for Slide 2.
{
{\tiny
\hfill\Acrobatmenu{GoBack}{\beamerreturnbutton{}}
}}
}
\end{document}
我将非常感谢您的帮助。
答案1
这是一种方法消除通过附录幻灯片中的幻灯片编号etoolbox
包裹footline
。这个想法是你用\phantom
它自己的版本替换模板中框架的插入:
\documentclass{beamer}% http://ctan.org/pkg/beamer
\usepackage{lmodern}% http://ctan.org/pkg/lm
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\mode<presentation>
\usetheme{Warsaw}
\usetheme{CambridgeUS}
\begin{document}
\section{Section}
\subsection{}
\begin{frame}
\frametitle{Slide Title}
Slide 1
\end{frame}
\begin{frame}
\frametitle{Slide Title}
Slide 2
\hspace{0.01cm}\hyperlink{eab<1>}{\beamergotobutton{Literature}}
\end{frame}
\begin{frame}
\frametitle{Slide Title}
Slide 3
\end{frame}
\section*{}
% Remove <frame #> / <total frame #> from footline template
\makeatletter
\patchcmd{\beamer@@tmpl@footline}% <cmd>
{\insertframenumber{} / \inserttotalframenumber}% <search>
{\phantom{\insertframenumber{} / \inserttotalframenumber}}% <replace>
{}% <success>
{}% <failure>
\makeatother
\begin{frame}[label=eab]
\frametitle{Appendix Material}
Appendix Material here.
{\tiny\hfill\Acrobatmenu{GoBack}{\beamerreturnbutton{}}}
\end{frame}
\addtocounter{framenumber}{-1}% Correct total frame count
\end{document}
这beamer
footline
模板存储在 中beamer@@tmpl@footline
。替换(或修补)必要的命令比重新定义它更容易。
类似的方法可以用于重复其他幻灯片的帧号。一种方法是“捕获”不同计数器中的帧号,然后修补以footline
显示该数字而不是常规framenumber
计数器(通过\insertframenumber
)。这是一个完整的最小示例:
\documentclass{beamer}% http://ctan.org/pkg/beamer
\usepackage{lmodern}% http://ctan.org/pkg/lmodern
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\newcounter{captureframe}
\mode<presentation>
\usetheme{Warsaw}
\usetheme{CambridgeUS}
\begin{document}
\section{Section}
\subsection{}
\begin{frame}
\frametitle{Slide Title}
Slide 1
\end{frame}
\begin{frame}
\frametitle{Slide Title}
Slide 2
\hspace{0.01cm}\hyperlink{eab<1>}{\beamergotobutton{Literature}}
\end{frame}
\setcounter{captureframe}{\value{framenumber}}% Store/capture current frame
\begin{frame}
\frametitle{Slide Title}
Slide 3
\end{frame}
\section*{}
% Replace <frame #> in footline template
\makeatletter
\patchcmd{\beamer@@tmpl@footline}% <cmd>
{\insertframenumber}% <search>
{\thecaptureframe}% <replace>
{}% <success>
{}% <failure>
\makeatother
\begin{frame}[label=eab]
\frametitle{Appendix Material}
Appendix Material here.
{\tiny\hfill\Acrobatmenu{GoBack}{\beamerreturnbutton{}}}
\end{frame}
\addtocounter{framenumber}{-1}% Correct total frame count
\end{document}
帧号通过以下方式捕获
\setcounter{captureframe}{\value{framenumber}}
定义新的计数器后captureframe
。在模板补丁中footline
,\insertframenumber
被替换为\thecaptureframe
(默认为\arabic
计数器的显示)。
上述两种解决方案都会影响补丁之后的所有幻灯片/帧。因此,如果需要临时修改,则需要做更多工作(但并不困难)。
基于某些假设,可以建立一个使用宏(不需要etoolbox
)来引用幻灯片的基本方法。假设如下
- “前言”和“后记”幻灯片之间有明显区分。前者包含可“引用”的幻灯片,而后者包含“引用”的幻灯片。
- 需要手动使用某些宏每一个“后记”幻灯片以保持总帧数的准确计数。
以下是 MWE:
\documentclass{beamer}% http://ctan.org/pkg/beamer
\usepackage{lmodern}% http://ctan.org/pkg/lmodern
\makeatletter
\newcommand{\saveframenumber}[1]{%
\expandafter\edef\csname r@#1\endcsname{\theframenumber}% Store frame number
}
\newcommand{\useframenumber}[1]{%
\addtocounter{framenumber}{-1}% Decrease framenumber counter
\renewcommand{\insertframenumber}{%
\csname r@#1\endcsname%
}%
}
\makeatother
\newcommand{\restoreframenumberdefault}{%
\renewcommand{\insertframenumber}{%
\arabic{framenumber}%
}%
}
\mode<presentation>
\usetheme{Warsaw}
\usetheme{CambridgeUS}
\begin{document}
\section{Section}
\subsection{}
\begin{frame}
\frametitle{Slide Title}
Slide 1
\end{frame}
\begin{frame}
\frametitle{Slide Title}
Slide 2
\hspace{0.01cm}\hyperlink{eab<1>}{\beamergotobutton{Literature}}
\end{frame}
\saveframenumber{myslide}% Save this slide number as <myslide>
\begin{frame}
\frametitle{Slide Title}
Slide 3
\end{frame}
\section*{}
\useframenumber{myslide}% Use the same number as on <myslide>
\begin{frame}[label=eab]
\frametitle{Appendix Material}
Appendix Material here.
{\tiny\hfill\Acrobatmenu{GoBack}{\beamerreturnbutton{}}}
\end{frame}
\end{document}
用法是:
- 在您想要在“后记”中引用的幻灯片之后,放置
\saveframenumber{<name>}
。这会将当前帧的值存储在 中\r@<name>
。 - 前每一个“后记”幻灯片使用了“前记”中的“引用”幻灯片,你放置了
\useframenumber{<name>}
。
答案2
这只是附录页计数器为空的解决方案:为附录定义一个空的页脚:
[ ... ]
\section*{}
\setbeamertemplate{footline}{}
\begin{frame}[label=eab]
\frametitle{Appendix Material}
Appendix Material here.
{\tiny\hfill\Acrobatmenu{GoBack}{\beamerreturnbutton{}}}
\end{frame}
\addtocounter{framenumber}{-1}
\end{document}
如果您想要相同风格的脚注,请重新定义它:
\documentclass{beamer}
\usepackage{etoolbox}
\usetheme{CambridgeUS}
\def\resetFootline#1{}
\begin{document}
\section{Section}
\subsection{}
\begin{frame}
\frametitle{Slide Title}
Slide 1
\end{frame}
\begin{frame}
\frametitle{Slide Title}
Slide 2
\hspace{0.01cm}\hyperlink{eab<1>}{\beamergotobutton{Literature}}
\end{frame}
\begin{frame}
\frametitle{Slide Title}
Slide 3
\end{frame}
\section*{}
\setbeamertemplate{footline}{\leavevmode\hbox{%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
\usebeamerfont{author in head/foot}\insertshortauthor~~(\insertshortinstitute)
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
\usebeamerfont{title in head/foot}\insertshorttitle
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
\usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}\hspace*{2ex}
\end{beamercolorbox}}\vskip0pt}
\begin{frame}[label=eab]
\frametitle{Appendix Material}
Appendix Material here.
{\tiny\hfill\Acrobatmenu{GoBack}{\beamerreturnbutton{}}}
\end{frame}
\addtocounter{framenumber}{-1}
\end{document}