beamer 演示文稿中的 fancyhdr 替代品

beamer 演示文稿中的 fancyhdr 替代品

我知道将 fancyhdr 与 beamer 一起使用是不好的,那么有没有其他替代方法?是否可以实现完全相同的功能,以便我拥有一个与左侧对齐的图像、一个居中文本(多行)和一个在右侧的文本?

使用 fancyhdr 的结果

答案1

基本上你必须通过 来改变标题\setbeamertemplate{headline}{}

这里有一个 MWE 作为入口点。

\documentclass{beamer}
\usepackage{adjustbox, graphicx}

% define adjustable rule that fills left space
\makeatletter
   \def\vhrulefill#1{\leavevmode\leaders\hrule\@height#1\hfill \kern\z@}
\makeatother

% change headline
\setbeamertemplate{headline}{
  \begin{beamercolorbox}[sep=1em, wd=\textwidth]{headline}
  \adjustbox{minipage=0.1\textwidth, valign=b}{\inserttitlegraphic \hfill}\hfill
  \adjustbox{minipage=0.7\textwidth, valign=b}{\centering \textbf{\inserttitle}\par \insertauthor\par} \hfill
  \adjustbox{width={0.1\textwidth}, valign=b}{\hfill \insertsubtitle} \par \vspace{-0.25em}
  \vhrulefill{0.25pt}
  \end{beamercolorbox}
}
% define title, subtitle, author and titlegraphic
\title{Graphen}
\subtitle{Informatik 11}
\author{Elia}
\titlegraphic{\includegraphics[width=0.5\textwidth]{example-image-a}}

% test
\begin{document}
\begin{frame}{Frametitle}
Testframe
\end{frame}

\end{document}

在此处输入图片描述

答案2

虽然beamer不鼓励使用fancyhdr,但只要采取一些预防措施,实际上是可以使用它的:

  1. 您必须将\headheight和/或的值设置\footskip为足够大的值(请参阅日志文件中的警告以了解所需的值。如果没有警告,那么您可以跳过这一步。

  2. fancyhdr在设置和可能之后添加此行\headheight

    \setbeamertemplate{标题}{\vspace{\headheight}}

这是一个工作示例。

\documentclass{beamer}
\usepackage{fancyhdr}
\usepackage{graphicx}
\fancyhead[L]{\includegraphics[width=0.1\textwidth]{example-image}}
\fancyhead[R]{Informatik 11}
\fancyhead[C]{\textbf{Graphen}\\Elia}
\pagestyle{fancy}
\setlength{\headheight}{30pt}
\setlength{\footskip}{14pt}
\setbeamertemplate{headline}{\vspace{\headheight}}

\begin{document}

\begin{frame}{Title}
Test
\end{frame}

\end{document}

在此处输入图片描述

相关内容