[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] Hey, our headman is in the news!

From: Tadziu Hoffmann
Subject: Re: [Groff] Hey, our headman is in the news!
Date: Tue, 16 May 2006 12:31:04 +0200
User-agent: Mutt/1.5.11

> > > > Vertical shrinkable (or rather, stretchable) space can
> > > > be done easily with macros and a diversion.
> > > 
> > > Well, yes, but using diversion has a lot of side
> > > effects...
> > 
> > What do you mean by "side effects"?
> Mainly that data put into a diversion can't be completely
> `unformatted'.  I don't feel too well in manipulating already
> formatted data...

Oh, no, I wasn't thinking of unformatting the content of the
diversion.  I was thinking of having embedded vertical spacing
macros in the diversion, which could be adjusted so that when
the diversion was finally replayed onto the page, a properly
aligned bottom margin would result.  (See my tmac.diss at  I believe TeX
uses a similar concept (i.e., storing ready-formatted text),
only they call it "boxes", not "diversions", and TeX has an
optimizer to decide where to pagebreak, not just a simple
vertical-position trap.

> > I can think of only one real issue (which is, however, quite
> > restrictive), and that is that when formatting directly to
> > the page you can use an arbitrary number of position traps,
> > while inside a diversion you have only one (!) diversion
> > trap.
> Yep.  Surprisingly, I'm only aware of a single macro package
> which uses a diversion trap: My `underline' macro.
> > (Would it make sense to lift this restriction and implement
> > more traps in a diversion?)
> Definitely.  It's on troff's TODO list since ever.  Do you
> volunteer?

Unfortunately I'm rather busy at the moment, so I'll have to
decline, at least for the coming few months.  Fortunately,
I have so far managed to live with the one-trap-per-diversion
restriction, and I use groff only for fun, so I'm not overly
dependent on it.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]