1

I want to change the following small thing in my custom beamer template. In my footline the title of my presentation is printed using \insertshorttitle, like in many standard templates. Normally the hyperlink of this title links to the first slide of the presentation I want the hyperlink of this title to link to the following:

  • Link to the table of contents (normally on page 2)

  • If in the appendix (or in Part N) of the presentation link to the table of contents of the appendix (of Part N) (on page X), not the first table of contents (on page 2)

This is not costumizable on the level of theme files as far as I can see, and my knowledge of the inner workings of beamer are scarce.

Can this maybe be accomplished in a simple way redefining the original link target? (maybe the link always goes to a page with [label=start] or something, and so I can just give the same label to several slides (if that's even possible)

Or maybe by linking to the page with the largest pagenumber that is somehow "marked" (by me)

Update: (Forgot this point before)

  • If already in the table of contents (regular or appendix) link to the other (to the N+1th) table of contents

What I'm trying to do here, is easy switching between stuff for the questions after the presentation. I'm trying to avoid the scrolling through lots of slides, that normally accompanies the question part of a presentation.

In my imagination with a setup like this, it would work the following way: Wherever in the presentation I am, one click brings me to the table of contents. From there, one click brings me to the (sub)section I want, or to another table of contents (I normally only ever have the two, normal and appendix. And once I explained that slide, I can return again.

What I was able to do so far thanks to the comment of @marco is the following:

Some relevant commands are:

\def\hyperlinkpresentationstart{\hyperlink{Navigation1}}

which is defined in beamerbasenavigation.sty This is the target of all but one \insertshorttitle links. I copy and pasted this into my document and changed it to 2 instead of 1, which works and takes care of my first point already.

\hyperlinkpresentationend{...}

is defined there as well. From what I understand this links to the last frame before the appendix. This target is only used in the first frame of the presentation, and since that is normally a plain frame, it is in effect never used.

\hyperlinkappendixstart{...}
\hyperlinkappendixend{...}

Are there as well and do what you would expect.

What I'm having problems with now is the following part from 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}

Here I want to do the following:

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

Yet I am unable to write working else-if statement (or compound conditions) in TeX so far, and I cannot get the page numbers to work properly (short of putting the numbers in directly...)

I'm also not sure how to integrate this into my document, since simply copy and pasting it (and changing it to \renewcommand...) does not seem to work

  • 1
    I think something like this is possible. The link of \insertshorttitle is done by \hyperlinkpresentationend which is equal to \hyperlink{Navigation\the\beamer@tempcount}. With a clever modification you can solve your issue. However without a minimal working example it's difficult to test. – Marco Daniel Aug 18 '14 at 17:33
  • Thanks for your comment @Marco. However I'm still stuck on the details, and don't quite know how to produce a MWE, since I somehow am unable to paste everything into one file and still have it work – Bernhard Aug 19 '14 at 12:01
1

Does it have to be on the part-level? With sections the following code links the shorttitle to the begin of the section.

ToDo: link the the toc when slide is before the first section

\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}
  • This is not quite what i am looking for, I updated my question to make the goal more clear – Bernhard Aug 19 '14 at 10:18
0

So I solved it, albeit not as beautiful as I would want. I took the lines from beamerbasenavigation.sty and beamerbasetitle.sty modified them as shown below,a nd pasted them into my document, which now behaves like I want.

\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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.