bug-groff
[Top][All Lists]
Advanced

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

[bug #60553] changing line spacing alters header vertical placement


From: Dave
Subject: [bug #60553] changing line spacing alters header vertical placement
Date: Sat, 8 May 2021 00:57:52 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Firefox/45.0

URL:
  <https://savannah.gnu.org/bugs/?60553>

                 Summary: changing line spacing alters header vertical
placement
                 Project: GNU troff
            Submitted by: barx
            Submitted on: Fri 07 May 2021 11:57:51 PM CDT
                Category: Macro - me
                Severity: 3 - Normal
              Item Group: Incorrect behaviour
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None

    _______________________________________________________

Details:

The -me macro set uses the register $v to specify the line spacing of running
text.  However, changing the value of this register also changes the vertical
placement of the header.

This is illustrated by a simple test file.


.mso e.tmac
.
.he ''Header'    \" set header text
.nr $v 120       \" set line-spacing register
.sz \n(pp        \" make $v take effect
.
.pp


(The above value for $v, 120, is the default value -me uses if none is
specified.)  Changing the number on the ".nr $v" line changes the header's
vertical location.  Small changes aren't visible to the naked eye, though
looking at the generated PostScript code shows the slight shift:


$ diff <(groff me.test) <(sed s/120/140/ me.test | groff)
233c233
< /F0 10/Times-Bold@0 SF(Header)272.17 60 Q 0 Cg EP
---
> /F0 10/Times-Bold@0 SF(Header)272.17 62 Q 0 Cg EP


For a more dramatic shift, look at the rendered output when $v is 120 and
again when it's 240, effectively double spacing.  This changes the header
position by essentially a line's full height.

This is almost never what a user wants: a document might switch back and forth
between single and double spacing over the course of several pages, but the
location of the header should not drift up and down on different pages.

Further, the -me documentation states that the register hm controls "the
distance from the top of the page to the top of the header."  Changing $v
makes this no longer true, so the observed behavior violates the documentation
as well as common-sense expectation.




    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?60553>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

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