图中填充了长表

图中填充了长表

我目前正在创建一个里面figure填充的内容longtable,我这样做是因为我需要标题数字,而另一方面,我需要环境table

问题是,我这样做的原因longtable是我将创建一个大表,但将其放在里面figure会使它无法分离。实际上有办法做到这一点吗?

所以我已经拥有的是:1.

\begin{longtable}{ccccc}
% Long content
\end{longtable}

没问题,但是我没有标题Figure(如果可以把这个标题放在某处,也许这将是一个更简单的解决方案)

2.

\begin{figure}
  \begin{longtable}{ccccc}
  % Long content
  \end{longtable}
\end{figure}

这样,我就有了标题,但表格将始终位于一页中(它们不想分开)。

答案1

不要使用浮点数longtable,而要使用capt-ofcaption包,然后\captionof{figure}{...}创建Figure标题。因为计数器longtable确实会增加table一,所以您需要再次减少它以确保后续tables 的正确编号。

\documentclass{article}

\usepackage{longtable}
\usepackage{capt-of}

\begin{document}

% Document
\begin{center}
  \begin{longtable}{ccccc}
      a \\
  % Long content
  \end{longtable}%
  \captionof{figure}{Caption text}%
  \addtocounter{table}{-1}%
\end{center}

\end{document}

答案2

一个简单的方法是使用ltcaption包重新定义浮点类型longtable,如所建议的这个答案

\documentclass{article}

\usepackage{longtable}
\usepackage{ltcaption}
\renewcommand\LTcaptype{figure} % redefine the float type used by longtable

\begin{document}

\begin{longtable}{ccccc}
    \caption{My long table as a Figure} \\
    Test & test 2 & test 3 & test 4 & test 5\\
    Test & test 2 & test 3 & test 4 & test 5\\
\end{longtable}

\end{document}

一次重新定义

笔记:不需要用 来更新表计数器\addtocounter{table}{-1}


奖金

我是不是确信以下过程会导致文档不稳定,但我能够滥用这种重新定义:

\documentclass{article}

\usepackage{longtable}
\usepackage{ltcaption}

\begin{document}

\listoffigures
\listoftables

\renewcommand\LTcaptype{figure}
\begin{longtable}{ccccc}
    \caption{My first long table as a Figure} \\
    Test & test 2 & test 3 & test 4 & test 5\\
    Test & test 2 & test 3 & test 4 & test 5\\
\end{longtable}

\renewcommand\LTcaptype{table}
\begin{longtable}{ccccc}
    \caption{My second long table as a Table} \\
    Test & test 2 & test 3 & test 4 & test 5\\
    Test & test 2 & test 3 & test 4 & test 5\\
\end{longtable}

\renewcommand\LTcaptype{figure}
\begin{longtable}{ccccc}
    \caption{My third long table as a Figure} \\
    Test & test 2 & test 3 & test 4 & test 5\\
    Test & test 2 & test 3 & test 4 & test 5\\
\end{longtable}

\end{document}

多次重新定义

相关内容