在LaTeX中实现单列索引时遇到了一些麻烦。
我一直在使用idxlayout包和multind来创建一个从大量其他源idx文件中链接的索引。首先,索引总是设置为使用两列。即使idxlayout包设置为columns = 1,并且itemlayout设置为singlepar,也没有骰子。此外(并且更令人沮丧),生成的输出文件由索引行组成,页面实例按行拆分为:
Index Data Term:
Target Document with long filename A, pp(docA)
, pp (docA)
更具体地说,
Data Term:
LongFilename.pdf, 45,
59
有没有办法可以将索引行强行放在同一行:
Index Data Term:
Target Document with long filename A, pp(docA), pp(docA)
更具体地说,
Data Term:
LongFilename.pdf, 45, 59
理想情况下,索引应如下所示:
XXXXXXXXXXX:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX, XX, XX, XXX
XXXXXXXXXXX:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX, XX, XX, XXX
XXXXXXXXXXX:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX, XX, XX, XXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX, XX, XX, XXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX, XX, XX, XXX
而不是
XXXXXXXXXXX: XXXXXXXXXXX:
XXXXXXXXXXXXXXXXXXXXX XX, XXXXXXXXXXXXXXXXXXXXX XX,
XX, XX, XXX XX, XX, XXX
XXXXXXXXXXX: XXXXXXXXXXX:
XXXXXXXXXXXXXXXXXXXXX XX, XXXXXXXXXXXXXXXXXXXXX XX,
XX, XX, XXX XX, XX, XXX
XXXXXXXXXXXXXXXXXXXXX XX, XXXXXXXXXXX:
XXXXXXXXXXXXXXXXXXXXX XX, XXXXXXXXXXXXXXXXXXXXX XX,
XXXXXXXXXXX: XX, XX, XXX
XXXXXXXXXXXXXXXXXXXXX XX,
XX, XX, XXX
有什么想法吗?
答案 0 :(得分:4)
我希望你使用 makeidx 包。对于单列索引页,您可以使用 idxlayout 包:
\usepackage{makeidx}
\usepackage[columns=1]{idxlayout}
\makeindex
答案 1 :(得分:2)
上述方法均不适合我;然而,下面的黑客做到了。它的工作原理是在索引排版时重新定义(即中和)\ twocolumn命令。您通常键入\ printindex,而不是键入:
\let\oldtwocolumn\twocolumn
\renewcommand{\twocolumn}[1][]{#1}
\printindex
\renewcommand{\twocolumn}[1][]{\oldtwocolumn}
与上面提到的解决方案不同,这甚至允许单列索引跨越多个页面。
答案 2 :(得分:0)
This page建议使用
\renewenvironment{theindex}{%
\@makeschapterhead{\indexname}%
\@mkboth{\MakeUppercase\indexname}%
{\MakeUppercase\indexname}%
\thispagestyle{plain}%
\parindent\z@
\parskip\z@ \@plus .3\p@\relax
\let\item\@idxitem
\addcontentsline{toc}{chapter}{\indexname}
}{%
\clearpage
}
答案 3 :(得分:0)