[luatex] \pdfstartlink ... isn't really a link.

Hans Hagen pragma at wxs.nl
Sun Jul 25 22:10:05 CEST 2010

On 24-7-2010 9:28, Paul Isambert wrote:
> Hello all,
> This message addresses the pdfTeX kernel, but since LuaTeX is the pdfTeX's
> future, I think it fits here.
> I've just discovered that \pdfstartlink ... \pdfendlink doesn't create a link
> when<action spec>  is "user" instead of "goto". It simply creates an annotation,
> whose /Subtype must be set to /Link (or anything else) in either "attr" or
> "user". That's apparently a known fact since Heiko Oberdiek has written on the
> pdfTeX list that "`user' must set /Subtype and /A"
> (http://tug.org/mailman/htdig/pdftex/2008-August/007789.html).
> However it is pretty confusing, all the more as the pdfTeX manual doesn't
> mention it, quite the contrary: it says that<user action>  is the action
> performed when the _link_ is activated.
> While that's no big deal once you know it (any insight on the historical reason
> why?), it remains incoherent and umotivated (as far as I can see, at least). So,
> for the sake of coherency&  clarity of the future, wouldn't it be better to have
> \pdfstartlink create a link no matter what, and perhaps another primitive
> \pdfstartannot ... \pdfendannot that would do the same thing as \pdfstartlink
> but without a /Subtype?
> As for compatibility, code written up to know with such things as \pdfstartlink
> user {/Subtype /Whatever ... } ... will produce an annotation with Subtype set
> twice (once to /Link and once to /Whatever), but I've checked and Acrobat at
> least doesn't mind, even if the two subtypes differ, and /Whatever wins, so
> compatibility is preserved.

as such primitives are often encapsulated and not used directly it is no 
big deal that there are some conditions of their usage

also, setting the subset twice is a real bad idea as in the past there 
has been problems with that (in viewers) and validators and parsing the 
annot content in the backend is a no-go

so, this is a 'feature' one has to live with


                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
     tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl

More information about the luatex mailing list