我正在尝试在 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]