[Top][All Lists]
[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