如何删除索引子条目之间的换行符

如何删除索引子条目之间的换行符

我正在使用该imakeidx包来生成和格式化我的索引。我想要删除索引的两个子条目之间的换行符。这样,属于同一索引类别的条目将一个接一个地放置 - 用逗号或其他用户定义的分隔符分隔。

下面我提供一个 MWE:

\documentclass{article}
\usepackage{lipsum}
\usepackage{imakeidx}
\makeindex[name=wdes,title=Initia Heirmorum,columns=1] 

\begin{document}
\lipsum \index[wdes]{1st!38@38, 35}
\lipsum \index[wdes]{1st!38@38, 30}
\lipsum \index[wdes]{1st!38}
\lipsum \index[wdes]{1st!25@25}
\lipsum \index[wdes]{2nd!a}
\lipsum \index[wdes]{2nd!b}
\printindex[wdes]
\end{document}

输出中生成的索引如下所示: 图片1

我需要的是类似以下内容: 图片2

有任何想法吗???

答案1

您要做的是创建一个名为的文件,mystyle.ist其内容如下:

item_1 ", "

options=-s mystyle然后在生成索引时添加选项

\makeindex[name=wdes,title=Initia Heirmorum,columns=1,options=-s mystyle]

您就完成了。

平均能量损失

\documentclass{article}
\usepackage{lipsum}
\usepackage{imakeidx}
\makeindex[name=wdes,title=Initia Heirmorum,columns=1,options=-s mystyle]

\begin{document}
\lipsum \index[wdes]{1st!38@38, 35}
\lipsum \index[wdes]{1st!38@38, 30}
\lipsum \index[wdes]{1st!38}
\lipsum \index[wdes]{1st!25@25}
\lipsum \index[wdes]{2nd!a}
\lipsum \index[wdes]{2nd!b}
\printindex[wdes]
\end{document} 

输出

在此处输入图片描述

如果你使用评论中提到的样式文件,那么它的内容应该是

delim_0 "\\dotfill "
delim_1 ": "
delim_2 " \\dotfill "
item_1 ", "

结果是

在此处输入图片描述

例如,有关在线参考资料,请参见http://www.miwie.org/tex-refs/html/makeindex-style-file.html#makeindex-output-style-specs。当然,如果您有“The LaTeX Companion”,里面有描述。

答案2

我建议

delim_1 "; "
item_1 ",  "

单独设置,longlines.ist因为这样可以清楚地区分索引号和页码。item_1如果没有按上述设置,则换行符来自设置。

将其添加options=-s longlines.ist\makeindex选项列表。

\documentclass{article}
\usepackage{lipsum}
\usepackage{imakeidx}
\makeindex[name=wdes,title=Initia Heirmorum,columns=1,options=-s longlines.ist]

\begin{document}
\lipsum \index[wdes]{1st!38@38, 35}
\lipsum \index[wdes]{1st!38@38, 30}
\lipsum \index[wdes]{1st!38}
\lipsum \index[wdes]{1st!25@25}
\lipsum \index[wdes]{2nd!a}
\lipsum \index[wdes]{2nd!b}
\printindex[wdes]
\end{document}

在此处输入图片描述

相关内容