如何允许 4 级深度索引条目(原为“为什么索引条目被拒绝?”)

如何允许 4 级深度索引条目(原为“为什么索引条目被拒绝?”)

我已经在文档中标记了索引条目,并在运行 \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,您必须:

  1. 运行一次 LaTeX。
  2. 再次运行 LaTeX 以获取目录。
  3. xindex针对 LaTeX 文件运行
  4. 再次运行 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}

在此处输入图片描述

相关内容