我想在我的自定义 beamer 模板中更改以下小内容。在我的脚注中,我的演示文稿的标题使用 打印\insertshorttitle
,就像在许多标准模板中一样。通常,此标题的超链接链接到演示文稿的第一张幻灯片,我希望此标题的超链接链接到以下内容:
链接到目录(通常在第 2 页)
如果在演示文稿的附录(或第 N 部分)中链接到附录(第 N 部分)的目录(第 X 页),而不是第一个目录(第 2 页)
据我所知,这在主题文件级别上是不可定制的,并且我对投影仪内部工作原理的了解很少。
这是否可以通过一种简单的方式重新定义原始链接目标来实现?(也许链接总是转到带有 [label=start] 或类似内容的页面,所以我可以给几张幻灯片赋予相同的标签(如果可能的话)
或者也许通过链接到以某种方式“标记”(由我)的具有最大页码的页面
更新:(之前忘记了这一点)
- 如果已经在目录中(常规或附录),则链接到其他(第 N+1 个)目录
我在这里尝试做的是,在演示后轻松切换问题内容。我试图避免滚动浏览大量幻灯片,这通常伴随着演示的提问部分。
在我的想象中,这样的设置将以以下方式工作:无论我在演示文稿中的哪个位置,单击一次即可进入目录。从那里,单击一次即可进入我想要的(子)部分,或另一个目录(我通常只有两个目录,即普通目录和附录)。一旦我解释了该幻灯片,我就可以再次返回。
感谢@marco 的评论,到目前为止我能够做以下事情:
一些相关的命令是:
\def\hyperlinkpresentationstart{\hyperlink{Navigation1}}
beamerbasenavigation.sty
它在“这是除一个链接之外的所有链接的目标”中定义\insertshorttitle
。我将其复制并粘贴到我的文档中,并将其更改为 2 而不是 1,这有效并且已经解决了我的第一点。
\hyperlinkpresentationend{...}
也在此处定义。据我所知,这链接到附录之前的最后一帧。此目标仅在演示文稿的第一帧中使用,并且由于这通常是普通帧,因此实际上从未使用过。
\hyperlinkappendixstart{...}
\hyperlinkappendixend{...}
也在那里并且做了你所期望的事情。
我现在遇到的问题是beamerbasetitle.sty
\newcommand\insertshorttitle[1][]{%
\beamer@setupshort{#1}%
\let\thanks=\@gobble%
\ifnum\c@page=1%
\hyperlinkpresentationend{\beamer@insertshort{\beamer@shorttitle}}%
\else%
\hyperlinkpresentationstart{\beamer@insertshort{\beamer@shorttitle}}%
\fi}
在这里我想做以下事情:
if pagenumber== 1 OR (>2 AND <=appendix_start_pagenumber) {\hyperlinkpresentationstart}%since I changed the target to 2 (ToC always on page 2)
else if pagenumber==2 OR >appendix_start_pagenumber {\hyperlinkappendixstart}%takes care of my second point
但到目前为止,我还无法在 TeX 中编写有效的 else-if 语句(或复合条件),并且无法使页码正常工作(除非直接输入数字......)
我也不确定如何将其集成到我的文档中,因为简单地复制并粘贴它(并将其更改为\renewcommand...
)似乎不起作用
答案1
它必须在part
-level 上吗?使用section
s,以下代码将 链接shorttitle
到 的开头section
。
待办事项:链接幻灯片toc
在第一部分之前
\documentclass{beamer}
\let\Tiny=\tiny% http://tex.stackexchange.com/q/58087/5764
\makeatletter
\setbeamertemplate{footline}{
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
\usebeamerfont{title in head/foot} \hyperlinksectionstart{\insertshorttitle}
\end{beamercolorbox}%
}%
\vskip0pt%
}
\makeatother
\title[shorttest]{test}
\author{Einstein}
\AtBeginSection[]{%
\begin{frame}
\tableofcontents[sectionstyle=show/hide,subsectionstyle=hide/show/hide]
\end{frame}
}
\begin{document}
\begin{frame}
\maketitle
\end{frame}
\begin{frame}
\tableofcontents
\end{frame}
\section{sec1}
\begin{frame}
test
\end{frame}
\section{sec2}
\begin{frame}
test
\end{frame}
\end{document}
答案2
所以我解决了这个问题,尽管没有我想要的那么漂亮。我从中取出几行beamerbasenavigation.sty
并beamerbasetitle.sty
修改它们,如下所示,然后将它们粘贴到我的文档中,现在它的表现就像我想要的那样。
\def\hyperlinkpresentationstart{\hyperlink{Navigation2}}%ToC always on page 2
\makeatletter
\renewcommand\insertshorttitle[1][]{%
\beamer@setupshort{#1}%
\let\thanks=\@gobble%
\ifnum\c@page<3%page 1 has no links, since it's a [plain]-frame, ToC links to appendix
\hyperlinkappendixstart{\beamer@insertshort{\beamer@shorttitle}}%
\else%
\ifnum\c@page>\beamer@startpageofappendix%pages in appendix link to appendix-ToC
\hyperlinkappendixstart{\beamer@insertshort{\beamer@shorttitle}}%
\else%all other pages link to ToC
\hyperlinkpresentationstart{\beamer@insertshort{\beamer@shorttitle}}%
\fi%
\fi}
\makeatother