parts: headers, body, and signature. </para>
 
     <para> When <option>--new</option> is given, an empty instantiation of the
-      template is written to stdout. At the moment, <option>--new</option>
-      cannot be combined with <option>--editor</option>.</para>
+      template is written to <filename>stdout</filename>. At the moment,
+      <option>--new</option> cannot be combined with
+      <option>--editor</option>.</para>
 
     <para> The template can define two types of headers: mandatory and
       preservatory. Mandatory headers take precedence over headers in the
     <para> This script can be run in multiple ways: </para>
 
     <itemizedlist>
-      <listitem><para> As a filter, it applies a template to data from stdin
-          and writes the result to stdout. </para></listitem>
+      <listitem><para> As a filter, it applies a template to data from
+          <filename>stdin</filename> and writes the result to
+          <filename>stdout</filename>. </para></listitem>
 
       <listitem><para> When <option>--editor</option> is passed, the script
           spawns <command>sensible-editor</command> on the result. It may thus
           be used as the editor for your mail user agent. </para></listitem>
 
       <listitem><para> Given a file, it modifies the file, unless it cannot
-          write to the file, in which case it writes to stdout.
-          </para></listitem>
+          write to the file, in which case it writes to
+          <filename>stdout</filename>. </para></listitem>
 
     </itemizedlist>
 
          <option>-v</option>
         </term>
         <listitem>
-         <para>Write informational messages to stderr.</para>
+         <para>Write informational messages to <filename>stderr</filename>.</para>
         </listitem>
       </varlistentry>
       <varlistentry>
   <refsect1>
     <title>MUTT INTEGRATION</title>
 
-    <para>I use mailplate as my <!--TODO: verbatim-->$editor for mutt, with the following setting
-      in my ~/.mutt/muttrc:</para>
+    <para>I use mailplate as my <varname>$editor</varname> for
+      <application>mutt</application>, with the following setting in my
+      <filename>~/.mutt/muttrc</filename>:</para>
 
-    <!--TODO: verbatim
-    <para>set editor="~/.bin/mail/mailplate -\-edit -\-auto -\-keep-unknown"</para>
-    -->
+    <programlisting><![CDATA[
+      set editor="~/.bin/mail/mailplate --edit --auto --keep-unknown"
+    ]]></programlisting>
 
     <para>mailplate currently has a bit of a limitation, or at least I have
       not figured out a way how to work around it sensibly yet. If you re-edit
       pager, you probably also don’t want mailplate to get in the way. For
       these cases, I currently use the following two keybindings:</para>
 
-    <!--TODO: verbatim
-    <para>macro compose     e ':set my_editor="$editor"<enter>:set editor=sensible-editor<enter><edit-headers>:set editor="$my_editor"<enter>' "invoke normal editor to edit message"</para>
-    <para>macro index,pager e ':set my_editor="$editor"<enter>:set editor=sensible-editor<enter><edit>:set editor="$my_editor"<enter>' "invoke normal editor to edit message"</para>
-    -->
+    <programlisting><![CDATA[
+      macro compose     e ':set my_editor="$editor"<enter>:set editor=sensible-editor<enter><edit-headers>:set editor="$my_editor"<enter>' "invoke normal editor to edit message"
+      macro index,pager e ':set my_editor="$editor"<enter>:set editor=sensible-editor<enter><edit>:set editor="$my_editor"<enter>' "invoke normal editor to edit message"
+    ]]></programlisting>
 
   </refsect1>
 
   <refsect1>
     <title>VIM INTEGRATION</title>
 
-    <para>I am often editing a message with vim and find that I need to use
-      a different identity. For this purpose, I have the following keybindings
-      in my ~/.vimrc:</para>
+    <para>I am often editing a message with <application>vim</application> and
+      find that I need to use a different identity. For this purpose, I have
+      the following keybindings in my
+      <filename>~/.vim/ftplugin/mail.vim</filename>:</para>
 
-    <!--TODO: verbatim
-    <para>nmap <buffer> <F1>      :w<CR>:%!mailplate -\-keep-unknown -\-auto<CR></para>
-    <para>nmap <buffer> <C-P><F1> :w<CR>:%!mailplate -\-keep-unknown private<CR></para>
-    <para>nmap <buffer> <C-P><F2> :w<CR>:%!mailplate -\-keep-unknown debian<CR></para>
-    -->
+    <programlisting><![CDATA[
+      nmap <buffer> <F1>      :w<CR>:%!mailplate --keep-unknown --auto<CR>
+      nmap <buffer> <C-P><F1> :w<CR>:%!mailplate --keep-unknown private<CR>
+      nmap <buffer> <C-P><F2> :w<CR>:%!mailplate --keep-unknown debian<CR>
+    ]]></programlisting>
 
     <para>Now when I reply to a message, mailplate automatically choses the
       right template, and if I later change my mind, I can press C-p, to
 
   <refsect1>
     <title>SEE ALSO</title>
-    <!--TODO: format paths properly -->
-    <para>http://madduck.net/code/mailplate/</para>
-    <para>/usr/share/doc/mailplate/README</para>
+    <varlistentry>
+      <listitem>
+        <para>
+          <link>http://madduck.net/code/mailplate/</link>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <filename>/usr/share/doc/mailplate/README</filename>
+        </para>
+      </listitem>
+    </varlistentry>
   </refsect1>
 
   <refsect1>