使用 multind 和 svmono.cls 将多个列放置在多个索引中

使用 multind 和 svmono.cls 将多个列放置在多个索引中

我正在尝试在 LaTeX 文件中实现多个索引。我必须使用 Springer 的样式文件 ( svmono.cls; ->链接到压缩的 Springer Style) 并用包做了索引multind

索引过程很顺利,但它们不会生成为章节。我尝试通过修改文件中的以下行来改变这种情况multind.sty\addcontentsline{toc}{chapter}{#2}% chapter instead of section

现在索引是章节,但标题不会采用 LaTeX 文件的一般样式。我从一个人那里得到了这段代码,效果很好:

\makeatletter
\def\printindex#1#2{
\chapter*{#2}
\addtocounter{chapter}{1}
\addcontentsline{toc}{chapter}{#2}
\@input{#1.ind}}

\makeatother

嗯...标题现在看起来不错。但索引是在一列中生成的,而不是两列,这是以前的方式(也是我想要的方式!)。

所以我尝试使用包multicol。它的工作方式是,我将索引放在两列中,但在章节的开头,第二列的位置不正确。我截取了问题的屏幕截图:

屏幕截图链接

那么...我现在该怎么做才能调整右列?在下一页上,列已对齐,但那里没有章节开始(但有标题)。

我希望我的问题是可以理解的,因为我对 LaTeX 还不太熟悉,而且不是母语人士。提前感谢任何帮助 :)。

PS:我还尝试创建一个最小的工作示例:

\documentclass[deutsch]{svmono} % Style-file vom Springer Verlag
\usepackage{multicol} % used for the two-column index
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage[ngerman]{babel} % Neue deutsche Rechtschreibung und Trennmuster
\usepackage{multind} % Für mehrere Indizes

\makeatletter
\def\printindex#1#2{
\chapter*{#2}
\addtocounter{chapter}{1}
\addcontentsline{toc}{chapter}{\numberline {\arabic{chapter}}#2}
\@input{#1.ind}}

\makeatother

\makeindex{index} % Wird zur Erstellung der Indizes verwendet
\makeindex{autorenregister} % makeindex / (sprmidx.sty)

\begin{document}

\title{Wurst}
\date{}
\maketitle

\frontmatter
\tableofcontents

\mainmatter
\chapter{Kapitel 1}
Test.
\chapter{Testbla}
blablabla

\backmatter
\printindex{autorenregister}{Autorenregister}
\printindex{index}{Index}

\end{document}

答案1

如果你使用imakeidx而不是multind全部应该按照你的意愿进行:

\usepackage{imakeidx} % Für mehrere Indizes

\makeindex[name=index,title=Index,options=-s svind.ist]
\makeindex[name=autorenregister,title=Autorenregister,options=-s svind.ist]

在文档中,索引条目应该类似

\index[index]{Entry}
\index[autorenregister]{Autor}

(可选参数决定条目应放在哪个索引中)。为了打印索引,请写入

\printindex[autorenregister]
\printindex[index]

相关内容