forum
forum copied to clipboard
如何修改默认beamer theme的title位置
编译环境
-
操作系统
- [x] Windows 10
-
TeX 发行版
- [x] TeX Live 2022
描述问题
我使用了beamer所提供的\usetheme{Hannover}, 并且标题页(第一页)有sidebar侧栏。

我利用如下代码,取消第一页的sidebar:
\setbeamertemplate{sidebar left}{ }
\setbeamertemplate{sidebar canvas left}{ }
但是很明显标题页(第一页)的标题都没有居中显示。
并且目录页(第二页)的sidebar仍然存在,只是因为[plain]选项设置了空白。
\begin{frame}[plain]{Outline}
\tableofcontents
\end{frame}

我希望得到的效果:标题页(第一页)和目录页(第二页)的内容可以自定义位置。
最小工作示例(MWE)
%XeLaTeX
\documentclass[10pt,aspectratio=169]{beamer}
\usetheme[]{Hannover}
\title[beamer short title]{Beamer template for presentations}
\author[short author]{Author}
\institute{University}
\date{2022}
\begin{document}
{
\setbeamertemplate{sidebar left}{ }
\setbeamertemplate{sidebar canvas left}{ }
\frame{\titlepage}
}
\begin{frame}[plain]{Outline}
\tableofcontents
\end{frame}
\section{section1}
\begin{frame}
Bla bla bla
\end{frame}
\section{section2}
\begin{frame}
contents
\end{frame}
\end{document}
https://github.com/CTeX-org/forum/issues/250#issuecomment-1163228951 里提到的
beamer 默认只在文档开始时计算一次 headline 和 footline 的高度,并据此确定 text area 的尺寸。然后这些尺寸就像常量一样不变了,被所有 frame 使用。tex.stackexchange.com 上有不少相似的问答。
[...]
- 胆大一点且读一点 beamer 的实现后,可以在文档中途设置 headline 和 footline,然后使用
\beamer@calculateheadfoot重新计算各页面元素的尺寸。
也适用这里的情况