diff --git a/runtime/doc/xxd.1 b/runtime/doc/xxd.1
index 5a49e05..46bfedc 100644
--- a/runtime/doc/xxd.1
+++ b/runtime/doc/xxd.1
@@ -57,7 +57,7 @@
 .PP
 .TP
 .IR \-a " | " \-autoskip
-toggle autoskip: A single '*' replaces nul-lines.  Default off.
+Toggle autoskip: A single '*' replaces nul-lines.  Default off.
 .TP
 .IR \-b " | " \-bits
 Switch to bits (binary digits) dump, rather than hexdump.
@@ -67,10 +67,13 @@
 \-r, \-p, \-i do not work with this mode.
 .TP
 .IR "\-c cols " | " \-cols cols"
-format
+Format
 .RI < cols >
 octets per line. Default 16 (\-i: 12, \-ps: 30, \-b: 6). Max 256.
 .TP
+.IR \-C " | " \-capitalize
+Capitalize variable names in C include file style, when using \-i.
+.TP
 .IR \-E " | " \-EBCDIC
 Change the character encoding in the righthand column from ASCII to EBCDIC.
 This does not change the hexadecimal representation. The option is
@@ -87,7 +90,7 @@
 \-r, \-p, \-i do not work with this mode.
 .TP
 .IR "\-g bytes " | " \-groupsize bytes"
-separate the output of every
+Separate the output of every
 .RI < bytes >
 bytes (two hex characters or eight bit-digits each) by a whitespace.
 Specify
@@ -98,28 +101,28 @@
 Grouping does not apply to postscript or include style.
 .TP
 .IR \-h " | " \-help
-print a summary of available commands and exit.  No hex dumping is performed.
+Print a summary of available commands and exit.  No hex dumping is performed.
 .TP
 .IR \-i " | " \-include
-output in C include file style. A complete static array definition is written
+Output in C include file style. A complete static array definition is written
 (named after the input file), unless xxd reads from stdin.
 .TP
 .IR "\-l len " | " \-len len"
-stop after writing
+Stop after writing
 .RI  < len >
 octets.
 .TP
 .I \-o offset
-add
+Add
 .RI < offset >
 to the displayed file position.
 .TP
 .IR \-p " | " \-ps " | " \-postscript " | " \-plain
-output in postscript continuous hexdump style. Also known as plain hexdump
+Output in postscript continuous hexdump style. Also known as plain hexdump
 style.
 .TP
 .IR \-r " | " \-revert
-reverse operation: convert (or patch) hexdump into binary.
+Reverse operation: convert (or patch) hexdump into binary.
 If not writing to stdout, xxd writes into its output file without truncating
 it. Use the combination
 .I \-r \-p
@@ -135,7 +138,7 @@
 added to file positions found in hexdump.
 .TP
 .I \-s [+][\-]seek
-start at
+Start at
 .RI < seek >
 bytes abs. (or rel.) infile offset.
 \fI+ \fRindicates that the seek is relative to the current stdin file position
@@ -145,10 +148,10 @@
 Without \-s option, xxd starts at the current file position.
 .TP
 .I \-u
-use upper case hex letters. Default is lower case.
+Use upper case hex letters. Default is lower case.
 .TP
 .IR \-v " | " \-version
-show version string.
+Show version string.
 .SH CAVEATS
 .PP
 .I xxd \-r
diff --git a/runtime/doc/xxd.man b/runtime/doc/xxd.man
index 7e1097f..607db8a 100644
--- a/runtime/doc/xxd.man
+++ b/runtime/doc/xxd.man
@@ -30,7 +30,7 @@
        notation.  Thus -c8, -c 8, -c 010 and -cols 8 are all equivalent.
 
        -a | -autoskip
-              toggle autoskip: A single '*' replaces nul-lines.  Default off.
+              Toggle autoskip: A single '*' replaces nul-lines.  Default off.
 
        -b | -bits
               Switch to bits (binary digits) dump, rather than hexdump.   This
@@ -41,9 +41,13 @@
               mode.
 
        -c cols | -cols cols
-              format  <cols> octets per line. Default 16 (-i: 12, -ps: 30, -b:
+              Format  <cols> octets per line. Default 16 (-i: 12, -ps: 30, -b:
               6). Max 256.
 
+       -C | -capitalize
+              Capitalize variable names in C include file  style,  when  using
+              -i.
+
        -E | -EBCDIC
               Change the character encoding in the righthand column from ASCII
               to EBCDIC.  This does not change the hexadecimal representation.
@@ -52,41 +56,41 @@
        -e     Switch to little-endian hexdump.  This option treats byte groups
               as words in little-endian byte order.  The default grouping of 4
               bytes may be changed using -g.  This option only applies to hex‐
-              dump,  leaving  the  ASCII (or EBCDIC) representation unchanged.
+              dump, leaving the ASCII (or  EBCDIC)  representation  unchanged.
               The command line switches -r, -p, -i do not work with this mode.
 
        -g bytes | -groupsize bytes
-              separate the output of every <bytes> bytes (two  hex  characters
+              Separate  the  output of every <bytes> bytes (two hex characters
               or eight bit-digits each) by a whitespace.  Specify -g 0 to sup‐
               press grouping.  <Bytes> defaults to 2 in normal mode, 4 in lit‐
-              tle-endian  mode and 1 in bits mode.  Grouping does not apply to
+              tle-endian mode and 1 in bits mode.  Grouping does not apply  to
               postscript or include style.
 
        -h | -help
-              print a summary of available commands and exit.  No hex  dumping
+              Print  a summary of available commands and exit.  No hex dumping
               is performed.
 
        -i | -include
-              output  in C include file style. A complete static array defini‐
-              tion is written (named after the input file), unless  xxd  reads
+              Output in C include file style. A complete static array  defini‐
+              tion  is  written (named after the input file), unless xxd reads
               from stdin.
 
        -l len | -len len
-              stop after writing <len> octets.
+              Stop after writing <len> octets.
 
        -o offset
-              add <offset> to the displayed file position.
+              Add <offset> to the displayed file position.
 
        -p | -ps | -postscript | -plain
-              output  in  postscript  continuous  hexdump style. Also known as
+              Output in postscript continuous hexdump  style.  Also  known  as
               plain hexdump style.
 
        -r | -revert
-              reverse operation: convert (or patch) hexdump into  binary.   If
-              not  writing  to stdout, xxd writes into its output file without
+              Reverse  operation:  convert (or patch) hexdump into binary.  If
+              not writing to stdout, xxd writes into its output  file  without
               truncating it. Use the combination -r -p to read plain hexadeci‐
               mal dumps without line number information and without a particu‐
-              lar column layout. Additional  Whitespace  and  line-breaks  are
+              lar  column  layout.  Additional  Whitespace and line-breaks are
               allowed anywhere.
 
        -seek offset
@@ -94,34 +98,34 @@
               found in hexdump.
 
        -s [+][-]seek
-              start at <seek> bytes abs. (or rel.) infile offset.  + indicates
-              that  the  seek  is  relative to the current stdin file position
+              Start at <seek> bytes abs. (or rel.) infile offset.  + indicates
+              that the seek is relative to the  current  stdin  file  position
               (meaningless when not reading from stdin).  - indicates that the
-              seek  should  be  that many characters from the end of the input
+              seek should be that many characters from the end  of  the  input
               (or if combined with +: before the current stdin file position).
               Without -s option, xxd starts at the current file position.
 
-       -u     use upper case hex letters. Default is lower case.
+       -u     Use upper case hex letters. Default is lower case.
 
        -v | -version
-              show version string.
+              Show version string.
 
 CAVEATS
        xxd -r has some builtin magic while evaluating line number information.
-       If the output file is seekable, then the linenumbers at  the  start  of
-       each  hexdump  line may be out of order, lines may be missing, or over‐
-       lapping. In these cases xxd will lseek(2) to the next position. If  the
-       output  file  is  not  seekable,  only  gaps are allowed, which will be
+       If  the  output  file is seekable, then the linenumbers at the start of
+       each hexdump line may be out of order, lines may be missing,  or  over‐
+       lapping.  In these cases xxd will lseek(2) to the next position. If the
+       output file is not seekable, only  gaps  are  allowed,  which  will  be
        filled by null-bytes.
 
        xxd -r never generates parse errors. Garbage is silently skipped.
 
-       When editing hexdumps, please note that xxd -r skips everything on  the
+       When  editing hexdumps, please note that xxd -r skips everything on the
        input line after reading enough columns of hexadecimal data (see option
-       -c). This also means, that changes to the printable ascii  (or  ebcdic)
-       columns  are  always  ignored.  Reverting a plain (or postscript) style
-       hexdump with xxd -r -p does not depend on the correct  number  of  col‐
-       umns.  Here  anything  that  looks  like a pair of hex-digits is inter‐
+       -c).  This  also means, that changes to the printable ascii (or ebcdic)
+       columns are always ignored. Reverting a  plain  (or  postscript)  style
+       hexdump  with  xxd  -r -p does not depend on the correct number of col‐
+       umns. Here anything that looks like a  pair  of  hex-digits  is  inter‐
        preted.
 
        Note the difference between
@@ -129,28 +133,28 @@
        and
        % xxd -i < file
 
-       xxd -s +seek may be different from xxd -s seek, as lseek(2) is used  to
+       xxd  -s +seek may be different from xxd -s seek, as lseek(2) is used to
        "rewind" input.  A '+' makes a difference if the input source is stdin,
-       and if stdin's file position is not at the start of  the  file  by  the
-       time  xxd  is  started and given its input.  The following examples may
+       and  if  stdin's  file  position is not at the start of the file by the
+       time xxd is started and given its input.  The  following  examples  may
        help to clarify (or further confuse!)...
 
-       Rewind stdin before reading; needed because the `cat' has already  read
+       Rewind  stdin before reading; needed because the `cat' has already read
        to the end of stdin.
        % sh -c "cat > plain_copy; xxd -s 0 > hex_copy" < file
 
-       Hexdump  from  file  position  0x480 (=1024+128) onwards.  The `+' sign
+       Hexdump from file position 0x480 (=1024+128)  onwards.   The  `+'  sign
        means "relative to the current position", thus the `128' adds to the 1k
        where dd left off.
-       %  sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet"
+       % sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 >  hex_snippet"
        < file
 
        Hexdump from file position 0x100 ( = 1024-768) on.
        % sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +-768 > hex_snippet"
        < file
 
-       However,  this is a rare situation and the use of `+' is rarely needed.
-       The author prefers to monitor the  effect  of  xxd  with  strace(1)  or
+       However, this is a rare situation and the use of `+' is rarely  needed.
+       The  author  prefers  to  monitor  the  effect of xxd with strace(1) or
        truss(1), whenever -s is used.
 
 EXAMPLES
@@ -194,7 +198,7 @@
        % xxd -s 0x36 -l 13 -c 13 xxd.1
        0000036: 3235 7468 204d 6179 2031 3939 36  25th May 1996
 
-       Create  a  65537 byte file with all bytes 0x00, except for the last one
+       Create a 65537 byte file with all bytes 0x00, except for the  last  one
        which is 'A' (hex 0x41).
        % echo "010000: 41" | xxd -r > file
 
@@ -204,7 +208,7 @@
        *
        000fffc: 0000 0000 40                   ....A
 
-       Create a 1 byte file containing a single  'A'  character.   The  number
+       Create  a  1  byte  file containing a single 'A' character.  The number
        after '-r -s' adds to the linenumbers found in the file; in effect, the
        leading bytes are suppressed.
        % echo "010000: 41" | xxd -r -s -0x10000 > file
@@ -245,7 +249,7 @@
        uuencode(1), uudecode(1), patch(1)
 
 WARNINGS
-       The  tools  weirdness matches its creators brain.  Use entirely at your
+       The tools weirdness matches its creators brain.  Use entirely  at  your
        own risk. Copy files. Trace it. Become a wizard.
 
 VERSION
