Hi,
I encountered this problem half a year ago, and succeeded
in changing some TeX source files and got the thing to work.
Of course, I need to port it to another platform and forgot
what changes I made ;-)
Therefore, the first posting I sent might be confusing.
Yesterday I finally solved the problem and am now happily
producing 1200 page large PDF documents from SGML using openjade.

Summary:

max_strings    I changed this in texmf.cnf to 200000.
max_dest_names (PDF specific) I changed to 200000 in the
               source files pdftexdir/pdftex.ch

ssup_max_strings changed in tex.web (?)
max_halfword     changed in tex.ch and tex.web

Just setting max_strings values larger than ~52000 does
not seem to have any effect, as other people on the mailing
list already noted. To be able to set the value > 52000 one needs
to set the ssup_max_strings in the source files and to avoid
conflicts with max_halfword this value also needs to be changed.

To this end I changed its (max_halfword) value in both tex.web
and tex.ch in the directory texk/web2c (I'm using teTeX
version 1.0.7).

(To be consistent I also had to change omega.web and
omegadir/om16bit.ch)

If these changes are properly done, or other parts need to
be changed I do not know. With these changes it compiles
and works!

Thanks,

pieter

P.S. I am at home and do not have the source files at hand,
     so I'm reconstructing what I did last week by heart....
     If anyone is interested, please email me, and I can
     send the diff files.

> -----Original Message-----
> From: Harald Hanche-Olsen [SMTP:[EMAIL PROTECTED]]
> Sent: Friday, June 15, 2001 6:17 PM
> To:   [EMAIL PROTECTED]
> Subject:      Re: tex capacity exceeded
> 
> 
> + Pieter Rijken <[EMAIL PROTECTED]>:
> 
> | With openjade I'm  generating a 1200 page large PDF document.
> | After about 600 pages pdfjadetex quits with the error that
> | it has run out of capacity. In this case it has run out of
> | the parameter 'number of strings' (about 52000).
> | 
> | I figured out that the parameter max_strings has to be increased.
> | This parameter cannot be changed in the texmf.cnf file.
> 
> Sure it can.  What gave you the idea that it cannot?  (Did you make a
> local texmf.cnf and forget to set TEXMFCNF?)
        [> ]  Yes you're right. This parameter can be changed.
        What I meant but didn't type ;-) was the parameter
        max_dest_names in pdftexdir somewhere.

> | Therefore, this number has to be fixed in the sources and pdftex
> | needs to be recompiled, I assume.
> | 
> | The problem now is, that the value of max_strings must not exceed
> | the value of max_halfword. Unfortunately I need a value of 200000
> | for max_strings. For this, I have to increase the value of
> | max_halfword.
> 
> Indeed, if you want it *that* big it seems that you need to recompile.
> 
> But tex.ch already sets
> 
> @d max_halfword==@"FFFFFFF {largest allowable value in a |halfword|}
        [> ]  Actually, two or three lines above this one it
        also says max_halfword=65535....

> so that isn't the problem.  More difficult is the bit that says
> 
> @d ssup_max_strings ==65535
> {Larger values may be used, but then the arrays consume much more memory.}
        [> ]  Yes, you're right again, this one is the problem.

> which eventually stops you from making max_strings bigger than that
> number.  You could try changing that 65535 into @"FFFFFFF - maybe that
> would do the trick?
        [> ]  This is what I did not understand from the sources,
        why are there two lines for max_halfword, and ssup_max_strings?

> (And remember the structure of .ch files:  The lines following @x are
> original lines from the .web file, while the lines following the next
> @y are their replacement.  So it only makes sense to edit a .ch file
> after @y line, before the next @x line.)
        [> ]  This explains a lot.

> Disclaimer:  I have never tried this sort of thing myself, so I cannot
> guarantee it.  Let us know if you succeed.
> 
> - Harald

Reply via email to