需要帮助解决多列错误

需要帮助解决多列错误

我遇到了一些我认为很简单的问题。我正在学习 LaTeX,目前使用 STATA 输出我的大部分 LaTeX 代码,然后将其插入 TeXworks 以生成 PDF。

每当我尝试输出此特定代码时,都会收到错误:

“扫描 \multicolumn 的使用情况时文件结束。”

以下是我使用的代码:

\documentclass{article}
\begin{document}
\begin{table}[htbp]\centering
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\caption{Closing Date Effects}
\begin{tabular}{l*{1}{cc}}
\hline\hline
                    &\multicolumn{2}{c}{(1)}           \\    
                    &\multicolumn{2}{c}{Voter Turnout (%)}\\
\hline
Registration Closing Date&      -0.226\sym{**} &     (0.001)\\
Southern State      &      -8.900         &     (0.142)\\
Close x South (Interaction)&      0.0928         &     (0.674)\\
Constant            &       77.20\sym{***}&     (0.000)\\
\hline
Observations        &          51         &            \\
\hline\hline
\multicolumn{3}{l}{\footnotesize \textit{p}-values in parentheses}\\\
\multicolumn{3}{l}{\footnotesize \sym{*} \(p<0.05\), \sym{**} \(p<0.01\), \sym{***} \                  (p<0.001\)}\\
\end{tabular}
\end{table}
\end{document}

我最好的猜测是,我在\multicolumn部分中缺少一些括号,但我找不到在哪里。我想也许在最后一行:

\multicolumn{3}{l}{\footnotesize \sym{*} \(p<0.05\), \sym{**} \(p<0.01\), \sym{***} \                      (p<0.001\)}\\

但无论我使用多少个括号,它仍然会出错。

答案1

存在错误:

  1. %,之前缺少反斜杠
  2. 您在某些行的末尾使用了三个\\\而不是,而在最后一行使用了 。\\\
  3. 根据 egreg 的建议,我将数字设置为数学模式。这对于负数尤其重要——否则你会得到短跑而不是负号。
  4. \textit{}您应该使用$p$原样p数学变量。

笔记:

在此处输入图片描述

代码:

\documentclass{article}
\begin{document}
\begin{table}[htbp]\centering
\def\sym#1{\ifmmode{}^{#1}\else\({}^{#1}\)\fi}
\caption{Closing Date Effects}
\begin{tabular}{l*{1}{cc}}
\hline\hline
                           &\multicolumn{2}{c}{(1)}           \\    
                           &\multicolumn{2}{c}{Voter Turnout (\%)}\\ % <--- Missing a backslash
\hline
Registration Closing Date  &      $-0.226\sym{**}$ &     $(0.001)$\\ % <--- Negative numbers should be in math mode
Southern State             &      $-8.900$         &     $(0.142)$\\
Close x South (Interaction)&      $0.0928$         &     $(0.674)$\\
Constant                   &      $77.20\sym{***}$ &     $(0.000)$\\
\hline
Observations               &          $51$         &            \\
\hline\hline
\multicolumn{3}{l}{\footnotesize $p$-values in parentheses}\\ % <-- had extra backslash
\multicolumn{3}{l}{\footnotesize \sym{*} $p<0.05$, \sym{**} $p<0.01$, \sym{***} $p<0.001$}\\ % <-- missing backslash
\end{tabular}
\end{table}
\end{document}

答案2

使用threepartablesiunitxbooktabs包,需要更少的代码(定义sim不再有用)以获得更好的效果(中间列的小数点垂直对齐):

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[para]{threeparttable}
\usepackage{booktabs}
\usepackage{amsmath}
\usepackage{siunitx}
\newcolumntype{T}{S[table-figures-decimal = 4,table-figures-integer = 2]}

\begin{document}
\begin{table}[htbp]
\centering
\begin{threeparttable}
\caption{Closing Date Effects}
\begin{tabular}{@{}lT@{\qquad}c@{}}
\toprule
\midrule
                    &\multicolumn{2}{c}{Voter Turnout\hfill (\%)\tnote{1}}\\
\midrule
Registration Closing Date&      -0.226{\tnote{**}} &     (0.001)\\%
Southern State      &      -8.900         &     (0.142)\\
Close x South (Interaction)&      0.0928         &     (0.674)\\
Constant            &       77.20{\tnote{***}}&     (0.000)\\
\midrule
Observations        &          {51}         &            \\
\midrule
\bottomrule
\end{tabular}
\footnotesize
\begin{tablenotes}
 \item[1]  $ p $-values in parentheses\\
  \item[*]  $ p < 0.05 $
  \item[**]  $ p <  0.01 $
  \item [***] $ p<0.001 $
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document} 

在此处输入图片描述

相关内容