编辑:添加了序言,似乎\input table
有效!当我手动插入表格而不是输入表格时,我没有收到任何错误,而且看起来不错。但是,当我使用时\input{table.tex}
,我收到大量错误,并且 PDF 无法编译 -Misplaced \noalign, Missing } inserted, Missing } inserted, Misplaced \cr, Misplaced \cr.
我没有遇到问题\toprule
,而且我确实使用了 siunitx 和 booktabs 包。
以下是生成表的代码:
\documentclass[11pt]{article}
%% links
\usepackage[colorlinks=true, allcolors=blue]{hyperref}
%% maths
\usepackage{amssymb, amsfonts, amsmath}
\usepackage{bm}
%% basic layout formatting
\usepackage[margin=1in]{geometry} % full-width
\topskip = 20pt
\parskip = 10pt
\parindent = 0 pt
\baselineskip = 15pt
\usepackage{setspace} % line spacing
\onehalfspacing
\usepackage{graphicx}\usepackage{siunitx}
\usepackage{adjustbox}
\usepackage{caption} % to reset the headers of tables
\usepackage{rotating} % for sidewaystable
\usepackage{siunitx}
\numberwithin{table}{section} % reset the Table numbering for each section
%% these three are essential for estout
\usepackage{booktabs} % neatly formatting lines
\usepackage{threeparttable}
\usepackage{dcolumn} % aligning decimals
\newcolumntype{d}[1]{D{.}{.}{#1}}
%% bibliography
\usepackage{natbib}
\bibliographystyle{plainnat}
\begin{document}
%%%% TABLE 1 %%%%
\begin{table}[!htbp]
\caption{Summary statistics} \label{tab:table1}
\begin{tabular}{lrrrr}
\toprule
\input{table.tex}
\bottomrule
\end{tabular}
\end{table}
\end{document}
这是我的 table.tex 代码:
& N& Mean& SD\\
\midrule
w & 1& 5& 9\\
x & 2& 6& 10\\
y & 3& 7& 11\\
z & 4& 8& 12\\
答案1
我可以使用下面显示的代码在 MacTeX2021 系统上完全复制 OP 报告的问题,并进行所有更新。
没有把握为什么这可行,但\input{table.tex}
用替换\input table
可解决问题。(请注意,这.tex
是使用的默认文件扩展名\input
。)
\documentclass{article}
\usepackage{booktabs}
\usepackage[skip=0.333\baselineskip]{caption} % optional
\begin{filecontents*}[overwrite]{table.tex}
& N& Mean& SD\\
\midrule
w & 1& 5& 9\\
x & 2& 6& 10\\
y & 3& 7& 11\\
z & 4& 8& 12\\
\end{filecontents*}
\begin{document}
\begin{table}[!htbp]
\caption{Summary statistics} \label{tab:table1}
\centering
\begin{tabular}{lccc}
\toprule
\input table % not: '\input{table.tex}'
\bottomrule
\end{tabular}
\end{table}
\end{document}