如何创建嵌套且加粗的关键字索引?

如何创建嵌套且加粗的关键字索引?

我想用包创建一个带有嵌套和格式化(粗体)条目的索引imakeidx

该索引应如下所示:


图形,3

->图形绘制、3、5


但它看起来像这样:


图形

->图形绘制、3、5

图形,3


我使用以下代码将条目添加到索引:

\emph{graphs}\index[keywords]{Graph@\textbf{Graph}}
\emph{graph drawings}\index[keywords]{Graph!Graph Drawing@\textbf{Graph Drawing}}

是否可以创建嵌套和粗体索引imakeindx?如果可以,那么代码应该如何编写?


更新 -> 例如:

%% File encoding: UTF-8
\documentclass[english]{styles/mystyle}
\RequirePackage[utf8]{inputenc}

\usepackage{imakeidx}

\makeindex[name=keywords, title=Keywords Index,columns=1]

\begin{document}

A sentence with the keyword \emph{graphs}\index[keywords]{Graph@\textbf{Graph}} in it.

\clearpage
A sentence with the keyword \emph{graph drawing}\index[keywords]{Graph!Graph Drawing@\textbf{Graph Drawing}} in it.

\clearpage
\addcontentsline{toc}{chapter}{Keywords Index}
\printindex[keywords]

\end{document}

答案1

当您多次索引条目时,您需要确保每个实例完全匹配。这包括分层索引的每个级别,因此如果您执行\index{*main}\index{主要的!}主要的部分必须完全匹配,否则它们将被视为单独的项目。

对于\index[keywords]{Graph@\textbf{Graph}}主要的部分是Graph@\textbf{Graph}\index[keywords]{Graph!Graph Drawing@\textbf{Graph Drawing}}主要的部分只是Graph。这意味着Graph@\textbf{Graph}被视为一个没有子条目的单独术语。子条目反而属于Graph

所以你需要

\index[keywords]{Graph@\textbf{Graph}!Graph Drawing@\textbf{Graph Drawing}}

答案2

谢谢 - @Nicola Talbot,

\index[keywords]{Graph@\textbf{Graph}!Graph Drawing@\textbf{Graph Drawing}}?

运行完美。

相关内容