隐藏某张幻灯片上的帧编号

隐藏某张幻灯片上的帧编号

我不明白为什么“noframenumbering”在我的示例中不起作用。我只想在需要时混合帧编号。有人有解决方案吗?

\documentclass[9pt]{beamer}
\setbeamertemplate{navigation symbols}{}

\setbeamertemplate{footline}{\hfill \color{black!85}\insertframenumber \hspace*{6mm}\vspace*{3pt}}

\begin{document}
\begin{frame}[c,noframenumbering]
Text
\end{frame}
\end{document}

答案1

您可以将\insertframenumber宏重新定义为空或\relax

为了使重新定义保持本地化(即仅适用于当前幻灯片),您需要将幻灯片放在以 开头\begingroup和以 结尾的组中(或者等效地在重新定义+框架周围\endgroup放置一对额外的)。{}

梅威瑟:

\documentclass[9pt]{beamer}
\setbeamertemplate{navigation symbols}{}

\setbeamertemplate{footline}{\hfill \color{black!85}\insertframenumber \hspace*{6mm}\vspace*{3pt}}

\begin{document}
\begin{frame}[c]
Text
\end{frame}

\begingroup
\def\insertframenumber{\relax}
\begin{frame}[c]
Text
\end{frame}
\endgroup

\begin{frame}[c]
Text
\end{frame}

\end{document}

请注意,作为副作用,该数字也会从某些查看器(例如 Adob​​e Reader 和 Evince)中的幻灯片概览窗格中删除,但在其他查看器(例如 Okular)中不会删除,这可能是也可能不是问题 - 如果您只是在某处展示幻灯片,那么它可能没问题,但如果您之后分发幻灯片,并且您希望人们对您的 LaTeX 技能印象深刻,那么这可能是一个问题。一种解决方案是使用\texorpdfstring,它将第一个参数打印到 pdf 本身,将第二个参数打印到 PDF 元数据。代码:

\documentclass[9pt]{beamer}
% store original definition of \insertframenumber
\let\sidepanenumber\insertframenumber
[...] % lots of code here
\begingroup
% empty in the main document, original definition in the pdf metadata
\def\insertframenumber{\texorpdfstring{\relax}{\sidepanenumber}}
[...]

答案2

noframenumbering选项实际上告诉 beamer 不要步进计数器framenumber,它不是为了隐藏帧数。要隐藏帧的帧数,您可以使用该plain选项。

要隐藏帧编号,您还可以使用 更改相应帧上的脚注线的生成方式\setbeamertemplate。例如,

\documentclass[9pt]{beamer}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{\hfill \color{black!85}\insertframenumber \hspace*{6mm}\vspace*{3pt}}
\newenvironment{nonumberframe}{%
    \setbeamertemplate{footline}{}
    \begin{frame}[c,noframenumbering] %Remove the noframenumbering option if you want the counter to be increased on a frame that is not numbered.
    }{%
    \end{frame}
    \setbeamertemplate{footline}{\hfill \color{black!85}\insertframenumber \hspace*{6mm}\vspace*{3pt}}
}
\begin{document}
\begin{frame}[c]
Text
\end{frame}
\begin{nonumberframe}
Text
\end{nonumberframe}
\begin{frame}[c]
Text
\end{frame}
\end{document}

给出类似的东西(我只是增加了字体大小来生成这个图像):

相关内容