2010-03-05 49 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