We first made the #curl build use #nroff for building the hugehelp file in December 1998, for curl 5.2. This makes "curl -M" work.

Now, I'm working on a change that finally removes nroff from the curl build process: https://github.com/curl/curl/pull/13047

docs: ascii version of manpage without nroff by bagder · Pull Request #13047 · curl/curl

create ascii version of the manpage without nroff build src/tool_hugegelp.c from the ascii manpage move the the manpage and the ascii version build to docs/cmdline-opts remove all use of nroff fro...

GitHub

@wwwgem nroff user, mostly, not GNU gnroff.

I prefer nroff with -mdoc when the primary end result does not need pictures or where plaintext availability has high value (e.g. manpages, but also other systems documentation). This is very nice to write, much nicer than Tₑχ/LᴬTᴇΧ or -man, and semantic markup.

Then GNU groff can be used to provide an additional PDF which is at least somewhat legible, and I do my own HTML conversation from the plaintext output, but mdocml (now called mandoc) can be used to create somewhat good HTML if you stick to -mdoc commands instead of using nroff primitives. (Which I tend to not do.)

I very much dislike how the GNU g{,n}roff macropackages have changed with the last release. The MirBSD nroff macropackages, specifically -mdoc, work well with GNU g{,n}roff and mostly avoid the pain. (Writing \- and a font hack were still needed.)

nroff with -man is just ugly and awful, stay away from it.

nroff with -ms (+), -me (ref), etc. is also possible, but I found -mdoc more modern and therefore less buggy.

I haven’t yet used neqn (doc, guide) or pic and only a little tbl (doc) (mostly, the native -mdoc tables suffice); AT&T nroff does not have a working pic and it doesn’t transfer to plaintext output well anyway.

I use Tₑχ/LᴬTᴇΧ when the end result primarily must be a PDF with pretty pictures (such as the installation manual of a software at $dayjob we handed to paying customers) or for more programmability. Though copy/paste from those PDFs is so bonkers I patched lstlisting to also dump the listings to a .lst file we provide along, so the admin can copy/paste the commands, examples and config files from there.

(I’ve never used $…$ math mode. I’m not in academics ☻)

I’ve pimped both (have my own Tₑχ/LᴬTᴇΧ styles/class and packages, and tweaked my groff fonts (example) and bugfixed the raw roff that implements the macros). I use both depending on where.

For my Mu͒seScore workshop, I even have a link list (source) written in a roff-like format that I convert to both Tₑχ/LᴬTᴇΧ (for PDF output) and HTML (for the website) using a Korn shell script, so much I like the format and structure.

Otherwise I’m somewhat a fan of plaintext (with UTF-8 line drawing, etc.) but not rST or md, and a large fan of just handwriting XHTML/1.1 snippets that can be included in webpages. (This ofc doesn’t transfer well to PDF.)

#nroff #groff #tex #latex #mdoc #mdocml #mandoc #mksh

RTFM nroff(1)

Is there a cross-platform way to add a horizontal rule/page-separator to a man page. Must be supported by groff, nroff, troff, and BSD's roff.
#roff #groff #nroff #troff #manpage #manpages
Is there a standardized format for the EXAMPLES section in man pages? Like should I put the description of the command fist, then the indented command? Or should I put the bolded command first and then an indented description? Which do people prefer?
#manpages #groff #nroff
Because @screwtape has fancy two column adjusted and filled text file in gopher, I retyped my gopher articles with heirloom #nroff.
#troff

Ok, I'm pretty sure cawf 4.10 is the last version of cawf. It's from 1996. The minix version I was playing with earlier is either 4.8 or 4.9.

(groff released in '97, pretty much made cawf pointless)

It was an easy port to RISC OS. I have a little bit of packaging to do yet but it's basically done.

Unfortunately it still can't deal with mandoc or mdoc manpages.

#riscos #cawf #groff #nroff #manpages #mandoc #mdoc