旋转 .tex 文件中的表格

旋转 .tex 文件中的表格

我有一个.tex文件,我想旋转它。我不会发布整个内容,但这是一个表格文件:

\begin{table}[htbp]\centering
\begin{tabular}{l*{8}{c}}
%insert content here
\end{tabular}
\end{table}

我想使用以下命令将该表输入到另一个文件中:\input{../folder/name.tex}

我尝试了以下方法:

\begin{sidewaystable}
\centering
\input{../folder/name.tex}
\end{sidewaystable}

这会创建一个空白页,但什么都没有。

我也尝试了以下两个选项:

\rotatebox{90}{\input{../folder/name.tex}}
\begin{rotate}
\input{../folder/name.tex}
\end{rotate}

这次,我没有看到占位空白页。

前两个都给了我错误“不在外部模式”,第三个给了我一个错误“缺少数字,视为零。”全部编译。

我认为主要问题是我需要\begin{table},然后\begin{sidewaystable}(或其他),然后\begin{tabular}。但是,我宁愿不这样做,因为这意味着编辑该.tex文件。

有人知道吗?我搜索了好多地方,但还是没能找到答案。

非常感谢!

答案1

主要问题是包含的文件包含所有的浮动对象,环境table。浮动对象不能嵌套或放入其他框中,因此所有变体sidewaystable\rotateboxrotating均不起作用。

您也可以替换table并将sidewaystable文件作为整个浮点对象输入。以下示例仅将裸表(环境tabular)放入外部文件中,以显示所有变体均可正常工作:

% The external file in this example is generated by filecontents
\RequirePackage{filecontents}
\begin{filecontents}{table-example.tex}
\begin{tabular}{ll}
  Hello & World\\
  foo & bar\\
\end{tabular}% remove white space by line end
\end{filecontents}

% Document
\documentclass{article}
\usepackage{rotating}

\begin{document}
  \begin{sidewaystable}
    \centering
    \input{table-example}
    \caption{Sidewaystable}
  \end{sidewaystable}

  \begin{table}
    \centering
    \fbox{%
      \rotatebox{90}{\input{table-example}\unskip}%
    }
    \caption{Rotatebox}
  \end{table}

  \begin{table}
    \centering
    \fbox{%
      \begin{rotate}{90}
        \input{table-example}\unskip
      \end{rotate}%
    }
    \caption{Rotate}
  \end{table}
\end{document}

运行 LaTeX 后,外部文件包含:

%% LaTeX2e file `table-example.tex'
%% generated by the `filecontents' environment
%% from source `test' on 2015/04/13.
%%
\begin{tabular}{ll}
  Hello & World\\
  foo & bar\\
\end{tabular}% remove white space by line end

结果:

第 1 页 第2页

评论:

  • 我添加了\unskipafter\input{table-example}来删除表格后的最后一个空格,对于这种情况,\end{tabular}不会删除紧随其后的注释的行尾:\end{tabular}%

  • \fbox显示,rotate没有给桌子留下任何空间,从文档包装rotating

    rotate
    打印经过任意角度旋转的内容,但不为结果留出任何空间

答案2

除非你的意思完全不同,否则这是有效的:

\documentclass[12pt]{article}
\usepackage{filecontents}

% here we write the sideways table to an external file just for the sake of the example.
\begin{filecontents}{sidetab.tex}
\begin{sidewaystable}
  \begin{tabular}{p{9cm}p{9cm}}

    \lipsum[1] & \lipsum[1] \\
  \end{tabular}
\end{sidewaystable}

\usepackage{rotating,lipsum}

\begin{document}
\lipsum[1]

\input{sidetab}

\lipsum[2]

\end{document}

相关内容