![尝试制作回归表时出错](https://linux22.com/image/351752/%E5%B0%9D%E8%AF%95%E5%88%B6%E4%BD%9C%E5%9B%9E%E5%BD%92%E8%A1%A8%E6%97%B6%E5%87%BA%E9%94%99.png)
当我尝试制作回归表时,我在 \begin tabular 行上收到“数组参数中的非法字符。”
此外,当我开始放置“注释”时,我收到一条消息“未定义的控制序列”,尽管我能够编译输出
\documentclass[12pt, letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage[top=1in, bottom=1in, left=1in, right=1in]{geometry}
\usepackage{setspace}
\doublespacing
\usepackage{threeparttable}
\usepackage{longtable}
\usepackage{subfig}
%\usepackage[nolists]{endfloat}
\usepackage{enumitem}
\usepackage{booktabs}
\usepackage[title]{appendix}
\usepackage{amsmath}
\usepackage{indentfirst}
\linespread{1.3}
\usepackage[pagewise]{lineno}
%\linenumbers
\usepackage[figuresright]{rotating}
%\usepackage{pdflscape}
%\usepackage{lscape}
\usepackage[title]{appendix}
\usepackage[round]{natbib}
\bibpunct[: ]{(}{)}{;}{a}{}{,}
\begin{table}[ht] \centering
\begin{threeparttable}
\footnotesize
\caption{Determinants}
\begin{tabular}{ l d{2.7} d{2.6} d{4.5} d{4.5}}
\hline\hline
&\multicolumn{1}{c}{Fixed Effects Model}
\hline\hline
\end{tabular}
\begin{tablenotes}
\setlength\labelsep{0pt}
\footnotesize
\item Note: \smallscript{ *** \textit{p} $<$.01 ** \textit{p} $<$.05 *\textit{p} $<$.10
\end{tablenotes}
\end{threeparttable}
\end{table}
答案1
您的(第一个)错误是由于您的序言中缺少列类型的包dcolumn
和定义造成的d
:
\usepackage{dcolumn}
\newcolumntype{d}[1]{D{.}{\cdot}{#1}}
将上述内容添加到文档序言后,不幸的是会出现新的错误 :-(。为了解决这个问题,我清理了你的代码。我这样做了:
- 在序言中,我删除了已加载包的重复项(每个包仅加载一个就足够了)
- 根据用途对软件包进行分组(所有与表相关的软件包一起加载)
- 删除未定义的
\smallscript{
命令,其目的不明确 - 重新设计/正确使用
treepartable
(见下文的 MWE)。
经过这些改变我得到:
生成上述图像的 MWE 是:
\documentclass[12pt, letterpaper]{article}
\usepackage[top=1in, bottom=1in, left=1in, right=1in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{setspace}
\doublespacing
\usepackage{indentfirst}
%\linespread{1.3} % you should decide, what you will use:
% doublespacing or linespread
\usepackage[pagewise]{lineno}
%\linenumbers
\usepackage[title]{appendix}
%\usepackage[nolists]{endfloat}
\usepackage[round]{natbib}
\bibpunct[: ]{(}{)}{;}{a}{}{,}
\usepackage{enumitem}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage[figuresright]{rotating}
\usepackage{booktabs, longtable, threeparttable}
\usepackage{dcolumn} % <-- added
\newcolumntype{d}[1]{D{.}{\cdot}{#1}} % <-- added
\usepackage{lipsum} % for text filler
\begin{document}
\section{first}
\lipsum*[1]
\begin{table}[ht]
\centering
\begin{threeparttable}
%\footnotesize
\caption{Determinants}
\begin{tabular}{ l d{2.7} d{2.6} d{4.5} d{4.5}}
\hline\hline
& \multicolumn{1}{c}{Fixed Effects Model} &&& \\
first column & 12.3456789 & 12.345678 & 12.34567 & 12.34567 \\
\hline\hline
\end{tabular}
%
\begin{tablenotes}[para,raggedright]\footnotesize
\item[***] $p < 0.01$,
\item[**] $p < 0.05$,
\item[*] $p < 0.10$
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}
笔记:将来,当您在这里(或其他地方)寻求帮助解决您的 LaTeX 问题时,请始终提供最小工作示例(MWE),这是一份小型的完整文档,\documentclass{...}
开头是 ,后面是序言,在序言中您只考虑与您的问题相关的软件包。序言之后是begin{document}
导致您出现问题的代码(在您的案例中是表格),\end{document}
结尾是 。通过这个,您将帮助那些愿意帮助您的人 :)。
编辑:
我注意到,您的序言中有一个包booktabs
。您为什么不在表中使用它的规则?有了它们,它们看起来会更专业:
对于上表,代码是:
\begin{tabular}{ l d{2.7} d{2.6} d{4.5} d{4.5}}
\toprule
& \multicolumn{1}{c}{Fixed Effects Model} &&& \\
\midrule
first column & 12.3456789 & 12.345678 & 12.34567 & 12.34567 \\
\bottomrule
\end{tabular}