有没有办法动态改变导航栏中整个演示文稿的标题?
现在:
需要:
导航栏中应显示所有 6 个圆圈,而不仅仅是当前部分的 6 个圆圈中的 3 个!
这是我的代码:
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{ucs}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{color}
\usepackage{mathpazo}
\usepackage{tikz}
\usepackage{pgfplots}
\useoutertheme[subsection=false, shadow]{miniframes}
\useinnertheme{default}
\usefonttheme{serif}
\setbeamerfont{title like}{shape=\scshape}
\setbeamerfont{frametitle}{shape=\scshape}
\setbeamercolor*{lower separation line head}{bg=black!10}
\setbeamercolor*{normal text}{fg=black, bg=white}
\setbeamercolor*{alerted text}{fg=red}
\setbeamercolor*{example text}{fg=black}
\setbeamercolor*{structure}{fg=black}
\setbeamercolor*{palette tertiary}{fg=black, bg=black!5}
\setbeamercolor*{palette quaternary}{fg=black, bg=black!5}
\beamertemplatenavigationsymbolsempty
\begin{document}
% The miniframe circles should not be splitted in two groups (if possible)
\section*{Title 1} % <-- Only this title should be visible in the first section
\subsection*{}
\begin{frame}\end{frame}
\begin{frame}\end{frame}
\begin{frame}\end{frame}
\section*{Title 2} % <-- ...and only this title in the second section
\subsection*{}
\begin{frame}\end{frame}
\begin{frame}\end{frame}
\begin{frame}\end{frame}
\end{document}
简单的方法可能是将演示文稿的标题设置为小节标题 - 这可能吗?
答案1
\documentclass{beamer}
您可以在和之间使用以下代码\begin{document}
:
\usepackage{etoolbox}
\makeatletter
\beamer@compresstrue
\patchcmd{\insertnavigation}{\hskip-1.875ex plus-1fill}{}{}{}
\apptocmd{\partentry}{\beamer@xpos=0\relax}{}{}
\def\sectionentry#1#2#3#4#5{% section number, section title, page
\ifnum#5=\c@part%
\hbox{\def\insertsectionhead{#2}%
\def\insertsectionheadnumber{#1}%
\def\insertpartheadnumber{#5}%
{%
\usebeamerfont{section in head/foot}\usebeamercolor[fg]{section in head/foot}%
\ifnum\c@section=#1%
\rlap{\hyperlink{Navigation#3}{{\usebeamertemplate{section in head/foot}}}}%
\fi}%
}%
\fi\ignorespaces}
\makeatother
获取所有迷你框架并仅显示当前章节标题的技巧与Beamer 信息线外部主题带有仅适用于当前部分的迷你框架项目符号:
为了简单起见,使用以下选项,所有迷你框架都显示在一行中
compress
:\beamer@compresstrue
删除填充空间以使导航栏左对齐:
\patchcmd{\insertnavigation}{\hskip-1.875ex plus-1fill}{}{}{}
重置每个部分开始处的迷你框架位置,因为这将不再在每个部分的开始处执行,以创建连续的迷你框架线:
\apptocmd{\partentry}{\beamer@xpos=0\relax}{}{}
重写
\sectionentry
宏以不重置迷你框架的位置并仅显示当前部分标题。这里重要的是将标题包裹起来,\rlap
以便它不占用任何空间,否则迷你框架行中会出现间隙:\def\sectionentry#1#2#3#4#5{...}