LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Forum View

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

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

Print Reply
Subject:
From:
Heiko Oberdiek <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Wed, 31 May 2006 21:29:25 +0200
Content-Type:
text/plain
Parts/Attachments:
text/plain (65 lines)
Hello,

I got questions, thus I try to explain it a little more verbose:

On Tue, May 30, 2006 at 05:56:49PM +0200, Heiko Oberdiek wrote:

> On Thu, Apr 27, 2006 at 08:22:51PM +0200, Heiko Oberdiek wrote:
>
> * I have written a wrapper file that merges all the ltnews??.tex
> documents: ltnews.pdf contain all LaTeX News issues 1--17.

Now base-tds.zip contains
    doc/latex/base/ltnews.pdf
instead of
    doc/latex/base/ltnews01.pdf
    doc/latex/base/ltnews02.pdf
    ...
    doc/latex/base/ltnews17.pdf

(The source/latex/base directory is not changed,
the files ltnews01.tex, ltnews02.tex, ... remain there.)

> * To get smaller pdf file sizes I have experimented with
> destinations:
> * Unused destinatins are removed.
> * The destination names are renamed to shorter names.
> I am using all bytes (0-255) except for
> - 0: dangerous for PDF viewers that work with C strings (xpdf?)
> - 13: carriage return needs quoting, otherwise it would be
> normalized to 10 (line feed).
> - 40, 41, 92 (parentheses, backslash): needs quoting
> - 255: avoids unicode marker at string start
> I would be interested, if there are problems with the links/outlines.
> (Apart from links that unhappily point to the baseline.)

Consider an HTML page foo.html with a lot of internal links:
    <a name="section.1">...</a> or <a ref="#codline.127">...</a>
In a similar way destinations are used in the PDF file.
Additionally the names are also stored in a data structure with the
function of a search tree.

The correct spelling of the destination name does matter, if someone
wants use the destination externally: http://somewhere/foo.html#section.1
But in case of the documents that I have generated for latex-tds, these
destination names are (randomly) choosen by hyperref, not a property
of the document. You cannot rely that the destination name for the
implementation section is "section.4", it can be "section*.27" or
"chapter.3" or ...

Thus I made the assumption the spelling of the destinations are not
intended for external referencing. This allows two optimizations:
* Unused destinations are removed.
* The destination names must still unique, but I can choose shorter
  names, e.g. instead of
      section.1, section.23, codline.127 (30 bytes)
  the shortest possible, but unique names are used:
      A, B, C (3 bytes)
  The HTML example from above would be transformed to:
      <a name="A">...</a> or <a ref="#C">...</a>

Example: file size decrease of source2e.pdf: around 4.5 %.

Yours sincerely
  Heiko <[log in to unmask]>

ATOM RSS1 RSS2