5

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

最重要的部分是细胞内的多行逐字环境。这可能吗?

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

4

1 回答 1

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}
于 2010-05-09T11:54:21.120 回答