groff
[Top][All Lists]
Advanced

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

Re: [Groff] Why doesn't MOM have generalised sectioning?


From: Peter Schaffter
Subject: Re: [Groff] Why doesn't MOM have generalised sectioning?
Date: Sat, 1 Aug 2009 18:00:35 -0400
User-agent: Mutt/1.5.18 (2008-05-17)

On Sat, Aug 01, 2009, Blake McBride wrote:
> MOM has main headings, sub-headings, and paragraph headings.  Each has it's
> own set of macros, and there is a limited number of levels.  Is there a
> reason for this?  MM has it generalised.  It uses fewer macros and goes to
> more levels.  I don't understand this?

Partly, it's a design decision, based on mom's "target audience".
>From the docs:

   "...mom originally came into being to serve the needs of creative
    writers (i.e. novelists, short story writers, etc.--not to cast
    aspersions on the creativity of mathematicians and programmers)..."

Non-tekkies, in other words.  Users more comfortable with
head/subhead/parahead than h1/h2/h3, and not likely to need deeper
heading levels.

Partly, it's a decision based on a piece of advice that used to
circulate in articles on writing basic html: "If you need more than
three levels of heading, you should consider reorganizing your
material."

Partly, it's because of formatting issues.  After 3 levels of
headings, setting heading levels in a way that makes them
distinguishable from each other turns into an exercise in bad
typography.  Not just in the body of the document, in the TOC as
well.

I'm aware this imposes limitations on users for whom mom "is the
perfect macro set for my needs except for this one thing..." :)

Provided you don't need mom's head-numbering facilities, it's
trivial to write a series of wrapper macros for, say, .HEAD, that
incorporate the typographic details you want for each level, e.g.

.de head-1
.   HEAD_FONT B
.   HEAD_SIZE +2
.   HEAD "\\$1"
..
.
.de head-2
.   HEAD_FONT B
.   HEAD_SIZE +2
.   HEAD_QUAD LEFT
.   HEAD_CAPS off
.   HEAD "\\$1"
..

etc.

-- 
Peter Schaffter




reply via email to

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