![在投影仪幻灯片侧面的轮廓中突出显示章节和小节](https://linux22.com/image/252950/%E5%9C%A8%E6%8A%95%E5%BD%B1%E4%BB%AA%E5%B9%BB%E7%81%AF%E7%89%87%E4%BE%A7%E9%9D%A2%E7%9A%84%E8%BD%AE%E5%BB%93%E4%B8%AD%E7%AA%81%E5%87%BA%E6%98%BE%E7%A4%BA%E7%AB%A0%E8%8A%82%E5%92%8C%E5%B0%8F%E8%8A%82.png)
目前,幻灯片侧面的轮廓上只突出显示了子部分。是否可以更改模板,以便在子部分中,相应部分保持突出显示。
\documentclass{beamer}
\mode<presentation>{\usetheme{Hannover}}
\begin{document}
\section{1}
\subsection{a}
\begin{frame}
stuff
\end{frame}
\subsection{b}
\begin{frame}
more stuff
\end{frame}
\end{document}
答案1
此行为不仅限于主题Hannover
,它涉及所有使用侧边栏的主题。要更改它,您必须修补\insertverticalnavigation
负责生成侧边栏导航的宏:
\documentclass{beamer}
\mode<presentation>{\usetheme{Hannover}}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\insertverticalnavigation}%
{\ifx\beamer@nav@css\beamer@hidetext{\usebeamertemplate{section in sidebar}}\else{\usebeamertemplate{section in sidebar shaded}}\fi}%
{{\usebeamertemplate{section in sidebar}}}{}{}
\makeatother
\begin{document}
\section{1}
\subsection{a}\frame{}
\subsection{b}\frame{}
\section{2}
\subsection{a}\frame{}
\subsection{b}\frame{}
\end{document}
ll. 4-9 中的代码将 的默认行为更改为beamer
始终突出显示当前部分(与形成对比的beamer
主题)- 通常情况下,仅当侧边栏中没有显示子部分时才会突出显示该部分,即如果您有。section in sidebar
section in sidebar shaded
\usetheme[hideallsubsections]{Hannover}