我有一个.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
、\rotatebox
和rotating
均不起作用。
您也可以替换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
结果:
评论:
我添加了
\unskip
after\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}