LaTeX中的超宽表格

11

有没有办法在LaTeX中制作一个跨越多个页面宽度的表格,而不是长度?我发现longtable和supertabular都可以将表格分页显示,但是只能在行之间进行分页,而我需要在列之间进行分页。更好的方法是如果每个页面上都可以重复一些列。


8
建议将此问题移至http://tex.stackexchange.com/。 - Matthew Rankin
2
tex.stackexchange.com上找到一个解决方案。 - Myles Baker
3
我投票关闭此问题,因为有一个专门的网站:[tex.se](太老而无法迁移)。 - Werner
3个回答

1

我正在使用不太好并且手动配置的代码来分割一个过宽的表格:

\usepackage{tikz}

\newsavebox{\boxFinal}
\begin{lrbox}{\boxFinal}
  \scalebox{0.6}{
  \begin{tabular}{...}
...
  \end{tabular}
  }
\end{lrbox}

\begin{table}[htb]
  \centering
  \begin{tikzpicture}
    \clip (0,-\dp\boxFinal) rectangle (0.5\wd\boxFinal,\ht\boxFinal);
    \pgftext[left,base]{\usebox{\boxFinal}};
  \end{tikzpicture}
  \label{table_test1}\caption{Part 1 of 2.}
\end{table}

\begin{table}[htb]
  \centering
  \begin{tikzpicture}
    \clip (0.5\wd\boxFinal,-\dp\boxFinal) rectangle
      (\wd\boxFinal,\ht\boxFinal); \pgftext[left,base]{\usebox{\boxFinal}};
  \end{tikzpicture}
  \label{table_test2}\caption{Part 2 of 2.}
\end{table}

通常需要手动更正分割偏移量。您可以通过从0.5\wd\boxFinal值中添加或减去来实现此操作。
这个想法来自于http://www.latex-community.org/forum/viewtopic.php?f=5&t=2867

0

我已经为这个问题苦恼了一周,时断时续地拔掉我的头发。我认为在非hacky的情况下可能不完全可行。

一个可能的hacky解决方案是使用dpfloat包:http://www.ctan.org/tex-archive/help/Catalogue/entries/dpfloat.html

不幸的是,您将创建多个表并手动分割它们,但至少最终结果应该看起来还不错。此外,如果您遵循booktabs包中的智慧建议(您将不得不搜索因为显然我作为新用户没有足够的声望来发布booktabs pdf手册的链接),放弃表格中的垂直线,那么这将看起来更好。


我非常希望它可以自动完成,但也许我必须接受手动操作的事实。我考虑过(因为我计划用Python生成tex文件),将列写成行,旋转每个单元格,并使用longtable或supertabular,但这仍然似乎有点疯狂和令人沮丧的不优雅。 - hoyland

0
一个好的解决方案是将整个表格逆时针旋转90度,从而有更多的空间。
导言 \usepackage{pdflscape}
\newpage
\thispagestyle{empty}
\begin{landscape}
\begin{table}
...
\end{table}
\end{landscape}

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