我遇到一个问题,我使用 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}