如何才能连续渲染大量表格?

如何才能连续渲染大量表格?

在下面的代码中出现错误

!h' float specifier changed to !ht`

我想是因为我的表格跨多个页面。我怎样才能让它们一个接一个地正确显示?

\documentclass{article}
\begin{document}
\section{Database Design} 

\begin{table}[!h]
\centering
    \begin{tabular}{ | l |  l |}
    \hline
    Field & Type \\ \hline
    id & Primary key \\ \hline
    firstName & String \\ \hline
    lastName & String \\ \hline
    email & String \\ \hline
    password & String \\ \hline
    \end{tabular}
\caption{User2}
\end{table}

\begin{table}[!h]
\centering
    \begin{tabular}{ | l |  l |}
    \hline
    Field & Type \\ \hline
    id & Primary key \\ \hline
    firstName & String \\ \hline
    lastName & String \\ \hline
    email & String \\ \hline
    password & String \\ \hline
    \end{tabular}
\caption{User}
\end{table}

\begin{table}[!h]
\centering
    \begin{tabular}{ | l |  l |}
    \hline
    Field & Type \\ \hline
    id & Primary key \\ \hline
    title & String \\ \hline
    postedAt & Date\\ \hline
    email & String \\ \hline
    author & Foreign key from 'User' table\\ \hline
    tags & Foreign key from 'Tag' table\\ \hline
    \end{tabular}
\caption{Post}
\end{table}

\begin{table}[!h]
\centering
    \begin{tabular}{ | l |  l |}
    \hline
    Field & Type \\ \hline
    id & Primary key \\ \hline
    author& String \\ \hline
    content& String \\ \hline
    postedAt & Date\\ \hline 
    post& Foreign key from 'Post' table\\ \hline
    \end{tabular}
\caption{Comment}
\end{table}

\begin{table}[!h]
\centering
    \begin{tabular}{ | l |  l |}
    \hline
    Field & Type \\ \hline
    id & Primary key \\ \hline
    name & String
    \end{tabular}
\caption{Tag}
\end{table}

\begin{table}[!h]
\centering
    \begin{tabular}{ | l |  l |}
    \hline
    id & Primary key \\ \hline
    Field & Type \\ \hline
    post& Foreign key from 'PostTag' table\\ \hline
    tag& Foreign key from 'Tag' table\\ \hline
    \end{tabular}
\caption{PostTag}
\end{table}


\end{document}

答案1

当 TeX 无法将表格放在[h]分页符上时,它总是会切换到其他内容。

对于这种情况,我猜一个好的选择是加载一个包

\usepackage{float}

然后使用[H]位置说明符(大写“H”)(不能与其他说明符一起使用,不能与 一起使用!):

\begin{table}[H]
...
\end{table}

这个说明符的意思是:

  • 这里,且仅在这里;

  • 如果表格不适合此处,则移至下一页,并保持当前页面简短。

一般来说,使用[H]是不受欢迎的,但当整个部分或多或少只包含表格时,它似乎是一个合理的解决方案。

答案2

如果你需要在特定位置输出表格,而又不让其他东西潜入其中,不要使用浮点数然后。

\captionof如果使用包中的浮点数,即使没有浮点数也可以使用标题caption。另请参阅此问题 无浮动的标签和标题

相关内容