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
