[XeTeX] Running out of memory in XeSearch while trying to XeIndex on largish latex files.
Heiko Oberdiek
heiko.oberdiek at googlemail.com
Thu Feb 10 02:55:13 CET 2011
On Wed, Feb 09, 2011 at 10:17:54PM +0100, Paul Isambert wrote:
> Le 09/02/2011 20:52, Michael Joyner a écrit :
> >We are trying to use XeIndex/XeSearch on what we consider to be
> >some medium/small documents and are getting the following error:
> >
> > ! TeX capacity exceeded, sorry [save size=80000].
> > \pdfstringdef ... \let \GenericError \@gobblefour
> > \let
> > \GenericWarning \@gob...
> > l.5671
> > Here is how much of TeX's memory you used:
> > 26308 strings out of 494522
> > 458137 string characters out of 503842
> > 738532 words of memory out of 3000000
> > 29310 multiletter control sequences out of 15000+200000
> > 9330 words of font info for 51 fonts, out of 3000000 for 9000
> > 670 hyphenation exceptions out of 8191
> > 40i,7n,43p,500b,80001s stack positions out of
> > 5000i,500n,10000p,200000b,80000s
> > Output written on 000002944.pdf (79 pages).
> >
> >
> >I have tried increasing the 'save size' above 80000, but it
> >doesn't seem to go any higher. :(
> >
> >This occurs when the package is loaded, regardless as to whether
> >we specify words to index or not.
> >
> >We tested with just XeSearch loading, and the same error occurred.
> >
> >We would really appreciate any advice on this.
>
> Without a minimal example, there isn't much I can do. But possible
> loops are described on page 5 of the doc. Are you sure you're not in
> such a case?
\documentclass{article}
\usepackage{xesearch}
\begin{document}
\tracingassigns=1
Hello World
\tracingassigns=0
\end{document}
The example shows that each word creates two command sequences,
example for "Hello":
{changing \Hello at cs@xs at words=undefined}
{into \Hello at cs@xs at words=\relax}
{changing \hello at ncs@xs at words=undefined}
{into \hello at ncs@xs at words=\relax}
I don't know the internals of xesearch.sty, but do you really need
the meaning \relax? Or it is just the usual side effect of TeX's
\csname?
In \xs@@F at Test you are using:
\expandafter\ifx\csname\xs at String @cs at xs@words\endcsname\relax
Perhaps you can replace it by \ifcsname ...\endcsname?
Yours sincerely
Heiko Oberdiek
More information about the XeTeX
mailing list