> I use me (the macro package, I mean) to produce these things and
> more.

I can't comment on -me since I've never used it.

> The program also draws text at .sp |19.7c, that is 10 cm from the
> bot of page, and the text's top is really at 10 cm height.  A
> smaller font at the same .sp |19.7c height plots something below the
> 10 cm mark.  How do I explain this?

This one I can explain.  From groff.info, after the explanation of the
.vs request (section `Changing Type Sizes'):

   The effective vertical line spacing consists of four components.
   Breaking a line causes the following actions (in the given order).

   * Move the current point vertically by the "extra pre-vertical line
     space".  This is the minimum value of all `\x' escapes with a
     negative argument in the current output line.

   * Move the current point vertically by the vertical line spacing as
     set with the `vs' request.

   * Output the current line.

   * Move the current point vertically by the "extra post-vertical
     line space".  This is the maximum value of all `\x' escapes with
     a positive argument in the line which has just been output.

   * Move the current point vertically by the "post-vertical line
     spacing" as set with the `pvs' request.

[This information is quite hidden in groff.texinfo, I know -- patches
 are welcome to move it to a separate (sub)subsection, with proper
 links from various places to this new node.]

BTW, this isn't new code; groff has always been working like this.

For your example it means that groff, after the `.sp |19.7c'
instruction, moves down the current amount of the vertical spacing as
set with .vs, *then* outputting the `HELLO' string.

You probably get a better understanding if you use this code fragment,
setting the vertical spacing to zero:

  .ps  51.54
  .sp |19.7c
  .vs 0
  HELLO
  .br
  .ps  25.75
  .sp |19.7c
                               \m[red]HELLO\m[]
  .br
  .vs


     Werner


_______________________________________________
Groff mailing list
Groff@gnu.org
http://lists.gnu.org/mailman/listinfo/groff

Reply via email to