如何结合“float”和“longtable”包的功能

如何结合“float”和“longtable”包的功能

我想为我的表格使用精确的放置位置。正如我阅读SO可以使用“float”包提供的表格环境的 [H] 选项来实现。但这似乎不适用于 longtable,因为我的表格很长,所以我不得不使用它。

我迄今为止尝试过

% Preamble
\usepackage{longtable}
\usepackage{float}
\restylefloat{longtable} % as \restylefloat{table} doesn't take effect


% Long table
\begin{longtable}[H]{| c | c | c | c |}
\hline
1        & 5 & 6 & 7  \\ \hline
1        & 5 & 6 & 7  \\ \hline
1        & 5 & 6 & 7  \\ \hline
% and so on, many rows
\end{longtable}

这给了我一堆错误,例如

Misplaced \noalign. [\hline]
Misplaced alignment tab character &. [1          &]

也许还有其他方法可以获得 longtable 的期望行为?

编辑:我添加了 longtable 放置的确切问题的屏幕截图。简而言之:它放在段落之前,而我把它写在段落之后。 长表问题

答案1

正如评论中所澄清的那样,该问题与浮动环境无关。

\documentclass{article}
\usepackage{longtable}


\begin{document}

\paragraph{zz}

\begin{longtable}{| c | c | c | c |}
\hline
1        & 5 & 6 & 7  \\ \hline
1        & 5 & 6 & 7  \\ \hline
1        & 5 & 6 & 7  \\ \hline
% and so on, many rows
\end{longtable}

aa

\end{document}

\paragraph是一个排队标题(设计用于之后\subsubsection)标题被保留并添加到下一段的第一行。

longtable没有开始段落,因此标题被添加到aa

要解决此问题,请添加一个空段落

\documentclass{article}
\usepackage{longtable}


\begin{document}

\paragraph{zz}
\mbox{}%<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

\begin{longtable}{| c | c | c | c |}
\hline
1        & 5 & 6 & 7  \\ \hline
1        & 5 & 6 & 7  \\ \hline
1        & 5 & 6 & 7  \\ \hline
% and so on, many rows
\end{longtable}

aa

\end{document}

但是,在这种情况下,您确定要的是内联标题而不是显示标题吗?

相关内容