Beamer、页码/帧号、按钮和附录幻灯片

Beamer、页码/帧号、按钮和附录幻灯片

我正在使用beamer,附录部分中有一张幻灯片。我用按钮对其进行超级引用。附录本身不显示为一个部分。附录材料位于代码末尾。我希望所有这些都保留下来。

当我点击幻灯片 2 上的按钮时,它会带我到附录幻灯片。附录幻灯片显示第 3 页。尽管它是从第 2 节链接过来的。

是否可以执行以下两项操作之一?

  1. 让附录滑动到与它所扣上的相同位置。在本例中,假设为 2/3。
  2. 附录幻灯片没有页码。空白即可。

下面的代码可以说明这一点。

\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)来引用幻灯片的基本方法。假设如下

  1. “前言”和“后记”幻灯片之间有明显区分。前者包含可“引用”的幻灯片,而后者包含“引用”的幻灯片。
  2. 需要手动使用某些宏每一个“后记”幻灯片以保持总帧数的准确计数。

以下是 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}

相关内容