使用 datagidx 的索引,其中多个术语具有单个索引条目

使用 datagidx 的索引,其中多个术语具有单个索引条目

我正在建立这里有来自 LaTeX 社区的一个例子

我想要做的是创建一个索引,其中多个术语链接到索引中的同一个单词。例如,如果术语toyotafordhonda出现在页面上7915希望索引简单地说:

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}

相关内容