endfloat 和来自其他文件的“输入”表不兼容?

endfloat 和来自其他文件的“输入”表不兼容?

我遇到一个问题,我使用 Stata 为一个科学项目生成表格环境,并尝试通过“输入”命令将它们包含在 Latex 中。但最终,我的所有表格(无论是来自外部文件还是直接在文档中编写的)都在“表格”环境中。

尽管如此,endfloat 包和将另一个文件中的表格输入到表中似乎存在不兼容性。

在以下 MWE 中,不使用 endfloat 包(注释掉第 4 行)可以让我一切顺利。但是如果我使用 endfloat,我最终会在文件后面得到一个段落(第 4 段,如数字所示),其中应该只有表格。这是第一次“输入”外部文件后的第一个段落。

此外,还莫名其妙地多了一个表格标记——文中有五个表格,但我收到的表格标记最多为 [在此处插入表格 6]。因此,整个文档毫无用处。

我的目标是,对于期刊投稿,将表格按要求放在后面。一种解决方法是在 latex 代码中手动将所有表格移到后面,但这会使处理文档变得不必要地累人。您是否知道将表格移到后面的其他解决方案?

\documentclass[12pt]{scrartcl}
\usepackage[english]{babel}
\usepackage{tabularx}
\usepackage[markers]{endfloat}
\usepackage{blindtext}

\begin{document}

\section{Normal Sections, text}

11111111111111111111111
\blindtext
\begin{table}[ht]
\begin{center}
\begin{tabularx}{\textwidth}{l|X}
\hline \hline
variable & description\\ \hline
var 1 & binary; 1 if and only if ... \\ \hline \hline
\end{tabularx}
\end{center}
\caption{The independent variables}\label{variabletable}
\end{table}

22222222222222222222222222
\blindtext

\begin{table}[ht]
\begin{center}
\begin{tabularx}{\textwidth}{l|X}
\hline \hline
Variable & Description\\ \hline
Revenue & revenue\\
logta&natural logarithm of total assets\\
\hline \hline
\end{tabularx}
\end{center}
\caption{The dependent variables}\label{deptable}
\end{table}

33333333333333333333333333333
\blindtext

{\renewcommand\footnotesize{\normalsize}%
\normalsize
\begin{table}[ht]
\begin{center}
\begin{scriptsize}
\makebox[\textwidth][c]{\input{regcompare1.tex}}
\end{scriptsize}
\end{center}
\caption{Summary statistics}\label{1}
\end{table}}

444444444444444444444444444
\blindtext[1]

\begin{table}[ht]
\begin{center}
\begin{scriptsize}
\makebox[\textwidth][c]{\input{regcompare1.tex}}
\end{scriptsize}
\end{center}
\caption{Models with selections of dependent corporate performance variables}
\label{regcompare1}
\end{table}

5555555555555555555555555555555555
\blindtext[1]
\begin{table}[ht]
\begin{center}
\begin{scriptsize}
\makebox[\textwidth][c]{\input{regcompare1.tex}}
\end{scriptsize}
\end{center}
\caption{Models with selections of dependent corporate performance variables}
\label{regcompare2}
\end{table}

6666666666666666666666666666666666666666666
\blindtext[1]

\section{Last section, references}

\end{document}

此外,加载的文件 regcompare1 恰好具有这些内容(注意表格环境):

{
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\begin{tabular}{l*{9}{c}}
\hline\hline
            &\multicolumn{1}{c}{(1)}&\multicolumn{1}{c}{(2)}&\multicolumn{1}{c}{(3)}&\multicolumn{1}{c}{(4)}&\multicolumn{1}{c}{(5)}&\multicolumn{1}{c}{(6)}&\multicolumn{1}{c}{(7)}&\multicolumn{1}{c}{(8)}&\multicolumn{1}{c}{(9)}\\
            &\multicolumn{1}{c}{Test \newline test}&\multicolumn{1}{c}{estprof2}&\multicolumn{1}{c}{estprof3}&\multicolumn{1}{c}{estneti}&\multicolumn{1}{c}{estneti2}&\multicolumn{1}{c}{estroa}&\multicolumn{1}{c}{estroa2}&\multicolumn{1}{c}{estroa3}&\multicolumn{1}{c}{estroa4}\\
\hline
logta       &     -0.0578\sym{***}&     -0.0458\sym{***}&     -0.0515\sym{***}&     -0.0119\sym{***}&     -0.0121\sym{***}&     -0.0192\sym{***}&     -0.0181\sym{***}&     -0.0180\sym{***}&     -0.0186\sym{***}\\
            &     (0.000)         &     (0.000)         &     (0.000)         &     (0.000)         &     (0.000)         &     (0.000)         &     (0.000)         &     (0.000)         &     (0.000)         \\
\hline\hline
\multicolumn{10}{l}{\footnotesize \textit{p}-values in parentheses}\\
\multicolumn{10}{l}{\footnotesize \sym{*} \(p<0.05\), \sym{**} \(p<0.01\), \sym{***} \(p<0.001\)}\\
\end{tabular}
}

我感谢您的帮助。

答案1

更新:如果你删除了多余的分组,问题就会消失

{\renewcommand\footnotesize{\normalsize}%
\normalsize
\begin{table}[ht]
\begin{center}
\begin{scriptsize}
\makebox[\textwidth][c]{\input{regcompare1.tex}}
\end{scriptsize}
\end{center}
\caption{Summary statistics}\label{1}
\end{table}}

444444444444444444444444444
\blindtext[1]

大概是因为你想限制 的范围\renewcommand。只需这样做

\let\Mariefootnotesize\footnotesize
\renewcommand\footnotesize{\normalsize}%
\normalsize
\begin{table}[ht]
\begin{center}
\begin{scriptsize}
\makebox[\textwidth][c]{\input{regcompare1.tex}}
\end{scriptsize}
\end{center}
\caption{Summary statistics}\label{1}
\end{table}
\let\footnotesize\Mariefootnotesize

444444444444444444444444444
\blindtext[1]

问题就会消失。


这不是答案,只是澄清。如果你添加

\newsavebox\Marie
\sbox\Marie{\rule[-43.5pt]{\linewidth}{93pt}}

并将所有内容替换\input{regcompare1}为,\usebox\Marie您将重现完全相同的问题。这表明它与输入文件或表格的实际内容无关。(我选择了规则尺寸 --- 好吧,实际上在确定框尺寸时我可能没有使用--- 来对应OP 问题中scriptsize产生的框的实际尺寸)。\makebox

调查应该集中于该endfloat包裹以及它在这里的使用方式。

\documentclass[12pt]{scrartcl}
\usepackage[english]{babel}
\usepackage{tabularx}
\usepackage[markers]{endfloat}
\usepackage{blindtext}

\begin{document}

\newsavebox\Marie
\sbox\Marie{\rule[-43.5pt]{\linewidth}{93pt}}

\section{Normal Sections, text}

11111111111111111111111
\blindtext
\begin{table}[ht]
\begin{center}
\begin{tabularx}{\textwidth}{l|X}
\hline \hline
variable & description\\ \hline
var 1 & binary; 1 if and only if ... \\ \hline \hline
\end{tabularx}
\end{center}
\caption{The independent variables}\label{variabletable}
\end{table}

22222222222222222222222222
\blindtext

\begin{table}[ht]
\begin{center}
\begin{tabularx}{\textwidth}{l|X}
\hline \hline
Variable & Description\\ \hline
Revenue & revenue\\
logta&natural logarithm of total assets\\
\hline \hline
\end{tabularx}
\end{center}
\caption{The dependent variables}\label{deptable}
\end{table}

33333333333333333333333333333
\blindtext

{\renewcommand\footnotesize{\normalsize}%
\normalsize
\begin{table}[ht]
\begin{center}
\begin{scriptsize}
\usebox\Marie
\end{scriptsize}
\end{center}
\caption{Summary statistics}\label{1}
\end{table}}

444444444444444444444444444
\blindtext[1]

\begin{table}[ht]
\begin{center}
\begin{scriptsize}
\usebox\Marie
\end{scriptsize}
\end{center}
\caption{Models with selections of dependent corporate performance variables}
\label{regcompare1}
\end{table}

5555555555555555555555555555555555
\blindtext[1]
\begin{table}[ht]
\begin{center}
\begin{scriptsize}
\usebox\Marie
\end{scriptsize}
\end{center}
\caption{Models with selections of dependent corporate performance variables}
\label{regcompare2}
\end{table}

6666666666666666666666666666666666666666666
\blindtext[1]

\section{Last section, references}

\end{document}

相关内容