public inbox for [email protected]
help / color / mirror / Atom feedFrom: Tom Lane <[email protected]>
To: Devrim GÜNDÜZ <[email protected]>
Cc: pgsql-docs <[email protected]>
Cc: Peter Eisentraut <[email protected]>
Subject: Re: PDF build issue with 9.0 Alpha5
Date: Sat, 03 Apr 2010 15:53:08 -0400
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
Devrim =?ISO-8859-1?Q?G=DCND=DCZ?= <[email protected]> writes:
> I was trying to build PDF docs for 9.0 Alpha5, and I got this message:
> ! TeX capacity exceeded, sorry [number of strings=245830].
I've found a possible solution for this. The bulk of the strings are
being created by jadetex.dtx: it makes two control sequences for each
flow object in the document. One of these is a page number and the
other seems to have no purpose except to prevent creating duplicate
hyperref anchors. However, diking out the latter doesn't create any
obvious ill effects --- either we have no occurrences in our docs of a
pattern that would result in a duplicate, or there isn't any real
adverse consequence of having a dup. (And in any case it's hard to
envision an adverse consequence that's worse than complete failure to
build the document.)
There turns out to be a very easy way to inject the code change, which
is to create a file "jadetex.cfg" in the doc/src/sgml directory,
containing the modified version of the relevant TeX macro.
(Note: in the vpath case we'd probably need to link it into the build
directory; I haven't experimented with that.) Put this in the file:
\def\FlowObjectSetup#1{%
\ifDoFOBSet
\ifLabelElements
\ifx\Label\@empty\let\Label\Element\fi
\fi
\ifx\Label\@empty\else
\bgroup
\ifNestedLink
\else
\hyper@anchorstart{\Label}\hyper@anchorend
\PageLabel{\Label}%
\fi
\egroup
\let\Label\@empty
\let\Element\@empty
\fi
\fi
}
For comparison, the original definition we're replacing is
\def\FlowObjectSetup#1{%
\ifDoFOBSet
\ifLabelElements
\ifx\Label\@empty\let\Label\Element\fi
\fi
\ifx\Label\@empty\else
\expandafter\ifx\csname x@\Label\endcsname\@madelink
\else
\bgroup
\ifNestedLink
\else
\hyper@anchorstart{\Label}\hyper@anchorend
\PageLabel{\Label}%
\expandafter\gdef\csname x@\Label\endcsname{ }%
\fi
\egroup
\let\Label\@empty
\let\Element\@empty
\fi
\fi
\fi
}
This should work with either jadetex 3.12 or 3.13, and probably older
versions but I don't have source code handy to look at. 3.12 dates
back to 2002 so it's probably old enough anyhow.
I haven't tried to build anything except PDF output with this
substituted code, so it's possible that it interferes with other
output formats.
Comments?
regards, tom lane
view thread (15+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected]
Subject: Re: PDF build issue with 9.0 Alpha5
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox