J'ai regardé votre tableau et j'en ai reconstruit la première partie - la partie "var". Comme la construction de tableaux avec Latex n'est pas ma spécialité, le code est assez désordonné, mais il fait l'affaire. Les paquets concernés sont multirow
- pour obtenir le tableau imbriqué - et verbatim
pour obtenir l'environnement textuel que vous avez demandé. Comme vous le verrez, j'ai dû utiliser des minipages
la prise en charge de la mise en place de l'environnement du verbatim. Vous pouvez les commenter pour voir la différence. En outre, j'ai commencé le tableau par la ligne suivante
\begin{tabular}{|l|l|l|p{8cm}|}
sinon, si vous n'utilisez pas p
-pour la dernière colonne, vous risquez de rencontrer des erreurs en utilisant les environnements spécifiés à l'intérieur des colonnes.
Comme références, je suggérerais les documents suivants latex-wikibooks qui contiennent des exemples et des conseils supplémentaires.
Voici l'exemple .tex complet :
\documentclass[11pt]{article}
\setlength{\textwidth}{20.0cm}
\usepackage{verbatim}
\usepackage{multirow}
\begin{document}
\begin{tabular}{|l|l|l|p{8cm}|}
\hline
Element & Type & Case & Template\\ \hline
\multirow{4}{*}{} Var & id & escaping or diff. level &
\begin{minipage}[t]{\linewidth}
\begin{verbatim}
return [offset](\%ebp)
\end{verbatim}
\end{minipage}
\\ \cline{3-4}
& & else &
\begin{minipage}[t]{\linewidth}
\begin{verbatim}
return TEMP(n)
\end{verbatim}
\end{minipage} \\ \cline{2-4}
& index & - &
\begin{minipage}[t]{\linewidth}
\begin{verbatim}
a = A_var(var)
movl a, t1
// do runtimecheck 5
t2 = A_exp(exp)
movl t2, t3
addl $1, t3
return (t1, t3, 4)
\end{verbatim}
\end{minipage} \\ \cline{2-4}
& field & - &
\begin{minipage}[t]{\linewidth}
\begin{verbatim}
a = A_var(var)
movl a, t1 // hvis a ikke er temp
// do runtimecheck 5
movl [offset], t3
return (t1, t3, 4)
\end{verbatim}
\end{minipage}
\\ \hline
\end{tabular}
\end{document}