Beamer 文档:
8.2.2 侧边栏
侧边栏是从标题下端延伸到页脚顶部的垂直区域
我创建了一个左侧边栏,它的行为与 Beamer 文档中描述的不一样(参见上面的摘录),因为它的开头有点与标题区域重叠(参见下图)。
该演示文稿由以下代码生成:
\documentclass[aspectratio=169]{beamer}
\usepackage{tikz}
\setbeamersize{text margin left=0pt,text margin right=0pt}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{headline}{%
\setlength{\fboxsep}{2.5pt}%
\setlength{\fboxrule}{0.5pt}%
\framebox[\textwidth][r]{\insertframenumber{ / }\inserttotalframenumber\hfill\insertshortdate}%
}%
\setbeamertemplate{footline}{%
\setlength{\fboxsep}{2.5pt}%
\setlength{\fboxrule}{0.5pt}%
\framebox[\textwidth][r]{\insertshortdate\hfill\insertframenumber{ / }\inserttotalframenumber}%
}%
\setbeamersize{sidebar width left=2cm}
\setbeamertemplate{sidebar left}{
\setlength{\fboxsep}{0.0pt}%
\setlength{\fboxrule}{0.5pt}%
\framebox[2\width]{\small UNISIM}%
%\framebox[2cm]{\includegraphics[height=1.0cm]{figs/fig1.png}}%
}%
%\setbeamertemplate{sidebar canvas left}[vertical shading][top=blue!70!black, bottom=red!70!black]%
\setbeamertemplate{background}[grid]%
\setbeamertemplate{background canvas}{%
\begin{tikzpicture}
\node[opacity=0.5,inner sep=0pt] at (current page.center)
{\includegraphics[width=\paperwidth,height=\paperheight]{figs/fig1.png}};
\end{tikzpicture}
}%
\title{Sample title}
\begin{document}
\frame{\titlepage}
\section{Introduction}
\begin{frame}
First Introduction Frame
\end{frame}
\begin{frame}
Second Introduction Frame
\end{frame}
\section{Review}
\begin{frame}
First Review
\end{frame}
\end{document}
问题:
- 如何解释上述明显不正常的行为?
- 我该如何修复它?
动机:我正在构建一个个性化的演示文稿,为此,我正在探索 Beamer 和 Latex 命令。在这里,我试图习惯一些 Beamer 自定义功能,同时学习如何处理框。
答案1
8.2.1 标题和尾注,来自
beameruserguide.pdf
标题和页脚的尺寸确定如下:它们的宽度始终是纸张宽度。它们的高度是通过在标题和页脚之后临时排版来确定的。\begin{document}
。此时的标题和页脚的头部被“冻结”,并将在整个文档中使用,即使标题和页脚的高度稍后发生变化(它们不应该发生变化)。
显然,标题高度的估算并不像你预期的那样有效(但对于页脚来说效果还不错)。“高度”似乎不是指totalheight
而是指height
,差异解释如下这里。
解决方法之一是使用\raisebox
将自定义标题从具有高度和深度的框更改为仅具有高度的框。完整示例(删除了此功能不需要的所有代码部分):
\documentclass[aspectratio=169]{beamer}
\setbeamertemplate{headline}{%
\setlength{\fboxsep}{2.5pt}%
\setlength{\fboxrule}{0.5pt}%
\raisebox{\dimexpr\dp\strutbox+\fboxsep+\fboxrule}[\dimexpr\ht\strutbox+\dp\strutbox+2\fboxsep+2\fboxrule][0pt]{\framebox[\textwidth][r]{\strut\insertframenumber{ / }\inserttotalframenumber\hfill\insertshortdate}}%
}%
\setbeamertemplate{footline}{%
\setlength{\fboxsep}{2.5pt}%
\setlength{\fboxrule}{0.5pt}%
\framebox[\textwidth][r]{\insertshortdate\hfill\insertframenumber{ / }\inserttotalframenumber}%
}%
\setbeamersize{sidebar width left=2cm}
\setbeamertemplate{sidebar left}{
\setlength{\fboxsep}{0.0pt}%
\setlength{\fboxrule}{0.5pt}%
\framebox[2\width]{\small UNISIM}%
\vfill
\framebox[2\width]{\small UNISIM}%
}
\begin{document}
\frame{}
\end{document}