在表格环境中使用 tabularx 时,我遇到了一些问题。这些问题中最烦人的是,表格计数器似乎每增加一个表格就会增加 2。因此,我得到的不是表格 1、2 和 3,而是表格 1、3 和 5。我添加了一个 MWE 来说明这种行为。
% ************ Preamble ****************
\documentclass[a4paper,12pt]{report}
\usepackage[top=2cm, bottom=2cm, left=3.5cm, right=2cm]{geometry} % sets margins
\usepackage{natbib} % for harvard style referencing
\usepackage[margin=10pt, labelfont=bf, format=hang, textfont={small,it}]{caption} % for more interesting captions
\captionsetup[subfigure]{style=default, margin=0pt, labelfont=bf, textfont={small,it}, singlelinecheck=true} % makes subfigure captions a bit more interesting.
\usepackage{multirow} % allows merging of rows in tables
\usepackage{ltablex} % Combines tabularx and longtable functionality
\usepackage{booktabs} % For professional looking tables
% *********** BEGIN! ******************
\begin{document}
Tables~\ref{tab:1}, \ref{tab:2} and \ref{tab:3} are not numbered correctly.
\noindent
\begin{minipage}[htb]{\textwidth}
\captionof{table}{A table.}
\begin{tabularx}{\textwidth}{X X X X X X X}
\toprule
\textbf{Number} & \multicolumn{6}{l}{\textbf{Number}} \\
\textbf{(samples)} & \textbf{0} & \textbf{1} & \textbf{2} & \textbf{3} & \textbf{4} & \textbf{5} \\ \hline
1 & \textit{1} & -- & -- & -- & -- & --\\
2 & \textit{2} & -- & -- & -- & -- & --\\
3--5 & \textit{3} & -- & -- & -- & -- & --\\
6--10 & \textit{4} & \textit{5} & -- & -- & -- & --\\
11--18 & \textit{6} & \textit{7} & \textit{8} & -- & -- & --\\
\bottomrule
\label{tab:1}
\end{tabularx}
\end{minipage}
\noindent
\begin{minipage}[htb]{\textwidth}
\captionof{table}{Another table.}
\begin{tabularx}{\textwidth}{X X X X X X X}
\toprule
\textbf{Number} & \multicolumn{6}{l}{\textbf{Number}} \\
\textbf{(samples)} & \textbf{0} & \textbf{1} & \textbf{2} & \textbf{3} & \textbf{4} & \textbf{5} \\ \hline
1 & \textit{1} & -- & -- & -- & -- & --\\
2 & \textit{2} & -- & -- & -- & -- & --\\
3--5 & \textit{3} & -- & -- & -- & -- & --\\
6--10 & \textit{4} & \textit{5} & -- & -- & -- & --\\
11--18 & \textit{6} & \textit{7} & \textit{8} & -- & -- & --\\
\bottomrule
\label{tab:2}
\end{tabularx}
\end{minipage}
\noindent
\begin{minipage}[htb]{\textwidth}
\captionof{table}{And another table.}
\begin{tabularx}{\textwidth}{X X X X X X X}
\toprule
\textbf{Number} & \multicolumn{6}{l}{\textbf{Number}} \\
\textbf{(samples)} & \textbf{0} & \textbf{1} & \textbf{2} & \textbf{3} & \textbf{4} & \textbf{5} \\ \hline
1 & \textit{1} & -- & -- & -- & -- & --\\
2 & \textit{2} & -- & -- & -- & -- & --\\
3--5 & \textit{3} & -- & -- & -- & -- & --\\
6--10 & \textit{4} & \textit{5} & -- & -- & -- & --\\
11--18 & \textit{6} & \textit{7} & \textit{8} & -- & -- & --\\
\bottomrule
\label{tab:3}
\end{tabularx}
\end{minipage}
\end{document}
如果有人能解释这种奇怪的行为,我们将非常感激。
答案1
请按如下方式使用:
\documentclass[a4paper,12pt]{report}
\usepackage[margin=10pt, labelfont=bf, format=hang, textfont={small,it}]{caption} % for more interesting captions
\captionsetup[subfigure]{style=default, margin=0pt, labelfont=bf, textfont={small,it}, singlelinecheck=true} % makes subfigure captions a bit more interesting.
\usepackage{ltablex} % Combines tabularx and longtable functionality
\usepackage{booktabs} % For professional looking tables
\begin{document}
Tables~\ref{tab:1}, %\ref{tab:2} and \ref{tab:3} are not numbered correctly.
\noindent
\begin{tabularx}{\textwidth}{X X X X X X X}
\caption{A table.}\label{tab:1}\\\toprule
\textbf{Number} & \multicolumn{6}{l}{\textbf{Number}} \\
\textbf{(samples)} & \textbf{0} & \textbf{1} & \textbf{2} & \textbf{3} & \textbf{4} & \textbf{5} \\ \hline
1 & \textit{1} & -- & -- & -- & -- & --\\
2 & \textit{2} & -- & -- & -- & -- & --\\
3--5 & \textit{3} & -- & -- & -- & -- & --\\
6--10 & \textit{4} & \textit{5} & -- & -- & -- & --\\
11--18 & \textit{6} & \textit{7} & \textit{8} & -- & -- & --\\\bottomrule
\end{tabularx}
\end{document}
包ltablex
加载longtable
增加表计数器的包。但是,你可以\caption
在表格中使用,那么就不需要minipage
和\captionof