我使用 Beamer 自定义模板。除此之外,我还重新定义了标题,以便在帕尔博,以及组成模板的其他内容,例如徽标、用 Tikz 绘制的一些水平线等。请注意,我已删除了许多这些次要内容,以得出我在此处提供的最小示例,但仍然会重现问题。
问题是,有时标题很长,必须分成两行,在演示过程中,行间距会变得不同,这是一种非常烦人的行为。不仅如此,有时还会出现“额外的幻灯片”。在我提供的特定示例中,我打算创建两张幻灯片,但我得到了三张,尽管其中一张是空的!文本编译没有问题,我不知道发生了什么,尽管我猜我做错了什么帕尔博和换行。
什么原因可能导致这种不当行为?
\pdfminorversion=4
\PassOptionsToPackage{draft}{graphicx}
\documentclass[xcolor=dvipsnames]{beamer}
\usepackage[utf8]{inputenc}
%\usepackage]{graphicx}
\usepackage[english]{babel}
\usepackage{tikz}
\usepackage{amsfonts}
\usepackage{textpos}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%THIS THEME DISCARDS THE TITLE IN THE SLIDES, AND USES HEADLINE INSTEAD
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setbeamertemplate{frametitle}{}
\providecommand\insertframetitle{}
\setbeamertemplate{headline}{
\hspace{1cm}
\fbox{\parbox[][1.1cm][c]{.65\textwidth}{\flushleft\bf\Large\insertframetitle}}
\begin{textblock*}{100mm}(.8\textwidth,-1.0cm)
\includegraphics[width=2.0cm]{logo.pdf}
\end{textblock*}
\vspace*{0.2cm}
\hspace*{0.6cm}
\tikz \fill [] (0,0) rectangle (9.0, 2pt);
}
\begin{document}
\begin{frame}{Climate Reconstructions and Simulations}
Text text text
\end{frame}
\begin{frame}{What the model does right: synoptic-regional scale connections}
Text text text
\end{frame}
\end{document}
答案1
改成。\providecommand\insertframetitle{}
\providecommand\insertframetitle*{}
来自 Beamer 用户指南:
如果添加一颗星,则会发生三件事。首先,模板被放在 TEX 组中,从而限制了模板内使用的命令的大多数副作用。其次,在这个组中,使用名为 beamer-color 的元素名称并选择前景色。第三,还使用 beamer-font 元素名称。这个带一颗星的版本通常是最佳版本。
编辑:感谢 Ignasis 的评论,我终于搞清楚了。使用 struts 并更改 parbox 中内容的对齐方式。
\providecommand\insertframetitle*{}
\setbeamertemplate{headline}{
\hspace{1cm}
\fbox{\parbox[][1.1cm][b]{.65\textwidth}{\flushleft\bf\Large\strut\insertframetitle\strut}}
\begin{textblock*}{100mm}(.8\textwidth,-1.0cm)
\includegraphics[width=2.0cm]{logo.pdf}
\end{textblock*}
\vspace*{0.2cm}
\hspace*{0.6cm}
\tikz \fill [] (0,0) rectangle (9.0, 2pt);
}
\strut
类似于执行\vphantom{}
。我查看了 frametitle 的默认定义(在 中beameroutertheme.sty
),发现它包含\strut\insertframetitle\strut
。这与从 更改为 相结合,\parbox[][1.1cm][c]...
可以\parbox[][1.1cm][b]...
得到您想要的结果!