Beamer:全宽图像,与顶部对齐,带有框架标题

Beamer:全宽图像,与顶部对齐,带有框架标题

我想添加一个全宽图像,与带有框架标题的框架顶部对齐。问题是,我无法消除橙色框架标题标题和狮子图像之间的一行空白。

\documentclass[t]{beamer}
% Frames are 128x96mm and top-aligned by default.

% Calculate with \sidebarwidth
\usepackage{calc}
\newlength{\sidebarwidth}

% Theme
\setlength{\sidebarwidth}{28mm}
\usetheme[height=16mm, right, width=\sidebarwidth]{Goettingen}
% Hence, a full frame image is 100x80mm
\usecolortheme{crane}

% Include full-width graphics
\usepackage{graphicx}
\newcommand{\includefullwidthgx}[2][]{%
\noindent\makebox[\columnwidth]{\includegraphics[width=128mm-\sidebarwidth, #1]{#2}}%
}%

\begin{document}
\begin{frame}
\frametitle{frame title text}
\includefullwidthgx{lion.jpg}
\end{frame}
\end{document}

在此处输入图片描述

答案1

您看到的垂直空间由两部分组成,这两部分都以某种方式指定beamerbaseframe.sty

  1. 如果 frametitle 非空,beamer 会将 a 附加\vskip0.25em\beamer@frametitlebox(第 122 行)。这是硬编码的,但可以通过不指定 frametitle 来避免。

  2. 在第 142 行或第 144 行,beamer 发出\vskip\beamer@frametopskip( autobreak)。此跳过取决于垂直帧对齐 ( t/ c/ b);对于t(top),它是0.2cm plus…。它设置在\define@key{beamerframe}{t}[true](第 258 行) 中,可以通过修改或覆盖此 来更改\define@key

这两个组件加起来就是您示例中的垂直空间。Beamer 没有提供直接的方法来消除它,所以它可能认为这是一件好事。

答案2

我通过添加 来帮助自己\vspace{-9.5pt}。该值似乎不会随标准主题而改变。标题中是否存在副标题也无关紧要。不过,我发现这是一个不通用的、不太理想的解决方案。谁做得更好?

\documentclass[t]{beamer}
% Frames are 128x96mm and top-aligned by default.

% Calculate with \sidebarwidth etc.
\usepackage{calc}
\newlength{\sidebarwidth}

% Theme
\setlength{\sidebarwidth}{28mm}
\usetheme[height=16mm, right, width=\sidebarwidth]{Goettingen}
% Hence, a full frame image is 100x80mm
\usecolortheme{crane}

% Include full-width graphics
\usepackage{graphicx}
\newcommand{\includefullwidthgx}[2][]{%
\vspace{-9.5pt}
\noindent\makebox[\columnwidth]{\includegraphics[width=128mm-\sidebarwidth, #1]{#2}}%
}%

\begin{document}
\begin{frame}
\frametitle{Sub-optimal solution.}
\framesubtitle{Anyone does better?}
\includefullwidthgx{lion.jpg}
\end{frame}

\end{document}

在此处输入图片描述

相关内容