LaTeX中的非常宽的表

时间:2010-09-10 00:23:29

标签: latex

有没有办法让LaTeX中的表跨越多个页面宽度,而不是长度?据我所知,longtable和supertabular都会在多个页面上打破表格,但只能在行之间断开,我需要在列之间中断。如果可以在每页上重复几列,那就更好了。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

我一直在用同样的问题扯掉我的头发一个星期。我认为这可能不是完全有可能以非黑客的方式。

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

不幸的是,你要创建多个表并手动打破它们,但至少最终结果看起来应该没问题。此外,如果您根据booktabs软件包中的sage指导放弃表中的垂直规则,这将会更好看(您将不得不谷歌,因为显然我作为新用户,没有足够的声誉来发布链接到booktabs pdf手册)。

答案 2 :(得分:0)

一个好的解决方案是将整个桌子逆时针旋转90度,从而有更大的空间。

序言public static <T> T random(CustomMap<T, Double> map) { double rand = (double) new Random().nextInt(10000001) / 100000.0D; double total = 0.0D; for (T t : map.getKeys()) { double chance = map.get(t); total += chance; if (total >= rand) return t; } return null; }

\usepackage{pdflscape}