索引布局:子项与条目位于同一行

索引布局:子项与条目位于同一行

我正在尝试获取这种索引:

在此处输入图片描述

我正在使用bookdocumentclass 和imakeidx

有谁知道如何获得这种方面吗?

我猜这与文件有关.ist,但我真的不知道我的子项是item_x1item_1还是item_01

headings_flag 1
delim_0 "}\\hspace{0pt},\\hspace{6pt}"
delim_1 "\\hspace{0pt},\\hspace{5pt}"
delim_2 "\\hspace{0pt},\\hspace{4pt}"
delim_t "."
item_0 " \\item {  " 
item_x1 "},\\subitem }"
item_1 "}\\subitem "
item_01 "}\\subitem "

谢谢大家 !

答案1

.ind程序生成的辅助文件只是makeindex一个theindex环境,其内容类似于

\begin{theindex}
<heading>
  \item <level 0 entry>, <page>.
    \subitem <level 1 entry>, <page>.
    \subitem <level 1 entry>, <page>.

  \indexspace

<more entries>
\end{theindex}

因此,正是\subitem导致了每个 1 级条目之前的换行符。由于\subitem是文档类通常提供的 latex 宏,因此您可以重新定义它。在下面的示例中,我列出了文档类中的原始定义article并重新定义它们以满足您的要求。

\documentclass{article}
\usepackage[nonewpage]{imakeidx}
\makeindex[options= -s inline-subitems.ist]

\makeatletter
\renewcommand\@idxitem{\par}
\renewcommand\subitem{}

% \newcommand\@idxitem{\par\hangindent 40\p@}
% \item is let to \@idxitem at \begin{theindex}
% \newcommand\subitem{\@idxitem \hspace*{20\p@}}
\makeatother

\begin{document}
First entry group%
\index{entry}\index{alpha!beta}\index{alpha!gamma}\index{alpha!eta}

Second entry group%
\index{entry!a}\index{entry!b}\index{entry!c}\index{entry!d}
\printindex
\end{document}
% inline-subitems.ist
headings_flag 1
delim_0 "}, "
delim_1 ", "
delim_2 ", "
delim_t "."
item_0 "\n  \\item \\textbf{"
item_1 "\n    \\subitem "
item_01 "\n    \\subitem "
item_x1 "}.\n    \\subitem "

在此处输入图片描述

相关内容