如何将长表格浮动到下一页而不影响两列布局?

如何将长表格浮动到下一页而不影响两列布局?

我正在尝试在 IEEEtran 中放置一个旋转的长表。为了添加长表,我在\onecolumn表之前和\twocolumn之后添加了。表出现在正确的位置,但文本被截断了。结果如下: 在此处输入图片描述

我怎样才能使文本看起来像没有添加表格一样,这意味着文本一直显示在右列上。

以下是代码:

\documentclass[conference]{IEEEtran}
\usepackage{geometry}
\usepackage{lscape}
\usepackage{longtable}
\usepackage{graphicx}
\usepackage{rotating}
\begin{document}
\section{text before table}
text here should be able to display on one page instead of cut off by      the table.
\onecolumn
\begin{landscape}
  \begin{longtable}{p{3cm} p{2cm} p{4cm} p{4cm} p{3cm} p{3cm}}
  \hline
  col1 & col2 & col3 & col4 & col5 & col6 \\
  \hline
  \endhead
  \hline \multicolumn{6}{r}{{Continued on next page}} \\
  \endfoot
  \hline\hline
  \endlastfoot
  col1& col2& col3& col4 & col5& col6 \\
   \caption{a long table}
  \label{table:a long table}
\end{longtable}
\end{landscape}
\twocolumn
\section{text after table}
these text after the table
\end{document}

答案1

首先,您的表格太宽,无法放入所需的空间。但是我能够将其分成两列。想法是在单独的文件中创建长表,然后一次复制一页。

第一步是确定可用空间以及表格所需的最小空间。在这种情况下,计算起来相对容易。或者,可以将整个表格(不是长表)放入保存框并测量宽度。

接下来,我们使用几何图形来创建一个所需大小的页面。我对页眉和标题做了一些更改。它看起来很奇怪。此外,此标题不会显示在目录中,您可能需要使用\setcounter{table}{4}(例如)来获取正确的数字。

\documentclass{article}
\usepackage[paperwidth=624.60233pt,paperheight=252pt,margin=0pt]{geometry}
\usepackage{longtable}
\renewcommand{\thetable}{\Roman{table}}% IEEE standard (except comsoc)
\begin{document}
\begin{longtable}{p{3cm} p{2cm} p{4cm} p{4cm} p{3cm} p{3cm}}
  \caption{a long table}\label{table:a long table}\\
  \hline
  col1 & col2 & col3 & col4 & col5 & col6 \\
  \hline
  \endhead
  \hline \multicolumn{6}{r}{{Continued on next page}} \\
  \endfoot
  \hline\hline
  \endlastfoot
  1\\2\\3\\4\\5\\6\\7\\8\\9\\10\\11\\12\\13\\14\\15\\16\\17\\18\\19\\20\\
  \hline
\end{longtable}
\end{document}

输出存储为test7.pdf

然后我们用来\includegraphics实际显示页面。此时添加标题可能更容易,但尝试将其放在侧面几乎是不可能的。

注意:上述尺寸计算已被注释掉。

\documentclass[conference]{IEEEtran}
\usepackage{graphicx}
\begin{document}
\section{text before table}
text here should be able to display on one page instead of cut off by the table.
%(\the\columnwidth) (\the\textheight) (\the\dimexpr 14\tabcolsep+3cm+2cm+4cm+4cm+3cm+3cm\relax)

\begin{table}[ht]
\includegraphics[angle=90,page=1]{test7}
\refstepcounter{table}\label{table:a long table}
\addcontentsline{lot}{table}{\protect\numberline{\thetable}{a long table}}%
\end{table}
\begin{table}[ht]
\includegraphics[angle=90,page=2]{test7}
\end{table}

\section{text after table}
these text after the table
\end{document}

完整页面

相关内容