Lists like itemize
act differently if they are used within a minipage
environment. Specifically, they don't insert that vertical space before. So, you could use a minipage
environment inside the table cell for the itemize
list. There's a trick which is more handy - define this command:
\makeatletter
\newcommand*{\compress}{\@minipagetrue}
\makeatother
Now just use \compress
before \begin{itemize}
. You could even use it within the column definition, if you also load the array
package:
\usepackage{array}
...
\begin{tabularx}{\textwidth}{>{\ttfamily}ll>{\compress}X}
Output of your example using this command:
The vertical space before itemize
is gone. If you would like to compress the lists even more, have a look at
the paralist
package, which offers a compactitem
environment for that purpose, or
the enumitem
package which allows easy customization of list environments, for example \begin{itemize}[itemsep=0pt]
, it even provides global configuration commands for lists.
But even with \begin{itemize}[itemsep=0pt,topsep=0pt]
I would additionally use \compress
.