Beamer,自定义标题在顶部创建一个额外的空白行

Beamer,自定义标题在顶部创建一个额外的空白行

我尝试使用自定义headline主题footline。MWEWarsaw如下

\documentclass[dvipsnames, aspectratio=169]{beamer}
\usepackage{microtype}
\hypersetup{colorlinks=true, urlcolor=blue, linkcolor=blue}

\mode<presentation>
{
  \usetheme{Warsaw}
  \setbeamercovered{transparent}
}

\usepackage[english]{babel}

\usepackage{times}
\usepackage[T1]{fontenc}

\usecolortheme{crane}
\useoutertheme{split}
\usefonttheme[onlysmall]{structurebold}

\setbeamertemplate{headline}
{
  \leavevmode
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex]{section in head/foot}
      \hbox to .5\paperwidth{\hfil\color{white}{}\hfil}
  \end{beamercolorbox}
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex]{subsection in head/foot}
      \hbox to .5\paperwidth{\hfil\color{white}{Headline}\hfil}
  \end{beamercolorbox}
}

\setbeamertemplate{footline}
{
  \leavevmode
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex]{section in head/foot}
      \hbox to .5\paperwidth{\hfil\color{white}{}\hfil}
  \end{beamercolorbox}
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex]{subsection in head/foot}
      \hbox to .5\paperwidth{\hfil\color{white}{Footline}\hfil}
  \end{beamercolorbox}
}

\beamertemplatenavigationsymbolsempty

\begin{document}
    \section{The First Section}
        \subsection{The First Subsection}
            \begin{frame}[t]{}
                \frametitle{Hello World}
            \end{frame}
\end{document}

生成的页面如下 在此处输入图片描述

可以看出,页脚没有问题。但是对于标题,页面顶部有一条额外的白线。

headline和导致这种情况的原因是什么footline

====新发现=====

%发现在 2 之间添加一个beamercolorbox可以解决问题

\setbeamertemplate{headline}
{
  \leavevmode
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex, leftskip=2ex,rightskip=2ex]{section in head/foot}
      \hbox to .5\paperwidth{\hfil\color{white}{}\hfil}
  \end{beamercolorbox}% <-add this "%" will resolve the issue
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex, leftskip=2ex,rightskip=2ex]{subsection in head/foot}
      \hbox to .5\paperwidth{\hfil\color{white}{Headline}\hfil}
  \end{beamercolorbox}
}

看起来内联注释造成了差异。不确定根本原因是什么。

答案1

换行符变为空格。

%只需让 TeX 忽略换行符,从而忽略前两个标题框之间的空格(50% 左侧,50% 右侧内容)。由于 TeX 在水平模式下会自动在粘连处断开(空格有粘连)(明确由 引起\leavevmode),因此删除空格会强制所有空格都位于同一行。您可能会注意到,隐式空格存在于页眉和页脚行中(参见空白)。

我确信事情就是这样的。

至于回答标题和脚注的不同行为

是什么原因导致了标题和尾注之间的差异?

要找到答案,需要费力地搜索 beamer 的源代码以及框架的构建方式。如果我找到原因,我会在这里添加它。

这是一个简单的文档,在两种不同条件下重复字母“a”。

\documentclass{article}

\begin{document}

\newcount\step%init

\step=0
\loop
a
\ifnum\step<100
\advance\step by 1
\repeat

\step=0
\loop
a% <- cancel out the implicit space caused by the new line here
\ifnum\step<100
\advance\step by 1
\repeat

\end{document}

相关内容