테이블은 4개 있어요. 테이블 1, 3, 4의 캡션과 라벨은 테이블 1, 2, 3으로 출력됩니다. 그러나 테이블 2는 롱 테이블이므로 테이블 라벨이 표시되지 않습니다. 테이블 라벨과 캡션을 순차적으로 출력하는 방법은 무엇입니까?
\begin{table}[h]
\caption{first table}
\label{tab:1}
\setlength\tabcolsep{0pt}
\begin{tabular*}{\columnwidth}{@{\extracolsep{\fill}} |l|c|}
\toprule
some codes
\midrule
some codes
\end{tabular*}
\smallskip
\scriptsize
\end{table}
\\
\begin{longtable}
%\setlength
\setlength\tabcolsep{0pt}
\begin{tabular*}{\columnwidth}{@{\extracolsep{\fill}} |l|c|r|}
\caption{second table}\label{tab:2}\\
\toprule
some codes
\midrule
some codes
\bottomrule
\hline
\end{tabular*}
\smallskip
\scriptsize
\end{longtable}
\\
\begin{table}[h]
\begin{center}
\caption{Third table}
\label{tab:3}
\begin{tabular}{|l|c|c|c|c|c|r|} \hline
some codes
\hline
\end{tabular}
\smallskip
\scriptsize
\end{center}
\end{table}
\begin{table}[h]
\begin{center}
\caption{Summary of overall query result}
\label{tab:4}
\begin{tabular}{|l|c|c|r|} \hline
some codes
\end{tabular}
\smallskip
\scriptsize
\end{center}
\end{table}\\
답변1
코드 조각을 병합한 후 longtable
예상되는 올바른 결과를 얻습니다. 사용에 대한 잘못된 구문을 수정합니다.
보시다시피, 범인은 긴 테이블의 코드입니다. 에서는 (또는 다른 테이블 환경을 longtable
포함할 수 없습니다 . 이후에는 열 사양( , 또는 ) 을 따라야 합니다 . 아래 MWE를 참조하세요.tabular
\begin{longtable}
c
l
r
p{...}
MWE의 결과는 다음과 같습니다.
\documentclass{article}
\usepackage{array, booktabs, longtable}
\begin{document}
\begin{table}[ht]
\caption{first table}
\label{tab:1}
\begin{tabular*}{\columnwidth}{@{\extracolsep{\fill}} |l|c|}
\toprule
some codes & some codes \\
\bottomrule
\end{tabular*}
\end{table}
\begin{longtable}{|l|c|r|}
\caption{second table}
\label{tab:2}\\
\toprule
some codes & some codes \\
\bottomrule
\end{longtable}
\begin{table}[ht]
\centering
\caption{Third table}
\label{tab:3}
\begin{tabular}{|l|c|c|c|c|c|r|} \hline
1 & 2 & 3 & 4 & 5 & 6 & 7 \\
\hline
\end{tabular}
\end{table}
\begin{table}[ht]
\centering
\caption{Summary of overall query result}
\label{tab:4}
\begin{tabular}{|l|c|c|r|} \hline
1 & 2 & 3 & 4 \\
\hline
\end{tabular}
\end{table}
\end{document}