[Top][All Lists]

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

Re: [Groff] fractional point sizes with -ms

From: Werner LEMBERG
Subject: Re: [Groff] fractional point sizes with -ms
Date: Sun, 11 Jan 2004 07:49:59 +0100 (CET)

> > An alternative which would make the exceptions much less likely
> > would be to scale by 1000, not by 100.  Then you could set the
> > changeover point to, say, 1000, which has the additional advantage
> > of being a more obvious boundary.

BTW: I don't know how many people have seen the following in s.tmac:

  .de par*vs
  .\" If it's too big to be in points, treat it as units.
  .ie (p;\\$1)>=40p .vs (u;\\$1)
  .el .vs (p;\\$1)

This is code from James Clark!  So please don't talk about a `clean
solution' :-)

As a conclusion, having fractional values for \n[VS] only works in the
range up to 40pt.  For backwards compatibility, I have to leave this
code as-is.[1]  Interestingly, there is no such limitation for \n[PS].

To be more precise, only the range 3000-37999 (3.000pt - 37.999pt) for
\n[PS] can be guaranteed to always work since footnote and vertical
space sizes are set automatically to values two points smaller and
larger, respectively, if they are not specified explicitly.

Ted suggested to change \n[PS] to \*[PS].  This doesn't work.  Reason:
Strings, macros, and diversions share the same namespace.  For pic, we
have macros .PS and .PE -- you can imagine what happens.


[1] An improved ms package (-msx) wouldn't have such a restriction.  A
    document using msx could start with .MSX; it is easy to add some
    code to -ms which catches .MSX, switching immediately to -msx.

reply via email to

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