如何使用 imakeidx 包创建新的索引条目?

如何使用 imakeidx 包创建新的索引条目?

这不是以下答案的重复!

  1. Makeindex 无法生成 subsubsub.. 索引条目

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

  3. 创建带有子子子条目的索引

我正在使用 imakeidx 包编写索引,并且需要在索引中添加额外的级别:我尝试实现或使用上面链接的答案中的解决方案,但它们不能正常工作,所以我想提出一个具体的问题,我要求一个解决方案指出以下项目:

  • 由于我上传了 fontspec 包,所以我必须使用 XelaTeX 或 LualaTeX 进行编译;
  • 我使用 TeXstudio;
  • 我尝试切换到 texindy 可执行文件,但没有成功;
  • 我要求索引必须分为(像字典一样)按通常的词典顺序(字母顺序)排序的“按字母顺序排列”的部分。

因此我尝试使用下面使用标记命令的代码,但它不起作用,因为它不会打印以下嵌套序列。

\index{Animal! Mammals! Primates! Humans}

有人能帮帮我吗?

我的尝试

\documentclass[10pt]{report}

\usepackage{imakeidx}

\usepackage{filecontents}
\begin{filecontents*}{index_style.ist}
    headings_flag 1
    
    (markup-locref :open "\hyperpage{" :close "}")
    
    (markup-index :open  "~n\begin{theindex}~n"
        :close "~n\end{theindex}~n"
    :tree
    )
    (markup-indexentry :open "~n \def\tedLevel{0} \item "            :depth 0)
    (markup-indexentry :open "~n \def\tedLevel{1}     \subitem "      :depth 1)
    (markup-indexentry :open "~n \def\tedLevel{2}       \subsubitem " :depth 2)
    (markup-indexentry :open "~n \def\tedLevel{3}           \subsubsubitem " :depth 3)
    
    heading_prefix "\n\\large\\bfseries
    
    \\normalfont\\noindent\\textbf{"heading_suffix "}\\par\\nopagebreak\n"
    
    item_0 "\n \\item \\normalsize "
    
    delim_0 " \\dotfill "
    delim_1 " \\dotfill "
    delim_2 " \\dotfill "
\end{filecontents*}

\makeatletter
\providecommand{\subsubsubitem}{\@idxitem\hspace*{40\p@}}
\makeatother

\makeindex[title = Analytical index, columns = 2, columnseprule = true, options = -s index_style.ist, intoc = true]


\begin{document}
    This is a Texts.
    
    \index{Animal}
    \index{Animal!Mammals}
    \index{Animal!Mammals!Primates}
    \index{Animal!Mammals!Primates!Humans}
    \printindex
\end{document}

注意:

如果你需要,这里你可以看到我的完整序言。

相关内容