我创建了一个多页表(表 1),它涵盖 1.5 页,并在第一个表结束后创建了另一个表(表 2),但第一个表的第二部分的顺序在表 2 之后。
\usepackage{longtable}
\begin{document}
\begin{center}
\begin{longtable}{p{4cm}|p{4cm}|p{4cm}}
\caption{A simple longtable example}\\
\hline
\textbf{First entry} & \textbf{Second entry} & \textbf{Third entry} \\
\hline
\endfirsthead
\multicolumn{3}{c}%
{\tablename\ \thetable\ -- \textit{Continued from previous page}} \\
\hline
\textbf{First entry} & \textbf{Second entry} & \textbf{Third entry} \\
\hline
\endhead
\hline \multicolumn{3}{r}{\textit{Continued on next page}} \\
\endfoot
\hline
\endlastfoot
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
\end{longtable}
\end{center}
\begin{table}[t]\centering
\caption{Description of fact-check's article category}
\begin{tabular}{ p{2cm}|p{3cm}|p{5cm} } \hline
% \begin{tabular}{ |c|c|c| } \hline
%\multicolumn{3}{|c|}{Data Description} \\ \hline
\textbf{Class} & \textbf{Definition} & \textbf{Example} \\ \hline
a & b & c \\
a & b & c \\
a & b & c \\
a & b & c \\ a & b & c \\
\end{tabular}\centering
\label{table:category}
\end{table}
\end{document}
但我希望第一个表格的第二部分和第二个表格的第二部分都显示在同一页上。我该怎么做?
答案1
问题是第二个表格放置选项。例如,[t]
您不应该写(要求表格必须位于页面顶部),而应该写[htb]
(表示“此处”或“顶部”或“页面底部”):
\documentclass{article}
\usepackage{geometry}
\usepackage{longtable}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\begingroup
\setlength\LTcapwidth{12cm}
\begin{longtable}{p{4cm}|p{4cm}|p{4cm}}
\caption{A simple longtable example} \\
\hline
\textbf{First entry} & \textbf{Second entry} & \textbf{Third entry} \\
\hline
\endfirsthead
\caption[]{A simple longtable example-- \textit{Continued from previous page}} \\
\hline
\textbf{First entry} & \textbf{Second entry} & \textbf{Third entry} \\
\hline
\endhead
\hline
\multicolumn{3}{r}{\footnotesize\textit{Continued on next page}} \\
\endfoot
\hline
\endlastfoot
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\
\end{longtable}
\endgroup
\begin{table}[htb]
\centering
\caption{Description of fact-check's article category}
\label{table:category}
\begin{tabular}{ p{2cm}|p{3cm}|p{5cm} }
\hline
\textbf{Class} & \textbf{Definition} & \textbf{Example} \\
\hline
a & b & c \\
a & b & c \\
a & b & c \\
a & b & c \\
a & b & c \\
\hline
\end{tabular}
\end{table}
\end{document}
(红线表示文本边框)
longtable
在文本区域中始终水平居中,因此不需要位于center
区域内。
答案2
我认为出现此问题的原因是您组合了两种不同的表格格式,但是一旦您将第二个表格转换为 longtable,问题就会得到解决。
\begin{longtable}{p{4cm}|p{4cm}|p{4cm}}
\caption{Description of fact-check's article category}\\
\textbf{Class} & \textbf{Definition} & \textbf{Example} \\ \hline
a & b & c \\
a & b & c \\
a & b & c \\
a & b & c \\
a & b & c \\
\label{table:category}
\end{longtable}