FreeBSD manual

download PDF document: style.mdoc.5.pdf

STYLE.MDOC(5) FreeBSD File Formats Manual STYLE.MDOC(5)
NAME style.mdoc - FreeBSD mdoc(7) file style guide
DESCRIPTION This file specifies the preferred style for manual pages in the FreeBSD source tree.
Code Examples - Use literal formatting for examples and literal shell commands, e.g.:
Then run .Ql make install clean .
which renders as:
Then run `make install clean'.
The incorrect way would be to use macros like Nm to stylize the command invocation:
Then run .Ql Nm make Cm install Cm clean .
which renders as:
Then run `make install clean'.
- The Ql macro is the preferred macro for formatting literal inline fragments. Historically, Dq Li was the preferred way before the deprecation of Li.
EXAMPLES Section - Format the EXAMPLES section in the following way:
.Bl -tag -width 0n .It Sy Example 1\&: No Doing Something .Pp The following command does something. .Bd -literal -offset 2n .Li # Ic make -VLEGAL .Ed .It Sy Example 2\&: No Doing Something Different .Pp The following command does something different. .Bd -literal -offset 2n .Li # Ic bectl list .Ed .Pp It is good to know this command. .El
which renders as:

Example 1: Doing Something
The following command does something. # bectl list
It is good to know this command.
Lists - The -width argument to the .Bl macro should match the length of the longest item in the list, e.g.:
.Bl -tag -width "-a address" .It Fl a Ar address Set the address. .It Fl v Print the version. .El
In case the longest item is too long and hurts readability, the recommendation is to set the -width argument to `indent', e.g.:
.Bl -tag -width "indent" .It Cm build Build the port. .It Cm install Install the port. .It Fl install-missing-packages Install the missing packages. .El
Synopsis Formatting - Do not put whitespace between alternative parameters separated with a pipe ("|"), e.g.:
.Cm compression Cm on Ns | Ns Cm off .Cm install Fl -all Ns | Ns Ar portname Ar ...
which in the SYNOPSIS section is rendered as:
compression on|off install --all|portname ...
- Use Cm to stylize characters that are command modifiers (e.g., ",", "@" or "="). For example:
.Sm off .Fl -meet Cm = Ar who Oo Cm , Ar who " " Ar "..." Oc Cm @ Ar where .Sm on
which renders as:
--meet=who[,who ...]@where
instead of:
.Sm off .Fl -meet No = Ar who Oo , Ar who " " Ar "..." Oc @ Ar where .Sm on
which would render as:
--meet=who[,who ...]@where
- Use the Dq ("") macro for quoting. Use the Sq (`') macro for quoting inside quotes. The use of the Qq ("") macro is usually not necessary.
Variables - Use Va instead of Dv for sysctl(8) variables like kdb.enter.panic.
- Use the angle brackets Aq ("<>") macro for arguments (Ar) when they are mixed with similarly stylized macros like Pa or Va, e.g.:
.Va critical_filesystems_ Ns Aq Ar type
which renders as:
critical_filesystems_<type>
instead of:
.Va critical_filesystems_ Ns Ar type
that would be rendered as:
critical_filesystems_type
SEE ALSO man(1), mandoc(1), mdoc(7), style(9)
HISTORY This manual page first appeared in FreeBSD 13.0.
AUTHORS Mateusz Piotrowski <0mp@FreeBSD.org>
FreeBSD 14.0-RELEASE-p11 January 29, 2022 FreeBSD 14.0-RELEASE-p11