部分演示内容使用单独的 Beamer 导航栏

部分演示内容使用单独的 Beamer 导航栏

我注意到这个例子引言和结论部分有自己的导航栏,以便它们的条目不会在整个演示文稿中占用主(正文)导航栏中的两行额外内容。

我知道我可以通过在部分命令中指定一个空白的简称来省略它们\section[]{My Section Name],但是当您到达那些部分时,例如从导航栏中丢弃的结论,您只会显示最后一部分的导航栏而没有突出显示。

我更愿意按照链接示例中所示的方式去做,这样结论部分就有自己的导航栏,上面只显示“结论”。

这是通过parts功能实现的吗?如果是,如何实现?还有更好的方法吗?不幸的是,上面的示例不包含代码。

我正在探索零件的功能,但还没有完全搞定。以下是我目前所做的大致想法:

\part{Introduction}
\section{Introduction}
(some intro frames)
\part{Body}
(some body sections and frames)
\part{Conclusion}
\section{Conclusion}
(some conclusion frames)

但是,我的 PDF 书签列表现在将“简介”、“正文”和“结论”部分显示为顶级部分,这并不是我想要的。我实际上只是想拆分导航栏,使其与“简介”、“正文”和“结论”分开,而不在任何地方提及这些部分的实际名称。所以,我觉得我在这里走错了路。

答案1

是的,您可以使用\part并重新定义\beamer@part文件中实现的功能beamerbasesection.sty来抑制部分书签;下面的示例显示了必要的修改(基本上注释掉一行):

\documentclass{beamer}
\usetheme{Warsaw}

\makeatletter
\long\def\beamer@part[#1]#2{%
  \beamer@savemode%
  \mode<all>%
  \ifbeamer@inlecture%
    \refstepcounter{part}%
    \def\beamer@partname{#2}%
    \def\beamer@partnameshort{#1}%
    \addtocontents{nav}{\protect\headcommand{\protect\partentry{#2}{\the\c@part}}}%
    \xdef\partlink{{Navigation\the\c@page}{\noexpand\beamer@partname}}%
    \xdef\partlinkshort{{Navigation\the\c@page}{\noexpand\beamer@partnameshort}}%
    \beamer@tempcount=\c@page\advance\beamer@tempcount by -1%
    \addtocontents{nav}{\protect\headcommand{%
        \protect\beamer@partpages{\the\beamer@partstartpage}{\the\beamer@tempcount}}}%
    \addtocontents{nav}{\protect\headcommand{%
        \protect\beamer@sectionpages{\the\beamer@sectionstartpage}{\the\beamer@tempcount}}}%
    \addtocontents{nav}{\protect\headcommand{%
        \protect\beamer@subsectionpages{\the\beamer@subsectionstartpage}{\the\beamer@tempcount}}}%
    \beamer@partstartpage=\c@page%
    \beamer@sectionstartpage=\c@page%
    \beamer@subsectionstartpage=\c@page%
    \setcounter{subsection}{0}%
    \def\insertsection{}%
    \def\insertsubsection{}%
    \def\insertsubsubsection{}%
    \def\insertsectionhead{}%
    \def\insertsubsectionhead{}%
    \def\insertsubsubsectionhead{}%
    \def\lastsubsection{}%
    \def\insertpart{\expandafter\hyperlink\partlink}%
    %\Hy@writebookmark{\the\c@section}{#1}{Outline\the\c@part}{1}{toc}%
    \hyper@anchorstart{Outline\the\c@part}\hyper@anchorend%
    \beamer@atbeginpart%
  \fi%
  \beamer@resumemode}%
\makeatother

\begin{document}

\part{Introduction}
\section{Outline}
\begin{frame}
test
\end{frame}

\part{Main}
\section{Models}
\begin{frame}
test
\end{frame}

\section{Power of the model}
\begin{frame}
test
\end{frame}

\section{Limitations of the model}
\begin{frame}
test
\end{frame}

\part{Conclussion}
\section{Appendix}
\begin{frame}
test
\end{frame}

\end{document}

可以使用更简洁的方式进行上述修改补丁要修补的软件包\beamer@part

\documentclass{beamer}
\usetheme{Warsaw}
\usepackage{xpatch}

\makeatletter
\xpatchcmd{\beamer@part}{\Hy@writebookmark{\the\c@section}{#1}{Outline\the\c@part}{1}{toc}}{}{}{}
\makeatother

\begin{document}

\part{Introduction}
\section{Outline}
\begin{frame}
test
\end{frame}

\part{Main}
\section{Models}
\begin{frame}
test
\end{frame}

\section{Power of the model}
\begin{frame}
test
\end{frame}

\section{Limitations of the model}
\begin{frame}
test
\end{frame}

\part{Conclussion}
\section{Appendix}
\begin{frame}
test
\end{frame}

\end{document}

以下是每个部分第一帧的一些图像:

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

以及 Adob​​e Reader 显示的书签;如您所见,没有部分书签:

在此处输入图片描述

相关内容