我想为我的表格使用精确的放置位置。正如我阅读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}
但是,在这种情况下,您确定要的是内联标题而不是显示标题吗?