6

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.

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

1 Answer 1

6

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)

6
  • 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, 2014 at 1:31
  • @Mårten use \setlength\IndexMin{...} for some length ... that works for you, the initial value being 80pt Feb 20, 2014 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, 2014 at 2:19
  • @Mårten preamble probably Feb 20, 2014 at 2:27
  • 1
    It tells me that \setlength\IndexMin{100pt} is an "Undefined Control Sequence"...
    – Mårten
    Feb 20, 2014 at 3:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .