5 votes

Tableau avancé dans LaTeX avec cellules multilignes

J'essaie de réaliser quelque chose comme cela dans LaTeX : http://sorenhaagerup.dk/files/table-sample.pdf (exemple réalisé avec OpenOffice.org)

La partie la plus importante est l'environnement multiligne du verbatim à l'intérieur d'une cellule. Est-ce possible ?

Je serai très reconnaissant pour toute réponse, car cela me tracasse beaucoup.

9voto

mropa Points 2813

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}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X