Subject: (dsssl) Re: JadeTeX: link problem with pdftex From: Ian Castle Date: 18 Dec 2001 12:12:56 +0000
Brandon Ibach wrote:
> Quoting Markus Hoenicka <hoenicka_markus@xxxxxxxxxxxxxx>:
> > while fiddling with driver files for Norm Walsh's DocBook DSSSL
> > stylesheets I came across a problem with links in the pdftex
> > output. Under certain circumstances the links appear as such in the
> > PDF file (cursor changes shape etc), but the links are
> > non-functional,
> >
> > I think the culprit are modes in the stylesheet. If the target of a
> > link is created from within a mode, the link fails. If the target is
> > created outside an explicit mode, the link works properly.
>
>   You've diagnosed the "problem" perfectly.  The JadeTeX macros
> intentionally do not create link "destinations" within modes.  This is
> to allow a node (element) to be processed multiple times, such as in
> without having its "label" (link destination) redefined.
>
> > I use JadeTeX 3.5 and pdfTeX 3.14159-13d on Linux. Is this a JadeTeX
> > problem or a pdfTeX problem? If this is a JadeTeX problem, is this
> > by
> > any chance fixed in a later version?
> >
>   Unfortunately, any simple "fix" for this would break other things.
> If a reasonable approach could be designed for allowing labels to be
> defined inside modes under only certain circumstances, perhaps it
> could be worked into a new version of JadeTeX.
>   Perhaps a parameter, which could be set in a jadetex.cfg file,
> could be created which would be a list of modes in which labels should
> be created.  For instance, JadeTeX currently creates labels within the
> listitem-content-mode mode, an exception which appears to have been
> established for the Modular Docbook Stylesheets.
>   I'd code this up to propose for a future version of JadeTeX, but I
> can barely find my way around TeX code, so I'm afraid I wouldn't know
> how to start with something like this.  Any TeXnicians care to take a
> shot at it?  The relevant code appears at approximately line 515 of
>
> -Brandon :)

I started looking into this (or what I assume is this) issue at the end
of last week. Specifically, with the use of ulink to create the indexes.

I'm not sure if it is exactly the same - as the processing mode didn't
seem to be the determining factor.

The problem as far as I could see is that the way things are labelled
causes white space to be generated (the comment around FlowObjectSetup
is relevant to this). In places were this matters (a cell in a table for
example), instead of invoking the \Node macro to label the text, the
\FlowObjectSetup macro is called instead. This attempts, as far as I can
see, to write out the appropriate label reference in the aux file.
However, this seems to get ignored/doesn't work... All my attempts to
have a macro to generate the label just result in extra white space...
However, if I just hard code a call to \Label in at the right place it
does work... Anyway, it ought to be fixable - I'm not sure how though...

The end result is that labels in some nested objects are ignored.

Oh - the node that generates the white space isn't one that actually
needs to be labelled... so I was wondering wether a change to jade that
simply emmitted \Label at appropriate places - rather than
\Node{\def\Label... would do the trick..

Anyway, does this sound like the same problem above - or are the two
labelling bugs! [And a heads-up to let you know that I have also been
looking at the problem - although the only result so far has been a