我想用包创建一个带有嵌套和格式化(粗体)条目的索引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}}?
运行完美。