LaTeX中使用多行单元格的高级表格

5
我正在尝试在LaTeX中实现类似于这样的东西:http://sorenhaagerup.dk/files/table-sample.pdf(在OpenOffice.org中创建的示例)。
最重要的部分是单元格内的多行verbatim环境。这是否可能呢?
我将非常感激任何答案,因为这一直困扰着我。

1
链接已经失效,请更新。 - Thorkil Holm-Jacobsen
链接现在已经修复 :-) - Søren Haagerup
http://sorenhaagerup.dk/files/table-sample.pdf 链接已失效。 - sideshowbarker
1个回答

9

我已经查看了您的表格并重建了第一部分——“var”部分。由于使用latex构建表格不是我的专长,所以代码看起来很混乱,但是可以完成任务。相关的包括multirow——用于实现嵌套表格——和verbatim——用于获取您要求的抄录环境。正如您所看到的,我不得不使用额外的minipages来处理正确放置抄录环境。您可以将它们注释掉以查看差异。此外,我从以下行开始制作表格。

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

否则,如果您不在最后一列使用

段落列,则在列内使用指定环境可能会出现一些错误。

作为参考,我建议使用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}

太好了,正是我想要的!非常感谢! :-) - Søren Haagerup

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接