如何在 imakeidx/splitindex 中重新定义最终生成的索引项

如何在 imakeidx/splitindex 中重新定义最终生成的索引项

我想定义\index[table]{#1}保存几个参数:\index[table]{{#1}{#2}}并使用 构建一个表行splitindex

我怎样才能做到这一点?

答案1

imakeidx这与 或 都无关\item。只需定义一种新的索引样式。使用imakeidx它来管理整个事情会更简单。

文件ind10.ist

将此文件保存在与 LaTeX 文件相同的目录中

preamble "\\begin{theindex}\n\\begin{longtable}{lll}\\mygobble"
postamble "\n\\end{longtable}\n\\end{theindex}\n"
item_0 "\\\\\n\\mymacro"
delim_0 "&"

测试文件

\documentclass{article}
\usepackage{longtable}
\usepackage{imakeidx}

\makeindex[options=-s ind10,columns=1]

\newcommand{\mymacro}[2]{#1&#2}
\newcommand{\mygobble}[1]{}% for gobbling the first \\

\begin{document}

abc\index{{aa}{bb}}\index{{ddd}{eeeeeeeee}}

\printindex

\end{document}

生成的.ind文件

\begin{theindex}
\begin{longtable}{lll}\mygobble\\
\mymacro{aa}{bb}&1\\
\mymacro{ddd}{eeeeeeeee}&1
\end{longtable}
\end{theindex}

输出

在此处输入图片描述

相关内容