[tex-k] Re: [pdftex] pdfeTeX: bad interaction of \pdfstartlink...\pdfendlink with \beginR...\endR

Hans Hagen pragma at wxs.nl
Wed Dec 29 22:58:24 CET 2004


Vladimir Volovich wrote:

>  HH> 1. Links can be nested.
> 
> hm - i wonder how it is treated by PDF viewers? if you click on a
> place which is linked from several links nested, which link is to be
> followed?

i have been stacking links since pdf came around; keep in mind that annotations
are placed in annotation space in pdf (a problem in itself, and in my opinion a
design flaw); a consequence is that pdftex needs to translate all annot
rectangles to annotation space and it's in that process that the r-l links get
messed up:

- rl typesetting more or less comes down to lr typesetting and rl flushing (to
dvi/pdf)
- in that stage pdftex needs to negate the width

in stacking, the topmost annotation takes precidence; widgets are more a problem
than links, since widgets cannot be stacked / covered, which probably is a flaw
in the plugins that handle widgets.

patching the annotation handling is tricky and needs testing before it ends up
in the official version; keep in mind that user specified rectangles (i.e. width
  / height / depth) needs a different treatment than link-endlink) i can imagine
that it becomes an option, like : \pdfswaprect or so. Since normally rl
typesetting is triggered by macros, one can then influence annotation handling
in more detail.

btw, omega and etex have different rl mechanisms, and therefore it's dangerous 
to provide hard coded behaviour without explicit control; it's not that trivial 
to give macro packages consistent multi directional support (some layout 
components need to be forced into lr mode, while others stay in rl mode; this 
also means that for instance plain, latex, context demand different solutions 
and control, but that topic is beyond thsi list -)

Hans

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





More information about the tex-k mailing list