bug-groff
[Top][All Lists]
Advanced

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

Re: mm header/footer title length not using set .lt value


From: Ed Reed
Subject: Re: mm header/footer title length not using set .lt value
Date: Tue, 8 Dec 2015 23:59:27 -0500
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0

Argggg - the test file, below, includes an EOP macro, which also worked.

The impact, though, of my m.tmac fix is that the EOP macro is no longer required.

Here's the shorter, revised test script without the EOP macro.

.ds dt December 7, 2015
.ds dF Dec. 7, 2015
.po 6
.ll 7.25i
.lt 7.25i
.de TP
.sp 3
.ll 7.25i
.lt 7.25i
.tl \\*(}t
.if e 'tl \\*(}e
.if o 'tl \\*(}o
.sp 2
..
.PH "''PH macro centered text''"
.OF "'Left'Some text to go into the page footer'Right'"
.EF "'\\\\nP'More text to go into the page footer'\*(dF'"
.. =====================================================================
.ce 3
.B
some title of the document
.sp
some text
.br
.sp
.bp
hello
.bp

On 12/8/2015 11:44 PM, Ed Reed wrote:
This may be related to list message from 2003:

https://lists.gnu.org/archive/html/groff/2003-02/msg00147.html

The issue was that the title length set was not affecting the linesize
of the footer output, so the left, center, and right parts of the
footer (OF or EF) scrunched together, and the right margin, in particular,
was much shorter than specified in the test file (see test.acs).

The note below details a fix I applied to the m.tmac file, which caused
the .lt register value to be used, rather than @lt.  I have no idea what
significance the @ has in the @lt line, but decided to try the period,
and that worked.  Perhaps @ reads the default, instead of the set, value?

Whatever - it's working, and now the test.acs (included below)
footer appears as it should,
with the footer line having the specified line length.  The importance
of this is that the ATT mm output ALSO works, with the same source file,
and that was my objective.

Ed Reed - 8-Dec-2015
---------------------------

In /usr/share/groff/current/tmac/m.tmac in the definition of address@hidden:

.\"-------------------------
.\"
.\" Initialize the title environment
.de address@hidden
'na
'nh
'in 0
'ti 0
.ie \\n[Pgps] \{\
.   ps address@hidden
.   vs address@hidden
.\}
.el \{\
.   ps \\n[pg*ps]u
.   vs \\n[pg*vs]u
.\}
.lt \\n[.lt]u   \" was @lt - eer
.ll \\n[.ll]u   \" was @ll - eer
..
.\"-------------------------

The two lines ending in my initials (eer) changed '@' to '.' in the
number register name.

What the @lt referred to, I don't know.  But, changing that line to
'.lt' instead of '@lt' caused the
line length spacing to begin working - that is, the correct title line
length is used in the output.

I'd welcome any suggestions as to what I likely
broke by doing this.

Here is the head of the m.tmac file showing it's version. I'm running on
OpenSuSE 12.1 system.

address@hidden:~/roff> head m.tmac
.\"
.de @revision
.ds RE \\$2
..
.\"
.\" $Id: m.tmac,v 2.43 2010/06/24 10:45:57 wl Exp $
address@hidden $Revision: 2.43 $

And here is a context diff of the original file (m.tmac.bak) to the new
(m.tmac):

address@hidden:/usr/share/groff/current/tmac> diff -c m.tmac.bak m.tmac
*** m.tmac.bak  2015-12-08 21:26:55.920226489 -0500
--- m.tmac      2015-12-08 21:27:05.475043811 -0500
***************
*** 1351,1358 ****
     .     ps \\n[pg*ps]u
     .     vs \\n[pg*vs]u
     .\}
! .lt address@hidden
! .ll address@hidden
     ..
     .\"-------------------------
     .de PH
--- 1351,1358 ----
     .     ps \\n[pg*ps]u
     .     vs \\n[pg*vs]u
     .\}
! .lt \\n[.lt]u \"@lt - eer
! .ll \\n[.ll]u \"@ll - eer
     ..
     .\"-------------------------
     .de PH

And, here is a short test file testing the footer line length.  Note in
the following text
a TP macro is defined for header, which is known to work, but not the
footer using only
.OF and .EF macros, without the fix applied above.

.ds dt December 7, 2015
.ds dF Dec. 7, 2015
.po 6
.ll 7.25i
.lt 7.25i
.de TP
.sp 3
.ll 7.25i
.lt 7.25i
.tl \\*(}t
.if e 'tl \\*(}e
.if o 'tl \\*(}o
.sp 2
..
.de EOP
.sp 3
.ll 7.25i
.lt 7.25i
.if e .tl \\*[pg*even-footer]
.if o .tl \\*[pg*odd-footer]
.sp 2
..
.PH "''PH macro centered text''"
.OF "'Left'Some text to go into the page footer'Right'"
.EF "'\\\\nP'More text to go into the page footer'\*(dF'"
.. =====================================================================
.ce 3
.B
some title of the document
.sp
some text
.br
.sp
.bp
hello
.bp

Best regards,
Ed Reed



--

------------------------
Ed Reed, Sr. Director
Development Services
Aesec Corporation
cell:  +1 (585) 750-2960




reply via email to

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