2010-03-05 61 views
2

在LaTeX中实现单列索引时遇到了一些麻烦。单列,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

或许你可以尝试,而不是idxlayout的cuted包,甚至multicol包。对于cuted

标准乳胶只能在页面顶部的\ onecolumn和\ twocolumn之间切换;命令本身会清除前一页。该软件包不受限制,并允许您在同一页面上混合使用单列和双列模式。

+0

的cuted包的工作非常出色。感谢您的建议。我在makeindex样式文件的前导码和后导码参数中设置了/ begin {strip}和/ end {strip},并给出了正确的结果。 – panagioti 2010-03-08 15:53:23

0

This page建议使用

\renewenvironment{theindex}{% 
    \@makeschapterhead{\indexname}% 
    \@mkboth{\MakeUppercase\indexname}% 
      {\MakeUppercase\indexname}% 
    \thispagestyle{plain}% 
    \parindent\[email protected] 
    \parskip\[email protected] \@plus .3\[email protected]\relax 
    \let\item\@idxitem 
    \addcontentsline{toc}{chapter}{\indexname} 
}{% 
    \clearpage 
} 
2

上述方法都不适用于我;然而,下面的黑客做了。它通过在索引被排版时重新定义(即中和)\ twocolumn命令来工作。在通常情况输入\ printindex,而不是键入:

\let\oldtwocolumn\twocolumn 
\renewcommand{\twocolumn}[1][]{#1} 
\printindex 
\renewcommand{\twocolumn}[1][]{\oldtwocolumn} 

不同于上述cuted的解决方案,这甚至允许一列索引跨越多个页面。

2

我希望你使用makeidx包。对于一列索引的网页,你可以使用idxlayout包:

\usepackage{makeidx} 
\usepackage[columns=1]{idxlayout} 
\makeindex