我正在使用该包imakeidx
来生成索引对于我的文档,但是当我使用该选项时,我遇到一个问题noclearpage
,即索引不是打印(或者它不打印所有条目 -不完整索引)。
我使用这个选项来避免在下一页中进行索引\clearpage
。
问题
和
\indexsetup{level=\section,toclevel=section}
完美运行!但索引传递到下一页,并且
\indexsetup{level=\section,toclevel=section,noclearpage}
这指数未打印。
平均能量损失
\documentclass{article}
\usepackage{imakeidx}
\indexsetup{level=\section,toclevel=section,noclearpage} %
\makeindex
\begin{document}
\tableofcontents
\section{F}
a\index{first}
b\index{second}
\section{G}
c\index{third} d\index{four}
\printindex
\end{document}
我不明白这是什么问题?
编辑
我尝试添加nonewpage
第一个答案中建议的选项,但问题变得更加严重,因为.idx
运行后甚至没有生成文件反复pdflatex
(既不工作pdflatex --enable-write18
也不pdflatex -shell-escape
工作)产生.log
喜欢(部分)
...
No file indexsetupproblem.ind.
Package imakeidx Warning: Remember to run (pdf)latex again after calling
(imakeidx) `makeindex indexsetupproblem.idx'.
[1
{C:/ProgramData/MiKTeX/2.9/pdftex/config/pdftex.map}
\indexentry{first}{1}
\indexentry{second}{1}
\indexentry{third}{1}
\indexentry{four}{1}
]
...
似乎添加该nonewpage
选项肯定会阻止文件的创建.idx
(文件已创建,但空的)。
答案1
更新:
由于我之前的答案不起作用,我向 Enrico Gregorio(的作者和维护者)寻求帮助。正如他告诉我的那样,如果未加载imakeidx
选项,则此解决方案需要修复软件包。您可以在 之间找到此修复程序。感谢 egreg。我将此标记为 CW。splitindex
\makeatletter\makeatother
nonewpage
在使用文章类型文档类并且正在排版多个索引时,禁止发出新页面命令。我们不明白为什么有人会在一篇文章中使用多个索引(除了可能用于包文档,它通常提供宏索引和更改列表)。(egreg 2013,imakeidx
文档)
% arara: pdflatex
% arara: makeindex
% arara: pdflatex
% arara: pdflatex
\documentclass{article}
\usepackage[nonewpage]{imakeidx}
\indexsetup{level=\section,toclevel=section} %
\makeindex
\makeatletter
\xpatchcmd{\imki@putindex}
{\immediate}
{\ifimki@disableautomatic\else\immediate}
{}{}
\xpatchcmd{\imki@putindex}
{\endcsname}
{\endcsname\fi}
{}{}
\makeatother
\begin{document}
\tableofcontents
\section{F}
a\index{first}
b\index{second}
\section{G}
c\index{third} d\index{four}
\printindex
\end{document}