diff --git a/docs/manpages/nfdc.rst b/docs/manpages/nfdc.rst
index 1e77830..2e5d089 100644
--- a/docs/manpages/nfdc.rst
+++ b/docs/manpages/nfdc.rst
@@ -1,58 +1,74 @@
 nfdc
 ====
 
-SYNOPSIS
+Synopsis
 --------
-| nfdc COMMAND [ARGUMENTS] ...
-| nfdc help [COMMAND]
-| nfdc [-h|--help]
-| nfdc -V|--version
-| nfdc -f|--batch BATCH-FILE
 
-DESCRIPTION
+| **nfdc** *COMMAND* [*ARGUMENTS*]...
+| **nfdc** **help** [*COMMAND*]
+| **nfdc** [**-h**\|\ **\--help**]
+| **nfdc** **-V**\|\ **\--version**
+| **nfdc** **-f**\|\ **\--batch** *file*
+
+Description
 -----------
-**nfdc** is a tool to manage a running instance of NFD.
 
-Features of nfdc are organized into subcommands.
-To print a list of all subcommands, run **nfdc** without arguments.
-To show how to use a subcommand, run **nfdc help** followed by the subcommand name.
+:program:`nfdc` is a command-line tool to manage a running instance of NFD.
 
-OPTIONS
+All features of :program:`nfdc` are organized into subcommands.
+To print a list of all subcommands, run ``nfdc`` without arguments.
+To show how to use a subcommand, run ``nfdc help`` followed by the subcommand name.
+
+Options
 -------
-<COMMAND>
-    A subcommand name.
-    It usually contains a noun and a verb.
 
-<ARGUMENTS>
+.. option:: <COMMAND>
+
+    A subcommand name. It usually contains a noun and a verb.
+
+.. option:: <ARGUMENTS>
+
     Arguments to the subcommand.
 
-``-h`` or ``--help``
+.. option:: -h, --help
+
     Print a list of available subcommands and exit.
 
-``-V`` or ``--version``
+.. option:: -V, --version
+
     Show version information and exit.
 
-``-f BATCH-FILE`` or ``--batch BATCH-FILE``
-   Process arguments specified in the ``BATCH-FILE`` as if they would have appeared
-   in the command line (but without ``nfdc``).  When necessary, arguments should be
-   escaped using backslash ``\``, single ``'``, or double quotes ``"``.  If any of
-   the command fails, the processing will be stopped at that command with error
-   code 2. Empty lines and lines that start with ``#`` character will be ignored.
-   Note that the batch file does not support empty string arguments
-   (``""`` or ``''``), even if they are supported by the regular command line ``nfdc``.
+.. option:: -f <file>, --batch <file>
 
-   When running a sequence of commands in rapid succession from a script, this
-   option ensures that the commands are properly timestamped and can therefore
-   be accepted by NFD.
+    Process the list of arguments specified in *file* as if they would have appeared on
+    the command line.
+    When running a sequence of commands in rapid succession from a script, this option
+    ensures that the commands are properly timestamped and can therefore be accepted
+    by NFD.
 
-EXAMPLES
+    When necessary, arguments should be escaped using a backslash (``\``), single quotes
+    (``'``), or double quotes (``"``).
+    If any of the commands fail, processing will stop at that command and :program:`nfdc`
+    will exit with error code 2.
+    Empty lines and lines that start with the ``#`` character are ignored.
+    Note that the batch file does not support empty string arguments (``""`` or ``''``),
+    even if they would normally be supported on the regular command line of :program:`nfdc`.
+
+Examples
 --------
-nfdc
+
+``nfdc``
     List all subcommands.
 
-nfdc help face create
+``nfdc help face create``
     Show how to use the ``nfdc face create`` subcommand.
 
-SEE ALSO
+See Also
 --------
-nfdc-status(1), nfdc-face(1), nfdc-route(1), nfdc-cs(1), nfdc-strategy(1)
+
+:manpage:`nfd(1)`,
+:manpage:`nfdc-cs(1)`,
+:manpage:`nfdc-face(1)`,
+:manpage:`nfdc-route(1)`,
+:manpage:`nfdc-status(1)`,
+:manpage:`nfdc-strategy(1)`
