【问题标题】:Very Wide Tables in LaTeXLaTeX 中的非常宽的表格
【发布时间】:2011-04-10 12:54:08
【问题描述】:

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

【问题讨论】:

标签: latex


【解决方案1】:

一个星期以来,我一直因同样的问题而不停地拔头发。我认为这可能并不完全可能以一种非 hacky 的方式实现。

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

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

【讨论】:

  • 我非常希望它自动完成,但也许我将不得不让自己接受它手动完成。我曾想过(因为我打算用 Python 生成 tex 文件)将列写入行,旋转每个单元格并使用 longtable 或 supertabular,但这似乎仍然有点疯狂和令人沮丧的不优雅。
【解决方案2】:

我正在使用这个不太好和手动配置的代码来拆分太宽的表格:

\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

【讨论】:

    【解决方案3】:

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

    序言\usepackage{pdflscape}

    \newpage
    \thispagestyle{empty}
    \begin{landscape}
    \begin{table}
    ...
    \end{table}
    \end{landscape}
    

    【讨论】:

      猜你喜欢
      • 2021-12-26
      • 1970-01-01
      • 2013-01-21
      • 2011-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-18
      相关资源
      最近更新 更多