我正在使用马德里主题,并希望保留我的标题页和演示文稿的其余部分,仅进行以下更改:1- 不要将标题框计入总框数
2- 不要在标题框中输入帧数和总帧数。
对于第一种情况,我可以手动更改可用的总帧数,我想知道是否有更自动化的方法来做到这一点。
\documentclass {beamer}
\mode<beamer>{\usetheme{Madrid}}
\title[Test Title]{Test}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\begin{frame}
\frametitle{First test frame}
\begin{itemize}
\item Item 1
\item item 2
\end{itemize}
\end{frame}
\begin{frame}
\frametitle<beamer>{Second frame}
\begin{block}<beamer>{Example block}
Some text in the block
\end{block}
\end{frame}
\end{document}
此代码有三个框架;第一个是标题,接下来的两个是我的实际演示文稿。目前幻灯片中的页码为 1/3、2/3 和 3/3。我理想的情况是:保持演示文稿原样,将页码更改为“标题框架中没有任何内容”,第二个框架中的页码为 1/2,第三个框架中的页码为 2/2。我希望这很清楚。
答案1
bloodworks 给出了最简单的解决方案。但是,如果您希望准确保留标题页的格式,但又不包含页码信息,则可以footline
仅为该框架重新定义模板,如下所示:
\documentclass {beamer}
\mode<beamer>{\usetheme{Madrid}}
\title[Test Title]{Test}
\begin{document}
\bgroup
\makeatletter
\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\expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\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{} / \inserttotalframenumber\hspace*{2ex}
\hspace*{6ex}
\end{beamercolorbox}}%
\vskip0pt%
}
\makeatother
\begin{frame}
\titlepage
\end{frame}
\egroup
\setcounter{framenumber}{0}
\begin{frame}
\frametitle{First test frame}
\begin{itemize}
\item Item 1
\item item 2
\end{itemize}
\end{frame}
\begin{frame} More \end{frame}
\end{document}
代码通过在第一帧周围创建一个本地组,然后包含模板\bgroup / \endgroup
的副本,其中插入“帧数/总帧数”被注释掉并被适当数量的水平空间替换。 footline
beamerouterthemeinfolines.sty
如果这些数字之间没有“/”,您只需设置命令\insertframenumber
并\inserttotalframenumber
在此组中各插入一个空格即可。
与 bloodworks 讨论后,可能有人更愿意将上述内容打包成\mytitleframe
如下所示的宏。然后可以将这样的定义移至私有样式文件。
\documentclass{beamer}
\mode<beamer>{\usetheme{Madrid}}
\makeatletter
\def\mytitleframe{\bgroup
\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\expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\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{} / \inserttotalframenumber\hspace*{2ex}
\hspace*{6ex}
\end{beamercolorbox}}%
\vskip0pt%
}
\maketitle
\egroup
\addtocounter{framenumber}{-1}
}
\makeatother
\title[Test Title]{Test}
\begin{document}
\mytitleframe
\begin{frame}
\frametitle{First test frame}
\begin{itemize}
\item Item 1
\item item 2
\end{itemize}
\end{frame}
\begin{frame} More \end{frame}
\end{document}
答案2
以下是我的方法:
\begin{frame}[noframenumbering,plain]
\end{frame}
第一个参数noframenumbering
负责编号并plain
允许隐藏幻灯片的当前计数器。
希望这有帮助!
答案3
1:在我看来,最简单的方法是操作计数器 framenumber
。2:只需使用[plain]
选项。(在脚注中重复标题对我来说没有意义。)
\documentclass {beamer}
\usetheme{Madrid}
\title[Test Title]{Test}
\let\otp\titlepage
\renewcommand{\titlepage}{\otp\addtocounter{framenumber}{-1}}
\begin{document}
\begin{frame}[plain]
\titlepage
\end{frame}
\frame{
\frametitle{First test frame}
\begin{itemize}
\item Item 1
\item item 2
\end{itemize}
}
\frame{
\frametitle{Second}
}
\end{document}
答案4
我正在尝试将其他答案合并成一个更方便的版本。我发现它特别noframenumbering
有用;不幸的是,我无法在 beameruserguide 中找到它。
我做了一些改动。首先我重新定义(并使用)标准脚线,然后我添加了一个没有帧数的版本。这样做是为了消除帧数计数器变为两位数时的闪烁。日期现在居中,帧数设置为右侧大小为零的框。
原始版本\maketitle
基本上只是为了与其他类兼容。因此,我重新定义了它,使其包含使帧号消失所需的所有更改。必须在帧外调用它才能产生任何效果。
\documentclass {beamer}
\mode<beamer>{\usetheme{Madrid}}
\title[Test Title]{Title Test}
\author[n. a.]{N. A.}
\makeatletter
%% Define new footline and apply is as default (starred version)
\defbeamertemplate*{footline}{infoline-custom}{%
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
\usebeamerfont{author in head/foot}\insertshortauthor%
\expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\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,center]{date in head/foot}%
\usebeamerfont{date in head/foot}%
\makebox[.333333\paperwidth][c]{\insertshortdate{}}%
\makebox[0pt][r]{\insertframenumber{} / \inserttotalframenumber\hspace*{2ex}}%
\end{beamercolorbox}%
}%
\vskip0pt%
}
%% Define footline without framenumber (but not apply it)
\defbeamertemplate{footline}{infoline-custom-noframenumbering}{%
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
\usebeamerfont{author in head/foot}\insertshortauthor%
\expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\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,center]{date in head/foot}%
\usebeamerfont{date in head/foot}%
\makebox[.333333\paperwidth][c]{\insertshortdate{}}%
\end{beamercolorbox}%
}%
\vskip0pt%
}
%% Replace predefined \maketitle
\def\maketitle{%
\ifbeamer@inframe%
% Still works the same as before if issued within a frame
\titlepage%
\else%
% Create a frame filling title page
% Apply footline template without numbers
% Use no numbering for frame, grouped to keep local
\bgroup%
\setbeamertemplate{footline}[infoline-custom-noframenumbering]
\frame[noframenumbering]{\titlepage}%
\egroup%
\fi%
}
\makeatother
%% Generate filler so that slides don't look empty
\usepackage{blindtext}
\begin{document}
\maketitle
\frame{
\frametitle{Itemise test frame}
\blindlistlist[3]{itemize}[3]}
\frame{
\frametitle{Image test frame}
\includegraphics[width=0.4\linewidth]{example-image-a}}
\frame{
\frametitle{Texty test frame}
\blindtext}
\end{document}