我想定义\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}
\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}