Заголовки в Beamer

Заголовки в Beamer

Я делаю презентацию в Варшаве на тему Beamer со следующей структурой заголовка:

\setbeamertemplate{headline}{%
\leavevmode%
  \hbox{%
    \begin{beamercolorbox}[wd=\paperwidth,ht=2.5ex,dp=1.125ex]{palette quaternary}%
    \insertsectionnavigationhorizontal{\paperwidth}{}{\hskip0pt plus1filll}
    \end{beamercolorbox}%
  }
}

Как отобразить только три раздела или так, предыдущий-текущий-после разделов, с выделением текущего раздела? Так как у меня большое количество разделов ~10, все они не могут быть отображены в заголовке. Пожалуйста, предложите.

решение1

\documentclass{beamer}

\usetheme{Warsaw}

\AtBeginSection[]{\label{sec:\thesection}}

\usepackage{totcount}
\newcounter{totalsection}
\regtotcounter{totalsection}

\AtBeginDocument{%
  \pretocmd{\section}{\refstepcounter{totalsection}}{}{}%
}%

\newcounter{start}
\newcounter{stop}

\usepackage{pgffor}

\setbeamercolor{section in head/foot}{fg=white}
\setbeamercolor{section in head/foot shaded}{fg=white!60!bg}

\setbeamertemplate{headline}{%
\leavevmode%
  \hbox{%
    \begin{beamercolorbox}[wd=\paperwidth,ht=2.5ex,dp=1.125ex]{palette quaternary}%
        \ifnum\value{section}>0%
            \quad
            \setcounter{start}{\value{section}}
                \setcounter{stop}{\value{section}}
                \ifnum\value{section}>1
                    \addtocounter{start}{-1}
                \fi
                \ifnum\value{section}<\totvalue{totalsection}
                    \addtocounter{stop}{1}
                \fi     
                \foreach \i in {\thestart,...,\thestop}{%
                    \ifnum\i=\value{section}
                        \usebeamercolor[fg]{section in head/foot}
                    \else   
                        \usebeamercolor[fg]{section in head/foot shaded}
                    \fi
                    \hfill\hyperlink{sec:\i}{\nameref{sec:\i}}
                }
                \hfill\quad
            \fi
    \end{beamercolorbox}%
  }
}



\begin{document}

\section{test1}\begin{frame}abc\end{frame}  
\section{test2}\begin{frame}abc\end{frame}  
\section{test3}\begin{frame}abc\end{frame}  
\section{test4}\begin{frame}abc\end{frame}  
\section{test5}\begin{frame}abc\end{frame}  
\section{test6}\begin{frame}abc\end{frame}  
\section{test7}\begin{frame}abc\end{frame}  
\section{test8}\begin{frame}abc\end{frame}  
\section{test9}\begin{frame}abc\end{frame}  
\section{test10}\begin{frame}abc\end{frame} 
\section{test11}\begin{frame}abc\end{frame}     

\end{document}

введите описание изображения здесь

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