Ausgehend von der Beantwortung dieser Frage durch @Henri hat sich ein weiteres Problem ergeben. Open in Online-Editor
\documentclass{beamer} \usetheme{AnnArbor} \makeatletter \def\beamer@sectionintoc#1#2#3#4#5{% \ifnum\c@tocdepth>0% \ifnum#4=\beamer@showpartnumber% { \beamer@saveanother% \gdef\beamer@todo{}% \beamer@slideinframe=#1\relax% \expandafter\only\beamer@tocsections{\gdef\beamer@todo{% \beamer@tempcount=#5\relax% \advance\beamer@tempcount by\beamer@sectionadjust% \ifnum\beamer@tempcount>0 \edef\inserttocsectionnumber{\the\beamer@tempcount}% \else \def\inserttocsectionnumber{}% \fi% \def\inserttocsection{\hyperlink{Navigation#3}{#2}}% \beamer@tocifnothide{\ifnum\c@section=#1\beamer@toc@cs\else\beamer@toc@os\fi}% { \ifbeamer@pausesections\pause\fi% \usebeamertemplate{toc section itemsep}% {% \hbox{\vbox{% \def\beamer@breakhere{\\}% \beamer@tocact{\ifnum\c@section=#1\beamer@toc@cs\else\beamer@toc@os\fi}{section in toc}}}% \par% }% }% } }% \beamer@restoreanother% } \beamer@todo% \fi\fi% } \long\def\beamer@subsectionintoc#1#2#3#4#5#6{% \ifnum\c@tocdepth>1% \ifnum#5=\beamer@showpartnumber% {% \beamer@saveanother% \gdef\beamer@todo{}% \beamer@slideinframe=#1\relax% \expandafter\only\beamer@tocsections{\gdef\beamer@todo{% \ifbeamer@pausesubsections\pause\fi% \beamer@tempcount=#6% \advance\beamer@tempcount by\beamer@sectionadjust% \edef\inserttocsectionnumber{\the\beamer@tempcount}% \def\inserttocsubsectionnumber{#2}% \def\inserttocsubsection{\hyperlink{Navigation#4}{#3}}% \beamer@tocifnothide{\ifnum\c@section=#1\beamer@toc@css\else\beamer@toc@oss\fi}% {% \usebeamertemplate{toc subsection itemsep}% \def\beamer@breakhere{\\}% \beamer@tocact{\ifnum\c@section=#1\ifnum\c@subsection=#2\beamer@toc@css\else\beamer@toc@oss\fi\else\beamer@toc@ooss\fi} {subsection in toc}% }% }}% \beamer@restoreanother% } \beamer@todo% \fi\fi% } \long\def\beamer@subsubsectionintoc#1#2#3#4#5#6#7{% \ifnum\c@tocdepth>2% \ifnum#6=\beamer@showpartnumber% { \beamer@saveanother% \gdef\beamer@todo{}% \beamer@slideinframe=#1\relax% \expandafter\only\beamer@tocsections{\gdef\beamer@todo{% \ifbeamer@pausesubsections\pause\fi% \beamer@tempcount=#7% \advance\beamer@tempcount by\beamer@sectionadjust% \edef\inserttocsectionnumber{\the\beamer@tempcount}% \def\inserttocsubsectionnumber{#2}% \def\inserttocsubsubsectionnumber{#3}% \def\inserttocsubsubsection{\hyperlink{Navigation#5}{#4}}% \beamer@tocifnothide{\ifnum\c@section=#1\beamer@toc@csss\else\beamer@toc@osss\fi}% {% \usebeamertemplate{toc subsubsection itemsep}% \def\beamer@breakhere{\\}% \beamer@tocact{\ifnum\c@section=#1\ifnum\c@subsection=#2\ifnum\c@subsubsection=#3\beamer@toc@csss\else\beamer@toc@osss\fi\else\beamer@toc@oosss\fi\else\beamer@toc@ooosss\fi} {subsubsection in toc}% }% }}% \beamer@restoreanother% } \beamer@todo% \fi\fi% } \makeatother \setbeamertemplate{toc section itemsep}{\vskip1.5\baselineskip} \setbeamertemplate{toc subsection itemsep}{\vskip1\baselineskip} \setbeamertemplate{toc subsubsection itemsep}{\vskip0.5\baselineskip} \begin{document} \begin{frame} \tableofcontents[hideallsubsections] \end{frame} \section{A} \begin{frame} \tableofcontents[hideothersubsections,sectionstyle=hide] \end{frame} \subsection{A1} \begin{frame} \tableofcontents[subsectionstyle=show/shaded/hide,sectionstyle=hide] \end{frame} \subsubsection{A1a} \begin{frame} \end{frame} \subsubsection{A1b} \begin{frame} \end{frame} \subsection{A2} \begin{frame} \end{frame} \subsection{A3} \begin{frame} \end{frame} \section{B} \begin{frame} \end{frame} \end{document} Die Lösung von @Henri funktioniert gut, allerdings tritt nun bei Folie 2 in obigem Beispiel ein Abstand zwischen der Ich vermute, man muss in dem von Henri veränderten Code eine Abfrage einbauen, ob die gefragt 12 Mär '16, 13:20 tom75 |
Es ist tatsächlich richtig, dass der Check gefehlt hat. Ich habe ihn eingebaut und die Stelle markiert. Open in Online-Editor
\documentclass{beamer} \usetheme{AnnArbor} \makeatletter \def\beamer@sectionintoc#1#2#3#4#5{% \ifnum\c@tocdepth>0% \ifnum#4=\beamer@showpartnumber% { \beamer@saveanother% \gdef\beamer@todo{}% \beamer@slideinframe=#1\relax% \expandafter\only\beamer@tocsections{\gdef\beamer@todo{% \beamer@tempcount=#5\relax% \advance\beamer@tempcount by\beamer@sectionadjust% \ifnum\beamer@tempcount>0 \edef\inserttocsectionnumber{\the\beamer@tempcount}% \else \def\inserttocsectionnumber{}% \fi% \def\inserttocsection{\hyperlink{Navigation#3}{#2}}% \beamer@tocifnothide{\ifnum\c@section=#1\beamer@toc@cs\else\beamer@toc@os\fi}% { \ifbeamer@pausesections\pause\fi% \usebeamertemplate{toc section itemsep}% {% \hbox{\vbox{% \def\beamer@breakhere{\\}% \beamer@tocact{\ifnum\c@section=#1\beamer@toc@cs\else\beamer@toc@os\fi}{section in toc}}}% \par% }% }% } }% \beamer@restoreanother% } \beamer@todo% \fi\fi% } \long\def\beamer@subsectionintoc#1#2#3#4#5#6{% \ifnum\c@tocdepth>1% \ifnum#5=\beamer@showpartnumber% {% \beamer@saveanother% \gdef\beamer@todo{}% \beamer@slideinframe=#1\relax% \expandafter\only\beamer@tocsections{\gdef\beamer@todo{% \ifbeamer@pausesubsections\pause\fi% \beamer@tempcount=#6% \advance\beamer@tempcount by\beamer@sectionadjust% \edef\inserttocsectionnumber{\the\beamer@tempcount}% \def\inserttocsubsectionnumber{#2}% \def\inserttocsubsection{\hyperlink{Navigation#4}{#3}}% \beamer@tocifnothide{\ifnum\c@section=#1\beamer@toc@css\else\beamer@toc@oss\fi}% {% \usebeamertemplate{toc subsection itemsep}% \def\beamer@breakhere{\\}% \beamer@tocact{\ifnum\c@section=#1\ifnum\c@subsection=#2\beamer@toc@css\else\beamer@toc@oss\fi\else\beamer@toc@ooss\fi} {subsection in toc}% }% }}% \beamer@restoreanother% } \beamer@todo% \fi\fi% } \long\def\beamer@subsubsectionintoc#1#2#3#4#5#6#7{% \ifnum\c@tocdepth>2% \ifnum#6=\beamer@showpartnumber% { \beamer@saveanother% \gdef\beamer@todo{}% \beamer@slideinframe=#1\relax% \expandafter\only\beamer@tocsections{\gdef\beamer@todo{% \ifbeamer@pausesubsections\pause\fi% \beamer@tempcount=#7% \advance\beamer@tempcount by\beamer@sectionadjust% \edef\inserttocsectionnumber{\the\beamer@tempcount}% \def\inserttocsubsectionnumber{#2}% \def\inserttocsubsubsectionnumber{#3}% \def\inserttocsubsubsection{\hyperlink{Navigation#5}{#4}}% \beamer@tocifnothide{\ifnum\c@section=#1\beamer@toc@csss\else\beamer@toc@osss\fi}% {% % <<<<< \beamer@tocact{\ifnum\c@section=#1\ifnum\c@subsection=#2\ifnum\c@subsubsection=#3\beamer@toc@csss\else\beamer@toc@osss\fi\else\beamer@toc@oosss\fi\else\beamer@toc@ooosss\fi} {toc subsubsection itemsep}% % ===== %\usebeamertemplate{toc subsubsection itemsep} % >>>>> \def\beamer@breakhere{\\}% \beamer@tocact{\ifnum\c@section=#1\ifnum\c@subsection=#2\ifnum\c@subsubsection=#3\beamer@toc@csss\else\beamer@toc@osss\fi\else\beamer@toc@oosss\fi\else\beamer@toc@ooosss\fi} {subsubsection in toc}% }% }}% \beamer@restoreanother% } \beamer@todo% \fi\fi% } \makeatother \setbeamertemplate{toc section itemsep}{\vskip1.5\baselineskip} \setbeamertemplate{toc subsection itemsep}{\vskip1\baselineskip} \setbeamertemplate{toc subsubsection itemsep}{\vskip0.5\baselineskip} \begin{document} \begin{frame} \tableofcontents[hideallsubsections] \end{frame} \section{A} \begin{frame} \tableofcontents[hideothersubsections,sectionstyle=hide] \end{frame} \subsection{A1} \begin{frame} \tableofcontents[subsectionstyle=show/shaded/hide,sectionstyle=hide] \end{frame} \subsubsection{A1a} \begin{frame} \end{frame} \subsubsection{A1b} \begin{frame} \end{frame} \subsection{A2} \begin{frame} \end{frame} \subsection{A3} \begin{frame} \end{frame} \section{B} \begin{frame} \end{frame} \end{document} beantwortet 09 Jul '16, 11:18 Henri @Henri Es gibt leider immer noch Verschiebungen, wenn ich auf einen späteren Folie den
(13 Sep '16, 15:34)
tom75
|