Beamer:索引框架(带注释),而不是页面

Beamer:索引框架(带注释),而不是页面

我正在 overleaf 中制作一个 beamer 演示文稿。我想用某些东西(比如关键字)标记/标记框架,并生成一些文本,告诉我这个标记/标记/关键字/索引出现在哪些框架(而不是页面)上。这些文本应该放在同一个 pdf 中,或者最好放在单独的文件中。

我有章节 tex 文件

\documentclass{beamer}
\usepackage{pgfpages}

\usepackage{makeidx}
\makeindex
\newenvironment{theindex}
 {\let\item\par
  %definitions for subitem etc
  }{}
\newcommand\indexspace{}

\setbeameroption{show notes on second screen}

\begin{document}
\title{ChapterName}
\begin{frame}
\huge{\inserttitle}
\end{frame}
\input{Subchapter1.tex}
\input{Subchapter2.tex}
\end{document}

和子章节文件

\section{Subchapter name}
\begin{frame}{\insertsection}
\end{frame}

\begin{frame}{Frame 3}
\begin{itemize}
\item
\end{itemize}
\note<1>{Notes on first page of frame 3.}\note<2>{Notes on second page of 
frame 3.}
\index{index1}\index{index2}
\end{frame}

\begin{frame}{Frame 4}
\note<1>{Notes for frame 4.}
\index{index1}
\end{frame}

\begin{frame}{Index}
\printindex
\end{frame}

我尝试过 makeidx 和 imakeidx 包(顺便问一下有什么区别),但在 overleaf 中没有成功。也许这与我的自定义 beamer 主题有关,因为上面的代码返回一个索引,其中包含页码而不是我想要的帧号,但仍然有些问题。

是否可以使用带有 beamer 类的 overleaf 中的索引? \makeindex 可以返回帧号而不是页码吗?除了使用索引之外,也许还有其他解决方案?

答案1

利用该imakeidx软件包,你可以使用以下技巧:

\documentclass{beamer}
\usepackage{pgfpages}

\newenvironment{theindex}{}{}
%\newcommand\indexspace{}
\usepackage{imakeidx}




\setbeameroption{show notes on second screen}


\makeatletter

\def\@idxitem{\par}

\def\imki@wrindexsplit#1#2{%
\imki@wrindexentrysplit{#1}{#2}{\the\c@framenumber}%
\endgroup\imki@showidxentry{#1}{#2}%
  \@esphack%
}
\def\imki@wrindexunique#1#2{%
\imki@wrindexentryunique{#1}{#2}{\the\c@framenumber}%
\endgroup\imki@showidxentry{#1}{#2}%
  \@esphack%
  }

\let\imki@startidx\imki@startidxsplit
\let\@wrindex\imki@wrindexsplit
\let\imki@putindex\imki@putindexsplit
\let\imki@wrindexentry\imki@wrindexentrysplit
\let\imki@startidxunique\@undefined
\let\imki@wrindexunique\@undefined
\let\imki@putindexunique\@undefined  

\def\imki@firstpagestyle{empty}

\makeatother

\makeindex


\begin{document}
\title{ChapterName}
\begin{frame}
{\huge \inserttitle}
\end{frame}

\section{Subchapter name}
\begin{frame}{\insertsection}
\end{frame}

\begin{frame}{Frame 3}
\begin{itemize}
\item
\end{itemize}
\note<1>{Notes on first page of frame 3.}\note<2>{Notes on second page of 
frame 3.}
index1\index{index1}
\end{frame}

\begin{frame}{Frame 4}
\begin{itemize}
\item
\end{itemize}
\note<1>{Notes on first page of frame 4.}\note<2>{Notes on second page of 
frame 4.}
index1\index{index1}
index2\index{index2}
\end{frame}

\begin{frame}{Index}
\printindex
\end{frame}
\end{document}

在此处输入图片描述

相关内容