如何在投影仪框架中插入带有编号的章节标题

如何在投影仪框架中插入带有编号的章节标题

我想在每个 beamer 框架(或其中某些框架)中自动插入带有其编号的章节标题。我们该如何实现?

答案1

\documentclass{beamer}

\setbeamertemplate{frametitle}{\thesection.~\insertsection~\insertframetitle}

\makeatletter
\CheckCommand*\beamer@checkframetitle{\@ifnextchar\bgroup\beamer@inlineframetitle{}}
\renewcommand*\beamer@checkframetitle{\global\let\beamer@frametitle\relax\@ifnextchar\bgroup\beamer@inlineframetitle{}}
\makeatother

\begin{document}

\section{section one} 
\begin{frame}
blub
\end{frame} 

\section{section two} 
\begin{frame}
blub
\end{frame}

\end{document}

在此处输入图片描述

答案2

在 Latex beamer 文档类中,框架的框架标题(和副标题)定义在beamerouterthemedefault

要覆盖定义,您可以将定义复制到 Latex 文件中并将其括在\makeatletter和 中\makeatother

例如,要在标题前添加章节编号,请更改以下行并\thesection.~\insertsection:~在之前添加\insertframetitle

\strut\thesection.~\insertsection:~\insertframetitle\strut\par%

完整示例:

\documentclass{beamer}

\usepackage[utf8]{inputenc}
\usetheme{default}

\makeatletter
\defbeamertemplate*{frametitle}{customized}[1][left]
{%
  \ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}%
  \@tempdima=\textwidth%
  \advance\@tempdima by\beamer@leftmargin%
  \advance\@tempdima by\beamer@rightmargin%
  \begin{beamercolorbox}[sep=0.3cm,#1,wd=\the\@tempdima]{frametitle}
    \usebeamerfont{frametitle}%
    \vbox{}\vskip-1ex%
    \if@tempswa\else\csname beamer@fte#1\endcsname\fi%
    % The following line was modified to insert
    % section number (\thesection)
    % and section title (\insertsection).
    \strut\thesection.~\insertsection:~\insertframetitle\strut\par%
    {%
      \ifx\insertframesubtitle\@empty%
      \else%
      {\usebeamerfont{framesubtitle}\usebeamercolor[fg]%
         {framesubtitle}\insertframesubtitle\strut\par}%
      \fi
    }%
    \vskip-1ex%
    \if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here...
  \end{beamercolorbox}%
}
\makeatother

\begin{document}

\section{Section Title}

\begin{frame}{Frame Title}
Some text.
\end{frame}


\end{document}

结果:

带有章节编号和标题的 Latex 投影仪框架

相关内容