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}