Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
STYLE.MDOC(5)		      File Formats Manual		 STYLE.MDOC(5)

NAME
       style.mdoc -- FreeBSD manual page 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 com-
	 mand invocation:

	       Then run
	       .Ql Nm make Cm install Cm clean .

	 which renders as:

	       Then run	`make install clean'.

   Copyright Header
       Refer to	style(9).

   HARDWARE Section
       Driver manuals in section four should have  a  "HARDWARE"  section  de-
       scribing	hardware known to work with the	driver.	 This section is drawn
       verbatim	 into  the Release Hardware Notes, therefore there are several
       things to note:

       - The introductory sentence should be in	the form:

	       The
	       .Nm
	       driver supports the following $device_class:

	 Followed by the list of supported hardware.

	 This defines what driver the subsection is referring to,  and	allows
	 the  reader to	search through the Hardware Notes not only for the de-
	 vice models they have,	but also for the device	type they are  looking
	 to acquire.

       -  The supported	hardware should	be listed as a bullet list, or if com-
	 plexity requires, a column list.  These two list  types  create  very
	 neat subsections with clean starting and stopping points.

   EXAMPLES Section
       - Format	the "EXAMPLES" section in the following	way:

	       .Bl -tag	-width 0n
	       .It Sy Example 1\&: Doing Something
	       .Pp
	       The following command does something.
	       .Bd -literal -offset 2n
	       .Ic # make -VLEGAL
	       .Ed
	       .It Sy Example 2\&: Doing Something Different
	       .Pp
	       The following command does something different.
	       .Bd -literal -offset 2n
	       .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.

	     # make -VLEGAL

	 Example 2: Doing Something Different

	   The following command does something	different.

	     # bectl list

	   It is good to know this command.

   Lists
       -  The  -width argument to the .Bl macro	should match the length	of the
	 longest rendered 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  rec-
	 ommendation 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

   Quoting
       - Use the Dq ("") macro for quoting.  Use the Sq	(`') macro for quoting
	 inside	 quotes.   The	use of the Qq ("") macro is usually not	neces-
	 sary.

   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

FILES
       /usr/share/examples/mdoc/     Examples for writing manual pages.

SEE ALSO
       man(1), mandoc(1), mdoc(7), roff(7), style(9)

HISTORY
       This manual page	first appeared in FreeBSD 13.0.

AUTHORS
       Mateusz Piotrowski <0mp@FreeBSD.org>

FreeBSD	16.0 CURRENT	       February	16, 2025		 STYLE.MDOC(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=style.mdoc&sektion=5&manpath=FreeBSD+16.0-CURRENT>

home | help