我刚刚收到 CUP 制作人员发来的编辑请求(我希望是最终的),而且——在最后一刻——他们要求平衡我书索引最后一页的两栏。
能做到这一点就太好了。本书是使用类编写的memoir
,索引由一个简单的\printindex
命令生成。
我尝试加载idxlayout.sty
但——即使放在序言的开头——它也会显示错误消息:Command \indexcolsep already defined
。
所以 ...
- 或者,是否有其他方法可以使索引最后一页的两列保持平衡?
- 或者有没有什么技巧可以让
idxlayout
你玩得愉快memoir
?
如果我错过了一些不该错过的内容,我深感抱歉:但我必须尽快将 PDF 退还给出版商!
答案1
我建议重新定义theindex
以便使用multicols
环境:
\makeatletter
\usepackage{multicol}
\renewenvironment{theindex}
{\clearforchapter
\ifonecolindex
\chapter*{\indexname}
\preindexhook
\else
\setlength{\columnseprule}{\indexrule}
\setlength{\columnsep}{\indexcolsep}
\begin{multicols}{2}[\@makeschapterhead{\indexname}\preindexhook]
\fi
\indexmark
\ifnoindexintoc\else
\phantomsection
\addcontentsline{toc}{chapter}{\indexname}%
\fi
\thispagestyle{indextitlepagestyle}\parindent\z@
\parskip\z@ \@plus .3\p@\relax
\let\item\@idxitem}
{\ifonecolindex\else\end{multicols}\fi}
\makeatother
假设您的书不是双栏格式。
答案2
您可以使用 lockstep 的idxlayout
软件包(与 兼容memoir
)。它默认平衡索引列,并且还具有一个font
选项。允许的值为normalsize
、small
、footnotesize
和current
( 时有效的字体\printindex
)。
由 LOCKSTEP 编辑:以下示例对我有用:
\documentclass{memoir}
\makeindex
\usepackage{idxlayout}
\begin{document}
Some text.\index{Alpha}\index{Bravo}\index{Charlie}\index{Delta}
\printindex
\end{document}