groff
[Top][All Lists]
Advanced

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

Re: [Groff] Desable and enable page numbers with ms


From: Robert Thorsby
Subject: Re: [Groff] Desable and enable page numbers with ms
Date: Thu, 18 Oct 2012 08:50:03 +1100

On 18/10/12 04:11:35, trebol wrote:
> Thanks  Robert, Tadziu.  But these are header modifications.
> I'm asking for a request, or register to simply control page
> number  printing  in  ms,  but now I think there is not such
> thing.  Anyway, thanks again.

Perhaps your are approaching the problem from the wrong angle. The 
location of page numbers is usually controlled by the header or footer 
macro. For example, if the pagination is printed as part of the header 
then the header macro will determine where it is printed -- eg, offset 
against the outer margin.

Likewise, if the numbering is printed at the bottom of the page (eg, on a 
chapter title page) then the footer macro will contol its location (eg, 
centred).

It follows that if the header/footer macro determines where the 
pagination is placed it is also that macro which should contain the 
printing statement for the page number. For example, paginate on the 
left margin for verso pages and on the right margin for recto pages, thus 
enabling page numbers to be printed flush against the outer margin.

If you have a situation where you wish to control, for individual pages, 
whether the number is displayed (printed) at all this is usually done by 
planting a trigger in the body copy. The obvious use for such triggers is 
in front matter where pagination is only sometimes printed. These 
triggers are registers created for the purpose; number registers are 
easier because they can be auto-incremented in a manner easily understood 
by humans.

The header/footer macro simply contains a conditional statement, using 
the value of the trigger register, to determine whether the page number 
is printed.

Use the wh trap/request to automatically call the header and footer 
macros.

All this has been a rambling attempt to set out a procedure:

1. Use .wh to automatically call the header and footer macros;
2. Create header and footer macros to determine the placement of numbers;
3. Use triggers in the body copy to increment registers created for the 
purpose; and
4. Make use of your register values to determine in your header/footer 
macro whether or not the number is printed.

One final point. If you are creating a publication with front matter, use 
the inbuilt page-number registers to determine if a page is recto or 
verso but create another number register to hold the actual page number. 
You can control whether the numbering is Roman or Arabic by defining the 
register as Roman initially and then by redefining it (and restarting it) 
to Arabic on the first page of the copy; auto-increment this register in 
the footer macro.

I suspect that the reason why there is no pre-existing macro that contols 
everything is that where, when and how pagination is printed is very much 
an individual preference, or at least subject to differing "standards" in 
different parts of the world. And to the individual differences in types 
of publications.

Hope this helps.

Robert




reply via email to

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