我正在尝试在 LaTeX 中实现这样的目标:http://sorenhaagerup.dk/files/table-sample.pdf(在 OpenOffice.org 中制作的示例)
最重要的部分是细胞内的多行逐字环境。这可能吗?
我将非常感谢任何答案,因为这一直困扰着我很多。
我正在尝试在 LaTeX 中实现这样的目标:http://sorenhaagerup.dk/files/table-sample.pdf(在 OpenOffice.org 中制作的示例)
最重要的部分是细胞内的多行逐字环境。这可能吗?
我将非常感谢任何答案,因为这一直困扰着我很多。
我查看了您的表格并重建了它的第一部分 - “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}