Beamer - 为特定导航圈着色

Beamer - 为特定导航圈着色

我有一些帧只是从前几帧的小增量,因此,我不希望它们有一个明显的导航圈。我能够通过使用本文中描述的方法来实现这一点回答,其组成为:

\makeatletter
    \let\beamer@writeslidentry@miniframeson=\beamer@writeslidentry
    \def\beamer@writeslidentry@miniframesoff{%
        \expandafter\beamer@ifempty\expandafter{\beamer@framestartpage}{}% does not happen normally
        {%else
            % removed \addtocontents commands
            \clearpage\beamer@notesactions%
        }
    }
    \newcommand*{\miniframeson}{\let\beamer@writeslidentry=\beamer@writeslidentry@miniframeson}
    \newcommand*{\miniframesoff}{\let\beamer@writeslidentry=\beamer@writeslidentry@miniframesoff}
    \beamer@compresstrue
\makeatother

但是,通过抑制这些增量帧中的导航圈,现在相应的幻灯片没有突出显示的导航项目符号,如下所示:在此处输入图片描述

与通常的情况(即非抑制导航圈)不同,它如下所示:在此处输入图片描述

现在,由于我抑制导航项目的这些增量帧本质上是相同的,因此我希望与第一帧(“增量组”)相关的导航项目符号保持突出显示。

有没有办法直接实现这个目标?

或者,有没有办法可以突出显示特定的导航圈?

这可以在 MWE 的幻灯片标题 4 和标题 5 上观察到(此处仅在 4 上举例说明): 在此处输入图片描述

我的想法是让幻灯片标题 4 和 5 都突出显示第 2 部分的第一个导航圈,如下所示:

在此处输入图片描述

平均能量损失

\documentclass[xcolor={table,xcdraw},compress]{beamer}

% Beamer's Slide numbers
\setbeamerfont{page number in head/foot}{size=\large}
\setbeamertemplate{footline}{% 
  \hfill% 
  \usebeamercolor[fg]{page number in head/foot}% 
  \usebeamerfont{page number in head/foot}% 
  \insertframenumber%
  %\,/\,\inserttotalframenumber
  \kern1em\vskip2pt% 
}

\usepackage{makecell}
\usepackage{colortbl}
\usepackage{graphicx, color}
\usepackage{hyperref}
%% Load the markdown package
\usepackage[footnotes,definitionLists,hashEnumerators,smartEllipses,tightLists=false,pipeTables,tableCaptions,hybrid]{markdown}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{bm} % Bold math symbols
\usepackage{pifont}% http://ctan.org/pkg/pifont
\usepackage{eulervm}
\usepackage[normalem]{ulem}
\usepackage{adjustbox}
\usepackage{xmpmulti}


\beamertemplatenavigationsymbolsempty
\usetheme{Dresden}
\usecolortheme{whale}


% Remove navigation bullets
\makeatletter
    \let\beamer@writeslidentry@miniframeson=\beamer@writeslidentry
    \def\beamer@writeslidentry@miniframesoff{%
        \expandafter\beamer@ifempty\expandafter{\beamer@framestartpage}{}% does not happen normally
        {%else
            % removed \addtocontents commands
            \clearpage\beamer@notesactions%
        }
    }
    \newcommand*{\miniframeson}{\let\beamer@writeslidentry=\beamer@writeslidentry@miniframeson}
    \newcommand*{\miniframesoff}{\let\beamer@writeslidentry=\beamer@writeslidentry@miniframesoff}
    \beamer@compresstrue
\makeatother




\begin{document}

\section{sec1}
\subsection{subsec1}

\begin{frame}
\frametitle{title1}
\end{frame}

\begin{frame}
\frametitle{title2}
\end{frame}

\section{sec2}
\subsection{subsec2}

\begin{frame}
\frametitle{title3}
\end{frame}

\miniframesoff
\begin{frame}
\frametitle{title4}
\end{frame}

\begin{frame}
\frametitle{title5}
\end{frame}

\miniframeson
\begin{frame}
\frametitle{title6}
\end{frame}

\end{document}

相关内容