我已经在文档中标记了索引条目,并在运行 \makeindex 时获得以下内容:
This is makeindex, version 2.15 [TeX Live 2020] (kpathsea + Thai support).
Scanning input file 2023_scl_002 copy.idx....done (171 entries accepted, 26 rejected).
Sorting entries....done (1400 comparisons).
Generating output file 2023_scl_002 copy.ind....done (240 lines written, 0 warnings).
Output written in 2023_scl_002 copy.ind.
Transcript written in 2023_scl_002 copy.ilg.
为什么有 26 件作品被拒绝?如何确定被拒绝的原因?
编辑:我查看了 *.ilg 文件并看到了以下内容:
!! Input index error (file = 2023_scl_002 copy.idx, line = 157):
-- Extra `!' at position 46 of first argument.
因此我打开了 *.idx 文件并看到了以下条目:
\indexentry{Joint Stock Company!General Assembly!Meetings!Frequency}{81}
我看不出有什么问题。四个级别是被禁止的吗?如果是,我该如何将它们包括在内?
第二次编辑:看来 \makeindex 下不允许 4 个级别。是否有允许 4 个级别的软件包?或者 5 个?
@egreg:
第三次编辑:
因此要使用 xindex,您必须:
- 运行一次 LaTeX。
- 再次运行 LaTeX 以获取目录。
xindex
针对 LaTeX 文件运行- 再次运行 LaTeX 以获取带有 xindex 生成索引的 pdf。
第四次编辑:
\makeindex
为了使用而运行xindex
仍然拒绝四级深度入口。
答案1
如果确实需要四个级别,可以xindex
尝试makeindex
。
\documentclass{book}
\usepackage[imakeidx]{xindex}
\makeindex
\makeatletter
\providecommand{\subsubsubitem}{\@idxitem\hspace*{40\p@}}
\makeatother
\begin{document}
\chapter{Test}
Abc
\index{Joint Stock Company}
\index{Joint Stock Company!General Assembly}
\index{Joint Stock Company!General Assembly!Meetings}
\index{Joint Stock Company!General Assembly!Meetings!Frequency}
\printindex
\end{document}
运行此操作pdflatex -shell-escape
将产生四级索引。
五个级别?能做完了。
\documentclass{book}
\usepackage[imakeidx]{xindex}
\makeindex
\makeatletter
\providecommand{\subsubsubitem}{\@idxitem\hspace*{40\p@}}
\providecommand{\subsubsubsubitem}{\@idxitem\hspace*{50\p@}}
\makeatother
\begin{document}
\chapter{Test}
Abc
\index{Joint Stock Company}
\index{Joint Stock Company!General Assembly}
\index{Joint Stock Company!General Assembly!Meetings}
\index{Joint Stock Company!General Assembly!Meetings!Frequency}
\index{Joint Stock Company!General Assembly!Meetings!Frequency!Gosh}
\printindex
\end{document}