2010-05-09 15 views
5

Je suis en train de réaliser quelque chose comme ça dans LATEX http://sorenhaagerup.dk/files/table-sample.pdf (échantillon fait dans OpenOffice.org)Table avancée avec des cellules en LATEX multilignes

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

Je serai très reconnaissant à toutes les réponses, car cela m'a beaucoup dérangé.

+0

Le lien est rompu, s'il vous plaît mettre à jour. –

+0

Le lien a maintenant été corrigé :-) –

Répondre

9

J'ai regardé votre table et reconstruit la première partie - la partie "var". Puisque la construction de tables avec du latex n'est pas ma spécialité, le code semble assez malpropre mais fait le travail. Les packages pertinents sont multirow - pour obtenir la table imbriquée - et verbatim pour obtenir l'environnement verbatim que vous avez demandé. Comme vous le verrez, j'ai dû utiliser minipages supplémentaires pour gérer le placement correct de l'environnement verbatim. Vous pouvez les commenter pour voir la différence. De plus, j'ai commencé la table avec la ligne suivante

\begin{tabular}{|l|l|l|p{8cm}|} 

autrement si vous ne l'utilisez p -aragraph pour la dernière colums colonne que vous pourriez obtenir quelques erreurs en utilisant des environnements spécifiés dans les colonnes.

En tant que références je suggérerais le latex-wikibooks qui ont des exemples et des conseils supplémentaires.

Voici l'exemple tout .tex:

\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} 
+0

C'est super, et c'est exactement ce que je voulais! Merci beaucoup! :-) –