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

发布于 2024-09-01 12:57:49 字数 251 浏览 12 评论 0原文

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

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

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

I'm trying to achieve something like this in LaTeX: http://sorenhaagerup.dk/files/table-sample.pdf (sample made in OpenOffice.org)

The most important part is the multiline verbatim-environment inside a cell. Is this possible at all?

I will be very grateful to any answers, since this has been bugging me quite a lot.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

幻想少年梦 2024-09-08 12:57:49

我查看了您的表格并重建了它的第一部分 - “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}

I have looked at your table and rebuild the first part of it - the "var" part.
Since building tables with latex isn't my speciality the code looks pretty messy but does the job. The relevant packages are multirow - to achieve the nested table - and verbatim to get the verbatim environment you asked for. As you will see I had to use additional minipages the handle the proper placing of the verbatim environment. You can comment them out to see the difference. Furthermore I started the table with the following line

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

otherwise if you don't use p-aragraph colums for the last column you might get some errors using specified environments inside the columns.

As references I would suggest the latex-wikibooks which have additional examples and tips.

Here is the whole .tex example:

\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}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文