用破折号表示级别的索引

用破折号表示级别的索引

需要使用带有破折号的LaTeXmakeindex样式来指示子项和子子项。发布Makeidx、子条目和破折号看起来像是这张票。根据建议的补充,以及从其他地方补充的几条内容,这是修改后的.ist

preamble "\\begin{theindex}\\thispagestyle{empty}\n"
quote '+'
headings_flag 1
heading_suffix ""
item_1  "\n \\subitem --- "
item_x1 "\n \\subitem --- "
item_2  "\n \\subsubitem --- --- "
item_x2 "\n \\subsubitem --- --- "
delim_0 ": "
delim_1 ": "
delim_2 ": "
delim_r "-"
suffix_2p "\\,f."
suffix_3p "\\,ff."

以下 LaTeX MWE 使用上述样式文件进行了测试(idxlayout 包用于消除缩进并获取多列索引)

\documentclass{article}
\usepackage{makeidx}
\usepackage[subindent=0pt,subsubindent=0pt, totoc=true]{idxlayout}
\makeindex
\begin{document}

ParentA\index{ParentA}, SubAA\index{ParentA!SubAA}, SubAB\index{ParentA!SubAB}, SubAC\index{ParentA!SubAC}

ParentB\index{ParentB}, SubBA\index{ParentB!SubBA}, SubsubBAA\index{ParentB!SubBA!SubsubBAA}, SubsubBAB\index{ParentB!SubBA!SubsubBAB}, SubBB\index{ParentB!SubBB}

\printindex
\end{document}    

问题是,在输出中,子项列表中的第一个子项没有得到前面的破折号

不理想的索引格式

即使第二个、第三个等也一样。所需的索引输出是

所需索引格式

仅当父项本身在文档中被索引(因此在索引中获得页码)时,才会出现不期望的输出。我如何才能实现所需的索引格式?

答案1

我做了一些研究,找到了答案。两个更多的需要在.ist文件中添加以下行,即

item_01 "\n \\subitem --- "
item_12 "\n \\subsubitem --- --- "

例如item_01

Command to be inserted between a level 0 item and a level 1 item.

该命令item_x1

Command to be inserted between a level 0 item and a level 1 item, where the level 0 item does not have associated page numbers.

item_12和之间有类似的区别item_x2。将这两个命令添加到.ist文件即可达到所需的效果,无论父索引项是否具有页码。

引用的描述来自 Overleaf 网站,网址为https://www.overleaf.com/learn/latex/Indices

相关内容