groff
[Top][All Lists]
Advanced

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

Re: [Groff] grog and mom.


From: Bernd Warken
Subject: Re: [Groff] grog and mom.
Date: Thu, 6 Jun 2002 23:08:55 +0200
User-agent: Mutt/1.2.5i

On Thu, Jun 06, 2002 at 02:17:02PM -0400, Peter Schaffter wrote:
> 
> > Another possibility is
> > 
> > .if !dPRINTSTYLE \
> > .  mso om.tmac
> 
> I'd prefer, if possible, to avoid requiring groff primitives in mom
> documents. 

That's too holy athinking.  No macro package can meet all users' needs.
So you will find out that the pure `om' documents are pestered with
primitive macro programming - that's life; and even, that adds life.

> How about a macro -- .MOM -- that does what you suggest
> and which would be entered at the top of all mom documents?
>
If you introduce such a macro then a document without that macro must
produce a fatal error.

A more general method is a new groff request (or rc macro) `.require' 
that loads a macro package only if necessary.  To accomplish this,
every macro package must define some characterizing string/macro,
for example, ._NAME_TMAC, analoguously to the `#ifdef' in C header files.

> Also, I'm not clear why .mso om.tmac is necessary if om.tmac is
> installed in site-tmac as recommended.
> 
if `mom' is a groff standard package (such as `me') then...
- om.tmac should be installed in the normal tmac directory.
- grog must perfectly recognize all mom documents.
- the groff pipe handles `mom' exactly like `me', etc.
- it is not necessary to worry about .so/.mso.

otherwise (such as www.tmac)...
- om.tmac can go to site-tmac or wherever a user likes to.
- the groff pipe and grog need not know about mom's existence.
- `mom' must be explicitly included at the header of the document.

As it looks by now, `mom' has not yet reached the state of perfect
standard groffship, so an explicit .so/.mso in all mom documents seems 
to be mandatory - or the conditions above must be met.

Bernd Warken


reply via email to

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