我正试图在LaTeX中实现这样的目标:http://sorenhaagerup.dk/files/table-sample.pdf(在OpenOffice.org中制作的样本)
最重要的部分是单元格内的多行逐字环境。这有可能吗?
我会非常感谢任何答案,因为这一直困扰着我。
答案 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}