title: Display a custom help message in TCLAP
body: <p>I'm using the <a href="http://tclap.sourceforge.net/" rel="nofollow">TCLAP</a> library to do some command line argument parsing. It's pretty great: except for the help messages it prints. Those are kind of ugly.</p>
  
  <p>For instance, this is the output:</p>
  
  <pre><code>USAGE: 
  
     ./a.out  [-r] -n &lt;string&gt; [--] [--version] [-h]
  
  
  Where: 
  
     -r,  --reverse
       Print name backwards
  
     -n &lt;string&gt;,  --name &lt;string&gt;
       (required)  Name to print
  
     --,  --ignore_rest
       Ignores the rest of the labeled arguments following this flag.
  
     --version
       Displays version information and exits.
  
     -h,  --help
       Displays usage information and exits.
  
  
     Command description message
  </code></pre>
  
  <p>of this program:</p>
  
  <pre><code>#include &lt;string&gt;
  #include &lt;iostream&gt;
  #include &lt;algorithm&gt;
  #include &lt;tclap/CmdLine.h&gt;
  
  int main(int argc, char** argv){
    try {  
      TCLAP::CmdLine cmd("Command description message", ' ', "0.9");
      TCLAP::ValueArg&lt;std::string&gt; nameArg("n","name","Name to print",true,"homer","string");
  
      cmd.add( nameArg );
      TCLAP::SwitchArg reverseSwitch("r","reverse","Print name backwards", cmd, false);
      cmd.parse( argc, argv );
  
      std::string name = nameArg.getValue();
      bool reverseName = reverseSwitch.getValue();
  
      if ( reverseName ){
        std::reverse(name.begin(),name.end());
        std::cout &lt;&lt; "My name (spelled backwards) is: " &lt;&lt; name &lt;&lt; std::endl;
      } else{
        std::cout &lt;&lt; "My name is: " &lt;&lt; name &lt;&lt; std::endl;
      }
    } catch (TCLAP::ArgException &amp;e) {
      std::cerr &lt;&lt; "error: " &lt;&lt; e.error() &lt;&lt; " for arg " &lt;&lt; e.argId() &lt;&lt; std::endl;
    }
  }
  </code></pre>
  
  <p>when run with <code>./a.out -h</code>.</p>
  
  <p>I want more creative control: I want to make my very own help message!</p>
  
  <p>How can I achieve that?</p>