[NTG-pdftex] character protrusion with the first letter in a paragraph

Hans Hagen pragma at wxs.nl
Mon Nov 15 10:08:39 CET 2004

The Thanh Han wrote:
> Hi,
> I have been thinking of the question how to make char protrusion work
> with the first char of a paragraph. The simplest (and quite robust)
> solution can be as follows: 
> when considering whether a marginal kern should be inserted, we skip
> certain kinds of `invisible' node (like adjust node, penalty node and
> the like). Now to make it work with the first char of a par, we 
> also skip null boxes (box with zero dimen and empty contents) at the
> left margin. 
> The question is whether such behaviour is ``correct'', and what surprises
> it can bring in certain situations.

there are several solutions possible:

<nothing><null box>text text text text

here it looks safe to me to do as you suggest, it can of course be made into an 
option, say \pdfprotrudeparstart=1 or so

<something><null box>text text text text

is more tricky since one may use the box in order to prevent protruding; on the 
other hand, if you ignore all null boxes, then it maybe nice to have something

\noprotrusion, which introduces a special node, which in itself may be tricky, 
although pdftex introduces new nodes anyway

I can also imagine something \pdfprotrudeleft (and right) that can be inserted 
manually (or everypar'd; in that case it would be handy to finally have 
\everyendpar available as well); imagine:

\pdfprotrudeleft \hbox {somechar} some text

\pdfprotrudeleft \hbox {\hbox {somechar}} some text

how difficult is it to let pdftex in that case follow the list until it finds a 
char (here 's'); this woudl permit things like

\pdfprotrudeleft \hbox {x\hskip-2pt x} some text


                                           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 ntg-pdftex mailing list