# Avoid: multicol Error: Error saving partial page

In my package I am using in the dtx file the ltxdoc class which uses multicol for the index.

Currently I get this error:

! Package multicol Error: Error saving partial page.

See the multicol package documentation for explanation.

l.1 \begin{theindex}

The part of the page before the multicols environment was nearly full with the result that starting the environment will produce an overfull page. Some text may be lost! Please increase \premulticols either generally or for this environment by specifying a suitable value in the second optional argument to the multicols environment.

However even if I include something like

\setlength\premulticols{10\baselineskip}


this does not change anything.

In the document pdf the error is that the index runs into the bottom of the page instead of starting at a new page.

An obvious solution would be to add an \clearpage at the end of the dtx file

% \clearpage
% \Finale
\endinput


but if this can be solved otherwise I would like to know it.

-
are you using the second optional argument already (if so, \premulticols is not used) –  David Carlisle Jan 29 '13 at 16:52
second optional argument of which command? I did not find any argument defintion of \premulticols. –  Matthias Pospiech Jan 29 '13 at 17:29
the multicols environment: \premulticols is the default value of that argument but is not used if the argument is used. –  David Carlisle Jan 29 '13 at 17:56
This is code inside of ltxdoc.cls or doc.sty . I can not fix it in my code. –  Matthias Pospiech Jan 29 '13 at 18:21

doc package uses

    {\begin{multicols}\c@IndexColumns[\index@prologue][\IndexMin]%


So the second optional argument of multicols is used, so the default value of that argument \premulticols is never referenced. Instead you need to set the length \IndexMin (which defaults to 80pt)

-
I have the same problem, but this answer is too elliptic for me to fully understand and implement. Could you please explain step by step? Thanks! –  Mårten Feb 20 at 1:31
@Mårten use \setlength\IndexMin{...} for some length ... that works for you, the initial value being 80pt –  David Carlisle Feb 20 at 2:02
Thanks! Could you just please tell me whether I should put it in the preamble, at the beginning of the document, or before every {multicols}? –  Mårten Feb 20 at 2:19
@Mårten preamble probably –  David Carlisle Feb 20 at 2:27
It tells me that \setlength\IndexMin{100pt} is an "Undefined Control Sequence"... –  Mårten Feb 20 at 3:03