Should I use mdoc for user programs?

Polytropon freebsd at
Thu Oct 12 19:45:53 UTC 2017

On Thu, 12 Oct 2017 21:39:53 +0300, Yuri Pankov wrote:
> On Thu, 12 Oct 2017 20:09:41 +0200, Polytropon wrote:
> > On Thu, 12 Oct 2017 16:18:28 +0300, Yuri Pankov wrote:
> >> On Thu, 12 Oct 2017 11:02:49 +0200, Sijmen J. Mulder wrote:
> >> [...]
> >>> I noticed that the required .Os macro (man 7 mdoc) outputs "FreeBSD
> >>> General Commands Manual" which does not seem appropriate.
> >>
> >> It's not about the .Os macro, rather it's man-section-to-name mapping
> >> done by the formatter used, i.e. when using mandoc(1), on FreeBSD
> >> section 1 man pages would say "FreeBSD General Commands Manual", on
> >> illumos exactly the *same* man page would say just "User Commands" (for
> >> mandoc this can be customized editing one of the source files currently).
> > 
> > According to "man mdoc", it's easy to redefine .Dt at the beginning
> > of the document (just like .Dt or Dd).
> Indeed, my answer was more about that output shouldn't stop the OP from 
> using mdoc.  And redefining the section name rarely serves any purpose; 
> if you absolutely need it, go with a new section (yes, I know it's bad).

This is possible, but if you can, use the established categories.
Binaries (programs in general) to section 1, files to section 5,
and so on. Ports-supplied manpages go to /usr/local/share/man
anyways (instead of the OS location at /usr/share/man). Using
"custom sections" like "3X" (found in "man curs_attr", for
example) is possible as well.

To avoid confusion with OS-provided tools, it will probably help
to change the information in the header and footer which mdoc
generates automatically when the default macros are being used.
With "man mdoc" and the examples in /usr/share/examples/mdoc
usable templates can be easily created.

A nice example is "man mplayer", where the header and footer are:

	MPlayer(1)            The Movie Player            MPlayer(1)
	The MPlayer Project      2009-03-25               MPlayer(1)

The macros at the beginning of the manpage allow conveniently
changing anything that's needed - _if_ it is required or desired.
Nothing is hidden, nothing is revealed. ;-)

Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list