Beamer 中每个部分的导航栏的自定义高度

Beamer 中每个部分的导航栏的自定义高度

有没有办法设置 Beamer 中每个部分的导航栏高度?我使用的是华沙主题,导航栏的高度由整个演示文稿中子部分的最大数量控制。

例如,我的第一部分(简介)只有两个小节(问题定义和研究目的),第二部分(研究案例)有七个小节(每个小节针对先前研究案例的每个主要主题)。其他部分各有两到三个小节。

截至目前,简介和其他部分的导航栏由七个小节控制,因此当我在简介或讨论时,我会有大量的空白空间。

有没有办法根据章节中实际的章节数来设置导航栏的高度?引言部分两个小节的高度为两行;案例研究部分的高度为七行,讨论部分的高度为三行,结论部分的高度为一行?

谢谢,

德鲁

PS 我发现只有关于在 Beamer 中重新定义部分的内容。但我不想隐藏导航栏“区域”部分中的其他部分。我希望这两个部分始终可见(结论目前未在导航栏中编入索引),但每个部分的高度基于其各自的子部分数量。

编辑:MWE

\documentclass[xcolor=dvipsnames, table]{beamer}

\beamertemplatenavigationsymbolsempty
\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage[dvipsnames]{xcolor}
\usepackage[compatibility=false]{caption}
\usepackage{appendixnumberbeamer}

\title[title]{title}
\author[authors]{authors}
\date[date]{date}
\institute{institute}

\usetheme{Warsaw}
\setbeamerfont{title}{size=\Huge}

\begin{document}

\begin{frame}[plain]
\maketitle
\end{frame}

\begin{frame}[plain]\frametitle{Introduction}

\centering
{\large Introduction}

Some photos.

\end{frame}

\section{Problem}

\subsection{Definition of a Problem}

\begin{frame}\frametitle{Problem 1}
    text
\end{frame}

\begin{frame}\frametitle{Problem 2}
    text
\end{frame}

\subsection{Purpose of the project}

\begin{frame}\frametitle{Project}
text
\end{frame}

\section{Study cases}

\subsection{Study case 1}

\begin{frame}\frametitle{title}
text
\end{frame}

\subsection{Study case 2}

\begin{frame}\frametitle{title}
text
\end{frame}

\subsection{Study case 3}

\begin{frame}\frametitle{title}
text
\end{frame}

\subsection{Study case 4}

\begin{frame}\frametitle{title}
text
\end{frame}

\subsection{Study case 5}

\begin{frame}\frametitle{title}
text
\end{frame}

\subsection{Study case 6}

\begin{frame}\frametitle{title}
text
\end{frame}

\subsection{Study case 7}

\begin{frame}\frametitle{title}
text
\end{frame}

\section{Discussion}

\subsection{Results}

\begin{frame}\frametitle{title}
text
\end{frame}

\subsection{Future prospective}

\begin{frame}\frametitle{title}
text
\end{frame}


\section{}\label{sec:conclusion}

\begin{frame}[plain]\frametitle{Conclusion}
    text
\end{frame}

\appendix

\section*{Appendix i}

\begin{frame}\frametitle{Supplementary material i}
    text
\end{frame}

\section*{Appendix ii}

\begin{frame}\frametitle{Supplementary material ii}
    text
\end{frame}

\section*{Appendix iii}

\begin{frame}\frametitle{Supplementary material iii}
 text
\end{frame}

\end{document}

答案1

您可以将标题重新定义如下:

\documentclass[xcolor=dvipsnames, table]{beamer}

\beamertemplatenavigationsymbolsempty
\usepackage[utf8]{inputenc}
\usepackage{multirow}
%\usepackage[dvipsnames]{xcolor}
\usepackage[compatibility=false]{caption}
\usepackage{appendixnumberbeamer}

\title[title]{title}
\author[authors]{authors}
\date[date]{date}
\institute{institute}

\usetheme{Warsaw}
\setbeamerfont{title}{size=\Huge}


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

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

% number of subsections per section %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{xcntperchap}
\RegisterCounters{section}{subsection}
\newcounter{totalsubsection}
\setcounter{totalsubsection}{0}




\newcounter{currentsub}
\setcounter{currentsub}{0}
\newcounter{totsection}
\AtBeginSection[]{%
    \setcounter{currentsub}{\ObtainTrackedValueExp[\thesection]{section}{subsection}}
    \recalc
}

\makeatletter
\setbeamertemplate{headline}{%
  \leavevmode%
  \@tempdimb=2.4375ex%
  \ifnum\thecurrentsub<\beamer@sectionmax%
    \multiply\@tempdimb by\beamer@sectionmax%
  \else%
    \multiply\@tempdimb by\thecurrentsub%
  \fi%
  \ifdim\@tempdimb>0pt%
    \advance\@tempdimb by 1.825ex%
    \begin{beamercolorbox}[wd=.5\paperwidth,ht=\@tempdimb]{section in head/foot}%
      \vbox to\@tempdimb{\vfil\insertsectionnavigation{.5\paperwidth}\vfil}%
    \end{beamercolorbox}%
    \begin{beamercolorbox}[wd=.5\paperwidth,ht=\@tempdimb]{subsection in head/foot}%
      \vbox to\@tempdimb{\vfil\insertsubsectionnavigation{.5\paperwidth}\vfil}%
    \end{beamercolorbox}%
  \fi%
}

\newcommand{\recalc}{\beamer@calculateheadfoot}
\makeatother


\begin{document}

\begin{frame}[plain]
\maketitle
\end{frame}

\begin{frame}[plain]\frametitle{Introduction}

\centering
{\large Introduction}

Some photos.

\end{frame}

\section{Problem}

\subsection{Definition of a Problem}

\begin{frame}\frametitle{Problem 1}
    text
\end{frame}

\begin{frame}\frametitle{Problem 2}
    text
\end{frame}

\subsection{Purpose of the project}

\begin{frame}\frametitle{Project}
text
\end{frame}

\section{Study cases}

\subsection{Study case 1}

\begin{frame}\frametitle{title}
text
\end{frame}

\subsection{Study case 2}

\begin{frame}\frametitle{title}
text
\end{frame}

\subsection{Study case 3}

\begin{frame}\frametitle{title}
text
\end{frame}

\subsection{Study case 4}

\begin{frame}\frametitle{title}
text
\end{frame}

\subsection{Study case 5}

\begin{frame}\frametitle{title}
text
\end{frame}

\subsection{Study case 6}

\begin{frame}\frametitle{title}
text
\end{frame}

\subsection{Study case 7}

\begin{frame}\frametitle{title}
text
\end{frame}

\section{Discussion}

\subsection{Results}

\begin{frame}\frametitle{title}
text
\end{frame}

\subsection{Future prospective}

\begin{frame}\frametitle{title}
text
\end{frame}


\section{}\label{sec:conclusion}

\begin{frame}[plain]\frametitle{Conclusion}
    text
\end{frame}

\appendix

\section*{Appendix i}

\begin{frame}\frametitle{Supplementary material i}
    text
\end{frame}

\section*{Appendix ii}

\begin{frame}\frametitle{Supplementary material ii}
    text
\end{frame}

\section*{Appendix iii}

\begin{frame}\frametitle{Supplementary material iii}
 text
\end{frame}

\end{document}

在此处输入图片描述

相关内容