LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Heiko Oberdiek <[log in to unmask]>
Mon, 19 Feb 2001 08:45:36 +0100
text/plain (53 lines)
At 16:06 18.02.2001 +0100, Frank Mittelbach wrote:
>Sebastian Rahtz writes:

> > the classic example is link breaking. if you have a long bit of text
> > to make into a link, pdftex can break it into multiple links, amd
> > linebreak nicely. dvi-based methods just crawl away in despair and make
> > a long unbroken link. People do claim they could break links at the dvi
> > level, but I don't think anyone has actually done it
>is that technically very different from providing, say, color support at dvi
>level? i mean if i say \textcolor{red}{this text is in red} and my text gets
>broken across the line by TeX all that TeX does is providing some \special at
>the begin and end of this text (ie they fall onto two different

For color support, \specials at the begin and the end
are enough. Here a graphics attribute is set at the begin
and the previous color is set at the end of the group.

However, a link region has to be a rectangle (the normal
annotations in PDF 1.2) and the coordinates have to be
known or calculated.
  This is easy, if the link is put in a \hbox. At TeX
level \special markers at the lower left and upper right
corners can be put in the dvi. At PostScript level the
dimensions and absolute position of the rectangle are
calculated by the help of the PostScript command
currentpoint (I do not know a similar command in TeX).
This technique is used by pdfmark (dvips) driver of
  The problem arises, if the link does not fit the
current line, but is broken across lines. Then in most
cases the link area is not a rectangle like this
paragraph as an example.
  PdfTeX does know, that there are line breaks and it
knows about all boxes that are part of the link. So it
generates _multiple_ links, one for each line, that is
part of the link.
  But how to collect the informations in the TeX/dvips
case? I do know about \vadjust to put a special between
the first and second lines of a multiple line link,
but how to get the heights of the next lines?
And, especially, how to get the informations about
the x coordinates of the lines?

  Heiko <[log in to unmask]>

PS: The next big problem is a page break that can
    occur in a link, that is broken across lines.
    In the pdfTeX case, the headline of the
    next page will become part of the link.