Beamer:根据章节/小节/小子节的不同,标题也不同

Beamer:根据章节/小节/小子节的不同,标题也不同

我知道这个标题有点重复,但到目前为止我还没有找到任何解决方案。

我目前正在创建自己的 beamer 模板。它看起来很基础,但我希望它能按如下方式工作:当我创建一个部分时,幻灯片会在左侧看到其标题,并在其上写上部分标题(及其编号)。然后,如果我创建一个子部分,标题会发生变化,因此子部分的名称(和编号)会显示在与部分标题相同的高度,但在左侧(我想会有某个\hfill地方)。然后,仅在小节中,我想在第一个栏上方的另一个栏中添加它的名称和编号。

现在,我检查了多个页面,其中有一个几乎解决了我的问题:根据部分和小节环境在框架中显示投影仪标题...但差不多了。关键是我不完全理解代码,所以定制它来实现我的目标变得非常困难。

这是我尝试使其工作的实际代码:

\usepackage{environ,substr} 
\newif\ifinsertsection 
\newif\ifinsertsubsection
\newif\ifinsertsubsubsection

\setbeamertemplate{headline}{
    \ifinsertsection
        \leavevmode
        \begin{beamercolorbox}[wd=\paperwidth,ht=8ex]{sec_subsec}
        \raggedright
        \hspace*{2em}
        {\color{main_bg}{\large\thesection.~\insertsection}}
        \vspace{0.15cm}
        \end{beamercolorbox}
        \fi
    \ifinsertsubsection
        \leavevmode
        \begin{beamercolorbox}[wd=\paperwidth,ht=8ex]{sec_subsec}
        \raggedright % justification à droite
        \hspace*{2em}% marge à gauche du titre dans le headline
        {\color{main_bg}{\large\thesection.~\insertsection
        \hfill %justification à gauche
        \small\thesection.\thesubsection.~\insertsubsection}}
        \vspace{0.15cm}%
        \end{beamercolorbox}
        \fi
    \ifinsertsubsubsection
        \leavevmode
        \begin{beamercolorbox}[wd=\paperwidth,ht=5ex]{subsubsec}
        \raggedright
        \hspace*{4em} 
        {\color{main_bg}{\small\thesection.\thesubsection.\thesubsubsection.~\insertsubsubsection}}
        \vspace{0.08cm}
        \end{beamercolorbox}    
        \fi
        \vspace{0.5cm}
}

\NewEnviron{beamersection}[2][]{%
  \IfSubStringInString{\detokenize{\subsubsection}}{\detokenize\expandafter{\BODY}}{\insertsubsubsectiontrue}{}
    \insertsubsectiontrue   
  \if\relax\detokenize{#2}\relax
    \section{#2}
  \else
    \section[#1]{#2}
  \fi
  \par\BODY
}

\begin{document}
\begin{beamersection}{Section 1}
\frame{
    You are in section 1
}
\subsection{Subsection 1}
\frame{
    You are in section 1, subsection 1
}
\subsubsection{Subsubsection 1}
\frame{
    You are in subsubsection 1
}
\subsection{Subsection 2}
\frame{
    You are in section 1, subsection 2
}
\end{beamersection}
\end{document}

幻灯片的实际样子如下: 创建部分后

在这里我希望右上角的 1.0. 和整个灰色区域消失。然后在第 1 部分中创建一个子部分

在第 1 部分中创建子部分后

和之前一样,我希望灰色条消失。然后,如果我创建一个子部分, 创建子部分后

当然,我希望它能适用于我需要的尽可能多的部分/子部分/子子部分。提前致谢,我很抱歉文字太长,但我相信它至少解释得很好。

相关内容