我对表格的编号有点恼火。不幸的是,我没有 MWE,我怀疑在简短的示例中是否会出现“错误”(这是一篇论文……)。此外,当移动东西时,错误可能会自行消失……但我还是更想知道如何避免它。
关于这个问题,在表格列表中我有:
1. ... p.10
5. ... p. 52
2. ... p. 53
3. ... p. 54
4. ... p. 55
列表实际上是按照页码正确排序的。让我恼火的是表格编号没有按页码分布。
其实表格编号是按照它们在 tex 文档中出现的顺序排列的。当然浮动会浮动,那么为什么表格编号没有调整呢?
我读过关于\usepackage{fixltx2e}
修复一些类似错误的文章 - 但没有成功。而且这个flafter
包似乎没有改变任何东西。诚然,我使用了 longtable、sidewaystable 等的混合版本
这是一个 MWE,实际上它相当长。
\documentclass[12pt,a4paper]{article}
\usepackage{amssymb,amsmath}
\usepackage[utf8]{inputenc}
\usepackage[T2A,T1]{fontenc} %for cyrillic support
\usepackage[russian,english]{babel}
\usepackage{tocloft}
\usepackage{longtable}
\usepackage{url}
\usepackage{scrextend}
\usepackage{float}
\usepackage{psfrag}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{graphicx}
\usepackage{rotating}
\usepackage{epstopdf}
\DeclareGraphicsExtensions{.pdf,.eps,.png,.jpg,.mps}
\usepackage{everyshi}
\usepackage[absolute]{textpos}
\usepackage{enumitem}
\usepackage{setspace}
\usepackage{subfig}
\usepackage{blindtext}
\mathsurround 1.5pt
\makeatletter
\renewcommand\@makefntext[1]{%
\noindent\makebox[0.2em][r]{\@makefnmark}#1}
\makeatother
\makeatletter
\renewcommand*{\@seccntformat}[1]{%
\csname the#1\endcsname.
}
\makeatother
\renewcommand{\cftsubsecindent}{1.5em}
\begin{document}
\tableofcontents
\newpage
\listoffigures
\addcontentsline{toc}{section}{List of Figures}
\listoftables
\addcontentsline{toc}{section}{List of Tables}
\newpage
\onehalfspacing
\section{Sec}
\blindtext
\section{Sec}
\blindtext
{
\def\legend{\multicolumn{6}{l}{\footnotesize Source:}\normalsize}
\begin{table}[ht!]\centering \caption{Means \label{meancompare}}
\begin{tabular}{l c c c c c }\hline\hline
\textbf{} & \textbf{All} & \textbf{asd} & \textbf{def} & \textbf{fgg} & \textbf{ccc}\\
\textbf{} &\text{Obs: 8038} & \text{Obs: 6590} & \text{Obs: 1014} & \text{Obs: 328} & \text{Obs: 106}\\\hline
Age & 40.515 & 40.299 & 41.560 & 40.650 & 44.028\\
HHsize & 5.308 & 5.2434 & 5.669 & 5.45 & 5.472\\
\legend
\end{tabular}
\end{table}
}
\blindtext
\section{Appendix}
\begin{sidewaystable}[htbp]\centering\small
\caption{Estimation Results Model 1
\label{tabresult regress1}}
\begin{tabular}{l r @{} l c r @{} l c r @{} l c}
\hline\hline
test & 0.096&*** & (0.020) & 0.103&l & (0.020) & 0.102&* & (0.020)\\
\end{tabular}
\end{sidewaystable}
\begin{table}[htbp]
\centering
\caption{Estimation results}
\label{tabresult regress}
\begin{tabular}{l r @{} l c r @{} l c}
\hline\hline
test & 0.096&* & (0.020)\\
\hline
\end{tabular}
\end{table}
\begin{sidewaystable}[htbp]
\centering\small
\caption{considered}
\begin{tabular}{l|r r|r r|r r| r}
Total & 5.729 & 71.27\% & 1.353 & 16.83\% & 956 & 11.89\% & 8.038\\
\end{tabular}
\end{sidewaystable}
{\footnotesize
\begin{longtable}{ p{3cm} p{5cm} r r r r}
\caption{Description and Summary of Variables}\\
\hline\hline
\textbf{Dependent Variable} & \textbf{Definition} & \textbf{Mean} & \textbf{SD} & \textbf{Min} & \textbf{Max}\\\hline\endfirsthead
\caption[]{(continued)}\\\hline\hline\textbf{Independent Variable} & \textbf{Definition} & \textbf{Mean} & \textbf{SD} & \textbf{Min} & \textbf{Max}\\\hline\endhead
\hline \multicolumn{5}{l}{continued on next page}\endfoot
\hline \multicolumn{5}{l}{Source:}\endlastfoot
i100 & avbascadf & 6.748 & 2.209 & 0 & 10\\
\quad\\
\textbf{Independent Variables} \\
\cline{2-6}\\
test & 1 if test, 0 if otherwise &0.532 & 0.499 & 0 & 1\\
\end{longtable}
}
\end{document}
答案1
您正在混合使用非浮动表(长表)和浮动表,这可能会导致错误的数字。此外\clearpage
您可以尝试\Floatbarrier
使用 placeins 包来防止浮动表格位于非浮动表格后面。
理论上,也应该能够使用自动标签和比较来重置编号\pageref
但必须先有人编写代码。