beamer parttoc с кликабельными ссылками

beamer parttoc с кликабельными ссылками

Я пытаюсь создать оглавление частей с кликабельными ссылками. Я нашелэтот, но к сожалению он не генерирует гиперссылки. Я нашел следующее предложение, которое генерирует кликабельные ссылки, но все эти ссылки ссылаются на сам parttoc.

\documentclass{beamer}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

\newcommand{\dummyFrame}[1][1]{\begin{frame}{Test}\blindtext[#1]\end{frame}}
\usepackage{hyperref}


% for the list of parts
\makeatletter
\AtBeginPart{%
    \addtocontents{toc}{%
        \protect\beamer@partintoc{\the\c@part}{\beamer@partnameshort}{\the\c@page}%
    }%
    %    \setcounter{framenumber}{0}
    \frame{\partpage}
}
%% number, shortname, page.
\providecommand\beamer@partintoc[3]{%
    \ifnum\c@tocdepth=-1\relax
    % requesting onlyparts.
    \makebox[6em]{Einheit #1:} \textcolor{green!30!blue}{\hyperlink{#2}{#2}}
    \par
    \fi
}
\define@key{beamertoc}{onlyparts}[]{%
    \c@tocdepth=-1\relax
}
\makeatother%




\begin{document}
    \begin{frame}{Inhaltsübersicht}
        \tableofcontents[onlyparts]
    \end{frame}

\part{MyPart One}
    \dummyFrame
    
\part{MyPart Two}
    \dummyFrame
    \dummyFrame
    
\part{MyPart Three}
    \dummyFrame
    \dummyFrame
    
\end{document}

Как сделать так, чтобы эти ссылки указывали на нужный фрейм? Заранее спасибо за любые предложения

решение1

Вы можете присвоить метки рамкам деталей, которые затем можно использовать в качестве целевых ссылок:

\documentclass{beamer}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

\newcommand{\dummyFrame}[1][1]{\begin{frame}{Test}\blindtext[#1]\end{frame}}
\usepackage{hyperref}


% for the list of parts
\makeatletter
\AtBeginPart{%
    \addtocontents{toc}{%
        \protect\beamer@partintoc{\the\c@part}{\hyperlink{part-\thepart}{\beamer@partnameshort}}{\the\c@page}%
    }%
    %    \setcounter{framenumber}{0}
    \frame[label=part-\thepart]{\partpage}
}
%% number, shortname, page.
\providecommand\beamer@partintoc[3]{%
    \ifnum\c@tocdepth=-1\relax
    % requesting onlyparts.
    \makebox[6em]{Einheit #1:} \textcolor{green!30!blue}{#2}
    \par
    \fi
}
\define@key{beamertoc}{onlyparts}[]{%
    \c@tocdepth=-1\relax
}
\makeatother%


\begin{document}
    \begin{frame}{Inhaltsübersicht}
        \tableofcontents[onlyparts]
    \end{frame}

\part{MyPart One}
    \dummyFrame
    
\part{MyPart Two}
    \dummyFrame
    \dummyFrame
    
\part{MyPart Three}
    \dummyFrame
    \dummyFrame
    
\end{document}

Связанный контент