Beamer 迷你框架:并排的部分名称和导航点

Beamer 迷你框架:并排的部分名称和导航点

我使用的是 beamerminiframes外部主题(subsection=false)。目前,导航在每个部分名称下方显示导航点。如果这些点位于正确的部分名称。这可能吗?

现在它看起来像:

Sec 1           Sec 2
o o o o         o o o o

但我希望它看起来像:

Sec 1 o o o o               Sec 2 o o o o

梅威瑟:

\documentclass{beamer}  
\useoutertheme[subsection=false]{miniframes}  
\begin{document}  
\section{Sec 1}  
\subsection{}  
\begin{frame}[t]  
  hi  
\end{frame}  
\end{document}`

答案1

这可以通过修补beamer负责创建迷你框架导航的内部命令来实现:

\documentclass[compress]{beamer}  
\useoutertheme[subsection=false]{miniframes}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\slideentry}{\advance\beamer@tempdim by -.05cm}{\advance\beamer@tempdim by\beamer@vboxoffset\advance\beamer@tempdim by\beamer@boxsize\advance\beamer@tempdim by 1.2\pgflinewidth}{}{}
\patchcmd{\slideentry}{\kern\beamer@tempdim}{\advance\beamer@tempdim by 2pt\advance\beamer@tempdim by\wd\beamer@sectionbox\kern\beamer@tempdim}{}{}
\makeatother

\begin{document}
\section{Sec 1}
\subsection{}
\frame{}\frame{}\frame{}\frame{}
\section{Sec 2}
\subsection{}
\frame{}\frame{}\frame{}\frame{}
\end{document}

这个 hack 将迷你框架向上移动一行*和 (章节标题的长度+ 2pt) 个单位向右移动,到达所需位置:

“第 1 节”的迷你框架导航,迷你框架位于部分名称的右侧

compress我还在最小工作示例中添加了该选项,因为如果您的演示文稿中有多个小节,则如果每个小节都以新行开始,可能会看起来很奇怪。

*更准确地说,是一行加号1.2\pgflinewidth:默认的圆形迷你框架正好下降到基线以下的量\pfglinewidth,所以我将它们提升到基线以上一点点。您可能需要稍微调整一下这个值,特别是如果您使用其他迷你框架样式(boxtick)而不是默认的圆形。

相关内容