Latex 忽略备份幻灯片中的页码

Latex 忽略备份幻灯片中的页码,latex,beamer,Latex,Beamer,我正在使用latex中的beamer文档类进行演示。我将有一些备份幻灯片,用于离线查看、参考等。Beamer有一个功能,在每个幻灯片上以{page}/{total pages}的形式显示演示过程的进度。如果{total pages}等于我的总页数(不包括备份幻灯片),我真的很想看到它(我不想让我的观众在第一页失望!)。有人知道如何做到这一点吗?要手动将总帧数固定到某个数字,例如25,您可以添加以下命令 \renewcommand{\inserttotalframenumber}{25} 就在\

我正在使用latex中的beamer文档类进行演示。我将有一些备份幻灯片,用于离线查看、参考等。Beamer有一个功能,在每个幻灯片上以{page}/{total pages}的形式显示演示过程的进度。如果{total pages}等于我的总页数(不包括备份幻灯片),我真的很想看到它(我不想让我的观众在第一页失望!)。有人知道如何做到这一点吗?

要手动将总帧数固定到某个数字,例如25,您可以添加以下命令

\renewcommand{\inserttotalframenumber}{25}
就在\begin{document}命令之后

您还可以在备份幻灯片开始之前添加\appendix命令,这样相应的章节/子章节就不会出现在目录/导航结构中


应该可以调整上面的RENEWN命令,使其自动使用附录前的最后一帧编号,但我不知道如何操作。

Fanfan,感谢您的回答,你的回答引导我找到了这个sty文件,它可以包含在一个beamer文档类中,该类将自动计算附录前的帧数,然后重新开始,并对附录幻灯片进行单独计数,非常整洁


也感谢Jérôme LELONG在线提供此服务。

这可以通过软件包完成。只需在序言中添加
\usepackage{appendix numberbeamer}
,并在第一张备份幻灯片之前使用
\appendix

我定义了两个命令来执行此操作:

\newcommand{\beginbackup}{
   \newcounter{framenumbervorappendix}
   \setcounter{framenumbervorappendix}{\value{framenumber}}
}
\newcommand{\backupend}{
   \addtocounter{framenumbervorappendix}{-\value{framenumber}}
   \addtocounter{framenumber}{\value{framenumbervorappendix}} 
}
然后,您可以在备份幻灯片前后使用
\beginbackup
\backupend
来调整幻灯片的数量

对于我的beamer模板,我还想添加

\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}
    \insertframenumber{} \hspace*{2ex} % hier hat's sich geändert
  \end{beamercolorbox}}%
  \vskip0pt%
}
\beginbackup
命令的定义中,在备份幻灯片中隐藏到总页码,否则会得到类似“24/18”的结果


使用所有这些功能,备份前的所有幻灯片都将以“x/Y”的形式编号,其中Y是第一张备份幻灯片之前的幻灯片总数,备份幻灯片将继续对以前的幻灯片进行编号。

现在可以通过在所有“备份”幻灯片上使用以下选项来实现这一点:

这将导致最终数字(如25/25)显示在此类页面上

和往常一样,这是品味的问题

只需插入

\renewcommand{\inserttotalframenumber}{\pageref{lastslide}}
\开始{document}之后,放置标记

\label{lastslide}

在您的最后一张幻灯片上。

伟大的命令\insertpresentationendpage将解决您的问题。只需将\附录放在备份幻灯片的开头

\documentclass[t]{beamer}

\usepackage[absolute,overlay]{textpos}
\setbeamertemplate{navigation symbols}{}

\def\insertpresentationendframe{\inserttotalframenumber}
\makeatletter
\g@addto@macro{\appendix}{\immediate\write\@auxout{\string\@writefile{nav}{\noexpand\headcommand{\noexpand\def\noexpand\insertpresentationendframe{\the\c@framenumber}}}}}
\makeatother

\setbeamertemplate{footline}{%
    \begin{picture}(54,12.5)(0,0)
    \put(0.9,0.52){%
        \begin{minipage}[b][12.5mm][c]{112.5mm}
        \raggedleft
        \insertframenumber/\insertpresentationendframe
        \end{minipage}
    }
    \end{picture}
}

\begin{document}

    \begin{frame}
        slide in the main part
        \only<2>{blub}
    \end{frame}

    \appendix
    \section*{Backup}

    \begin{frame}
        \frametitle{backup}
        not counting in the total frame number
    \end{frame}

\end{document}
\documentclass[t]{beamer}
\usepackage[absolute,overlay]{textpos}
\setbeamertemplate{导航符号}{}
\def\insertpresentationendframe{\inserttotalframenumber}
\马克特莱特
\g@addto@宏{\appendix}{\immediate\write\@auxout{\string\@writefile{nav}{\noexpand\headcommand{\noexpand\def\noexpand\insertpresentationedframe{\\c@framenumber}}}}}
\Maketother
\setbeamertemplate{footline}{%
\开始{picture}(54,12.5)(0,0)
\卖出(0.9,0.52){%
\开始{minipage}[b][12.5mm][c]{112.5mm}
\衣衫褴褛
\insertframenumber/\insertpresentationendframe
\结束{minipage}
}
\结束{图片}
}
\开始{document}
\开始{frame}
滑入主体部分
\只有{blub}
\结束{帧}
\附录
\第*{Backup}节
\开始{frame}
\frametitle{backup}
不计入总帧数
\结束{帧}
\结束{document}

您可以将所有备份幻灯片放在附录中,并使用
附录numberbeamer
软件包

\documentclass[12pt]{beamer}
\usepackage{appendixnumberbeamer}
\begin{document}
\begin{frame}{Frames that counts}
\end{frame}
\appendix
\begin{frame}{Backup slides}
\end{frame}
\end{document}

另一种可能性——最近添加到beamer中——是使用
Appendix框架编号
模板:

\documentclass[t]{beamer}

\setbeamertemplate{footline}{
  \hfill%
  \usebeamercolor[fg]{page number in head/foot}%
  \usebeamerfont{page number in head/foot}%
  \setbeamertemplate{page number in head/foot}[appendixframenumber]%
  \usebeamertemplate*{page number in head/foot}\kern1em\vskip2pt%
}

\begin{document}

    \begin{frame}
        slide in the main part
        \only<2>{blub}
    \end{frame}

    \appendix
    \section*{Backup}

    \begin{frame}
        \frametitle{backup}
        not counting in the total frame number
    \end{frame}

\end{document}
\documentclass[t]{beamer}
\setbeamertemplate{footline}{
\hfill%
\usebeamercolor[fg]{页数(页首/页脚)}%
\usebeamerfont{页数以页首/页脚为单位}%
\setbeamertemplate{页眉/页脚中的页码}[附录框架编号]%
\usebeamertemplate*{页眉/页脚中的页码}\kern1em\vskip2pt%
}
\开始{document}
\开始{frame}
滑入主体部分
\只有{blub}
\结束{帧}
\附录
\第*{Backup}节
\开始{frame}
\frametitle{backup}
不计入总帧数
\结束{帧}
\结束{document}

\renewcommand{…}{25}效果很好,您是对的,如果您可以使用备份上一张幻灯片的帧数进行设置,那就太好了。只是为了澄清一下,添加\appendix命令会将所有后续的[sub][sub]部分保留在ToC之外,但会将它们放在nav结构中。显然,我认为现在我们可以直接声明
\usepack{appendix numberbeamer}
在序言中。这里有一个关于这个问题的有用链接:这个问题是@user1532178的副本:链接处于非活动状态
\backupend
\endbackup
<代码>\backupend适合我。此外,它在编译两次后可以工作。如果每个帧只有一个覆盖,则不起作用,否则页数将与帧数不匹配。使用
\begin{frame}[label={lastslide}]
效果更好,否则
\pageref{lastslide}
指的是PDF页码,不是帧计数链接正是我需要的。
\documentclass[t]{beamer}

\setbeamertemplate{footline}{
  \hfill%
  \usebeamercolor[fg]{page number in head/foot}%
  \usebeamerfont{page number in head/foot}%
  \setbeamertemplate{page number in head/foot}[appendixframenumber]%
  \usebeamertemplate*{page number in head/foot}\kern1em\vskip2pt%
}

\begin{document}

    \begin{frame}
        slide in the main part
        \only<2>{blub}
    \end{frame}

    \appendix
    \section*{Backup}

    \begin{frame}
        \frametitle{backup}
        not counting in the total frame number
    \end{frame}

\end{document}