如果我在索引中格式化页码,它们会与未格式化的数字一起显示。这是最简单的示例:
\documentclass{article}
\usepackage{makeidx} \makeindex \begin{document} page 1
\index{foo} % normal page number
\index{foo|textbf} % bold page number
\index{bar} % normal page number
\pagebreak page 2
\index{bar|textbf} % bold page number
\printindex \end{document}
创建以下索引
酒吧, 1,2
foo,1,1
但我更愿意将普通页码和格式化的页码组合为粗体页码,并且还允许在页面序列中使用格式化的页码:
巴,1-2
foo,1
也许页面顺序太复杂,例如,如果第 1 页和第 3 页正常,但第 2 页已格式化。但至少重复的单个页码(在此示例中为“1,1“) 不应该出现在那里。
更精确地说,我不使用,textbf
而是bfhref
使用自定义的超链接页码,但这不应该是问题
\newcommand{\bfhref}[1]{\textbf{\hyperpage{#1}}}
答案1
idx
从文件到的过程ind
由命令控制makeindex
。我找不到符合您要求的任何选项。删除这些重复页面的另一种方法是*.ind
自己处理文件。例如,您可以将模式替换num, \textbf{num}
为\textbf{num}
。使用任何支持正则表达式替换的编辑器都可以轻松完成。
默认情况下,只有三个或更多连续的页面才会缩写为一个范围。
例如
酒吧, 1,2,3--6。
我想这就是你想要的。