groff
[Top][All Lists]
Advanced

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

Re: Writing techical paper in mm


From: G. Branden Robinson
Subject: Re: Writing techical paper in mm
Date: Wed, 15 May 2024 16:03:20 -0500

Hi Bento,

At 2024-05-15T17:00:52-0300, Bento Borges Schirmer wrote:
> Em qua., 15 de mai. de 2024 às 15:47, G. Branden Robinson
> <g.branden.robinson@gmail.com> escreveu:
> >
> > Hi Bento,
> >
> > It seems that this behavior is for compatibility with DWB mm.
> 
> Oh, Documenter's Workbench... I'm reading this Apple manual I found in
> this very mailing list:
> 
> http://bitsavers.org/pdf/apple/mac/a_ux/aux_2.0/030-0761-A_AUX_Text_Processing_Tools_1990.pdf

I believe I found the same document a while back via the same means.  :)
There is a wealth of information in the archives of this list.  I have
tried to contribute some, to mixed results.  :-O

One of our subscribers, T. Kurt Bond, maintains what I consider to be
the go-to version of the DWB mm documentation; it's what I use when
staring at groff's implementation and trying to make decision about
features and bugs.

https://tkurtbond.github.io/troff/mm-all.pdf

> its last chapter mentions some tools like spell, style and diction, I
> guess they come from this package?

As far as I know, _those_ DWB programs did not become freely licensed as
DWB troff did, but I haven't seriously researched the issue.

There are however FLOSS alternatives for all of them.  I'd offer more
detail but I don't use any of them, despite grievous flaws in my own
style and diction.  ;-)

> Unless I find them, I'll have to find deroff or unroff to check my
> grammar using some other tool!

deroff and unroff have a hard job to do, and I literally _never_ hear
testimonials from people employing them.  The difficulty arises from the
nature of the *roff language, which is Turing complete.  To know what
letters are going to appear on the page, you have to interpret
*roff--nearly the whole language.  The more of it you interpret
correctly, the more reliable your results will be.

I suggest using "groff -a".  This "approximate output mode" works as
well or better than any deroff or unroff I've seen.  The caveat is that
special characters show up in a special notation.  The most notorious
example is probably the hyphen.

$ echo 'My mother-in-law does not have a high opinion of me, but sed ut 
perspiciatis, unde omnis iste natus error sit voluptatem accusantium doloremque 
laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore veritatis et 
quasi architecto beatae vitae dicta sunt, explicabo.' | groff -Tps -a
<beginning of page>
My mother-in-law does not have a high opinion of me, but sed ut perspiciatis, 
unde omnis iste natus error sit volup<hy>
tatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa, quae ab 
illo inventore veritatis et quasi
architecto beatae vitae dicta sunt, explicabo.

The interesting thing about this is that explicit hyphens are rendered
as '-', but "soft" hyphens introduced by the formatter at breaks are
rendered as "<hy>".

(Some day I'd like to make other "approximate" output forms available.)

For style, diction, and spell checking purposes, you might disable
hyphenation while drafting.

$ printf '.ps 14p\n.nh\nSed ut perspiciatis, unde omnis iste natus error sit 
voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa, 
quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt, 
explicabo.\n' | groff -Tps -a
<beginning of page>
Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium
doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore
veritatis et quasi architecto beatae vitae dicta sunt, explicabo.

I also increased the type size to effectively reduce the line length to
a more readable length (trying out some recent advice from Paul
Eggert).

> This helps a lot! Groff also warns about "cannot break line" when
> setting 1.27c directly in your document, but when dividing by 1n and
> using the default, it works perfectly! I was about to try me, but I
> can now continue with mm :)

Excellent!

> hmmm I'll keep all that in mind then!

The groff_mm man page in groff 1.23.0 is much improved over earlier
versions, and even more so in groff Git.  (This is my opinion as the
person who's started maintaining it.)  Also many bugs have been fixed.

https://savannah.gnu.org/bugs/?group=groff&func=browse&set=custom&msort=0&bug_id[]=&submitted_by[]=0&category_id[]=121&severity[]=0&bug_group_id[]=0&resolution_id[]=0&assigned_to[]=0&status_id[]=0&plan_release_id[]=0&summary[]=&advsrch=0&msort=0&chunksz=50&spamscore=5&report_id=225&sumORdet=&morder=bug_id%3C&offset=0#results

(Savannah bug tracker URLs are obnoxious--sorry.)

I would be keenly interested to hear of any bugs in GNU mm,
particularly any seemingly unintentional incompatibilities with DWB mm.

Please continue to use this mailing list as a resource for questions,
problems, or clever mm hacks you have.

Regards,
Branden

Attachment: signature.asc
Description: PGP signature


reply via email to

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