LaTeX中的高级表,带有多行单元格

时间:2010-05-09 09:58:46

标签: latex tabular verbatim

我正试图在LaTeX中实现这样的目标:http://sorenhaagerup.dk/files/table-sample.pdf(在OpenOffice.org中制作的样本)

最重要的部分是单元格内的多行逐字环境。这有可能吗?

我会非常感谢任何答案,因为这一直困扰着我。

1 个答案:

答案 0 :(得分:9)

我查看了你的表并重建了它的第一部分 - “var”部分。 由于使用乳胶构建表不是我的专长,因此代码看起来非常混乱但是可以完成工作。相关的包是multirow - 用于实现嵌套表 - 而verbatim用于获取您要求的逐字环境。正如您将看到我必须使用额外的minipages句柄来正确放置逐字环境。您可以对它们进行评论以查看差异。此外,我用以下行开始了表

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

否则,如果您不使用p - 最后一列的aragraph列,则可能会使用列内的指定环境获得一些错误。

作为参考,我建议latex-wikibooks提供其他示例和提示。

以下是整个.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}