groff
[Top][All Lists]
Advanced

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

Re: [Groff] Extending .tm to allow for file handles


From: Robert Thorsby
Subject: Re: [Groff] Extending .tm to allow for file handles
Date: Fri, 19 Feb 2010 09:31:03 +1100

On 19/02/10 06:04:13, Larry Kollar wrote:
> In my Makefile, I use 2> to redirect stderr to a file:
> 
>       groff $(FLAGS) -rTocGen=1 -z stuff bookfile.ms 2>bookfile.aux
>       ## do stuff with the aux file ##
>       groff $(FLAGS) stuff bookfile.ms >bookfile.ps 2>bookfile.err
> 
> The TocGen register turns on all the stuff needed for contents, 
> cross-
> 
> refs, and index; it's all output using .tm.

I also use Larry's method to generate indexes, lists and the like. It 
permits external formatting which is lot easier than trying to do so 
from within the groff input file.

I also use .tm to "calculate" the last page for those occasions when I 
need "Page % of N".

TotalPs="$(groff $(FLAGS) -iz  "input" -<<< '.tm \n%' 2>&1>/dev/null)"

$TotalPs is then tested for numeric value to determine whether STDERR 
contains anything other than a number (or a number within a specified 
range) before being used on the next run to populate the appropriate 
register.

The use of both the "z" switch and the redirection of STDOUT to /dev/
null is not belt & braces, it prevents the output of an additional 
newline.

I would hazard the guess that redirection of STDERR from the command 
line would obviate the need for redirecting .tm itself from within 
groff. Is there *any* situation where a file created by .tm requests 
would *not* require inspection and/or further manipulation by hand 
before being included back into the book?

Robert Thorsby





reply via email to

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