我正在建立这里有来自 LaTeX 社区的一个例子。
我想要做的是创建一个索引,其中多个术语链接到索引中的同一个单词。例如,如果术语toyota
、ford
和honda
出现在页面上7
,9
我15
希望索引简单地说:
cars … 7, 9, 15
我不想要的是
cars,
toyota … 7
ford … 9
honda …15
我在 中执行此操作beamer
。以下示例将创建术语cars
,但我不知道如何将多个单词与该单个术语关联起来。
\documentclass[16pt,pdftex]{beamer}
\usepackage[T1]{fontenc}
\makeatletter
% beamer doesn't define \@idxitem, but it's used by the
% \printterms "index" style, so define it:
\newcommand\@idxitem{\par\hangindent40pt}
\makeatother
\usepackage{datagidx}
\newgidx{index}{Index}
\DTLgidxSetDefaultDB{index}
\newterm{car}
\begin{document}
\begin{frame}
\frametitle{example}
\gls{car}
\end{frame}
\begin{frame}
\frametitle{example}
%\gls{subaru}
\end{frame}
\begin{frame}
\frametitle{example}
%\gls{toyota}
\end{frame}
\begin{frame}
\frametitle{example}
%\gls{ford}
\end{frame}
\begin{frame}[allowframebreaks]
\frametitle{Index}
\printterms[style=index]
\end{frame}
\end{document}
答案1
确保您至少datatool
安装了 2.19 版本并使用\glslink
:
\documentclass[16pt,pdftex]{beamer}
\usepackage[T1]{fontenc}
\makeatletter
% beamer doesn't define \@idxitem, but it's used by the
% \printterms "index" style, so define it:
\newcommand\@idxitem{\par\hangindent40pt}
\makeatother
\usepackage{datagidx}
\newgidx{index}{Index}
\DTLgidxSetDefaultDB{index}
\newterm{car}
\begin{document}
\begin{frame}
\frametitle{example}
\gls{car}
\end{frame}
\begin{frame}
\frametitle{example}
\glslink{car}{subaru}
\end{frame}
\begin{frame}
\frametitle{example}
\gls{car}{toyota}
\end{frame}
\begin{frame}
\frametitle{example}
\glslink{car}{ford}
\end{frame}
\begin{frame}[allowframebreaks]
\frametitle{Index}
\printterms[style=index]
\end{frame}
\end{document}