删除框架标题和主体之间的间隙

删除框架标题和主体之间的间隙

我想在我的框架的右上角添加一个徽标,所以我编辑了,frametitle\addtobeamertemplate{frametitle}使用 TikZ 添加徽标\node(如这个答案), 像这样:

\addtobeamertemplate{frametitle}{}{%
\begin{tikzpicture}[remember picture,overlay]
\node[anchor=north east,yshift=2pt] at (current page.north east) {\includegraphics[height=0.8cm]{example-image}};
\end{tikzpicture}}

问题是,这种修改在frametitle框架和主体之间增加了额外的空间,从而浪费了非常宝贵的空间。

这是我的框架在添加块之前的样子\addtobeamertemplate{frametitle}

前

添加之后的样子如下(注意间隙变大了):

后

我怎样才能消除这个差距?


这是我的 MWE:

\documentclass{beamer}
\usetheme{Madrid}

\usepackage{tikz}

\addtobeamertemplate{frametitle}{}{%
\begin{tikzpicture}[remember picture,overlay]
\node[anchor=north east,yshift=2pt] at (current page.north east) {\includegraphics[height=0.8cm]{example-image}};
\end{tikzpicture}}

\begin{document}

\begin{frame}
\frametitle{Frame title}
\includegraphics[height=\textheight]{example-image}
\end{frame}

\end{document}

答案1

覆盖 tikzpicture 不占用空间,但它仍然是一个框,因此必须小心插入它的位置。在垂直模式下(如这里),它将创建一条额外的线。我将使用 footline 模板(及其第二个参数)来注入徽标:

\documentclass{beamer}
\usetheme{Madrid}

\usepackage{tikz}


\addtobeamertemplate{footline}{%
\leavevmode\begin{tikzpicture}[remember picture,overlay]
\node[anchor=north east,yshift=2pt] at (current page.north east) {\includegraphics[height=0.8cm]{example-image}};
\end{tikzpicture}\ignorespaces% \ignorespaces needed because of spurious space in the template
}{}

\begin{document}

\begin{frame}
\frametitle{Frame title}
\includegraphics[height=\textheight]{example-image}

\end{frame}

\end{document}

在此处输入图片描述

相关内容