编译带有数学列的多列表时出现 LaTeX 错误

编译带有数学列的多列表时出现 LaTeX 错误

我正在尝试构建下表:

\frame{
\begin{table}
\begin{center}
\singlespacing 
\tabcolsep=0.07cm 
\tiny
\begin{tabular}{>{$}l<{$} >{$}c<{$} D{.}{.}{10} >{$}c<{$} D{.}{.}{10} >{$}c<{$} D{.}{.}{10} >{$}c<{$} D{.}{.}{10} >{$}c<{$} D{.}{.}{10}}
\toprule
&&\multicolumn{1}{c}{Model 1} && \multicolumn{1}{c}{Model 2} && \multicolumn{1}{c}{Model 3}&& \multicolumn{1}{c}{Model 4}&& \multicolumn{1}{c}{Model 5}\\
\midrule
\text{Intercept}        &  &  0.014       &&  0.028       &&  0.014       &&  0.029       &&  0.022   \\
                          &  &  (0.152)     &&  (0.025)     &&  (0.015)     &&  (0.028)     &&  (0.02)  \\
\text{LEVEL\_W}           &  &  0.369^{***} &&  0.335^{***} &&  0.359^{***} &&  0.33^{***}  &&  0.325^{***}  \\
                          &  &  (0.074)     &&  (0.065)     &&  (0.075)     &&  (0.067)     &&  (0.069) \\
\text{IPM}                              &  &              &&  0.222^{**}  &&              &&  0.217^{**}  &&  0.209^{**}  \\
                          &  &              &&  (0.073)     &&                &&  (0.074)     &&  (0.071)   \\              
\text{EXP}                 &  &  -0.077^{***}&&  -0.042^{*}  &&  -0.063^{***}&&  -0.04^{**}  &&  -0.039^{**}  \\
                          &  &  (0.021)     &&  (0.017)     &&  (0.016)     &&  (0.016)     &&  (0.014) \\
%\text{MARKET}     &  &  0.045^{.}   &&  0.054^{*}   &&  -0.045^{.}  &&  0.053^{*}   &&  0.054^{*}  \\
                          &  &  (0.024)     &&  (0.026)     &&  (0.024)     &&  (0.026)     &&  (0.026) \\
%\text{NET*SOUTH}               &  &  0.186^{***} &&  0.171^{**}  &&  0.156^{***} &&  0.183^{**}  &&  0.202^{**}  \\
                          &  &  (0.041)     &&  (0.056)     &&  (0.038)     &&  (0.058)     &&  (0.073)  \\
\text{REGCAP}                         &  &              &&              &&              &&              &&  0.04  \\
                          &  &              &&              &&              &&              &&  (0.065)  \\
%\text{NGO}                             &  &              &&              &&  -0.04^{*}   &&  -0.013      &&  -0.009  \\
                          &  &              &&              &&  (0.018)     &&  (0.023)     &&  (0.02)  \\
%\text{PA\_EMP}                       &  &              &&              &&  0.059^{*}   &&  0.01        &&  -0.013  \\
                          &  &              &&              &&  (0.026)     &&  (0.021)     &&  (0.024)  \\
%\rho_{lag}         &  &  0.017^{*}   &&  -0.018^{**} &&  0.019^{*}   &&  -0.025^{***}&&  -0.03^{***}  \\
                          &  &  (0.007)     &&  (0.007)     &&  (0.008)     &&  0.007       &&  (0.007)  \\
%\rho_{err}    &  &  -0.046^{***}&&  0.000       &&  -0.048^{***}&&  0.008       &&  0.013^{.}    \\
                  &  &  (0.013)     &&  (0.007)     &&  (0.014)     &&  (0.007)     &&  (0.007)  \\

\bottomrule
\end{tabular}
\end{table}
\end{center}
}

如果我运行带有注释行的代码,我可以编译 PDF 文件。如果我取消注释其中一个或多个,则会收到错误(插入了缺失或多余的 $ 或 {)。我不知道如何解决这个问题,因为在我看来,关键列的构建方式与“正确”列相同。

正如您所看到的,我为列指定了一个数学环境。

我对 LaTeX 还不太熟悉,对表格环境的规范也不是很熟悉。我使用的表格环境来自 R 输出:

> toLatex(mtable(linm1,linm2,linm3,linm4,linm5)

来自 memisc 包。它用于比较 5 个线性回归模型的估计值。

有人能帮我找出错误所在吗?

非常感谢。

答案1

似乎对于十进制数的格式化,您使用D{}{}{}列类型。为此,我认为最好使用siunitx包的功能。当然,如果正确使用dcolum包,您可以获得类似的结果(关于表格)(如 Mico 在他的回答中所示)。

在下面的 MWE 中,我只重写了表格的一部分,其中还包含两行在编译时遇到问题:

\documentclass{beamer}

\usepackage{siunitx}
\usepackage{booktabs}


    \begin{document}
\begin{frame}
    \begin{center}
    \tiny
\begin{tabular}{l
                *{5}{S[parse-numbers = false,
                       table-number-alignment = center,
                       table-figures-integer = 2,
                       table-figures-decimal = 4]}
                }
\toprule
    & {Model 1} & {Model 2} & {Model 3} & {Model 4} & {Model 5} \\
\midrule
Intercept
    &  0.014    &  0.028    &  0.014    &  0.029    &  0.022    \\
    & (0.152)   & (0.025)   & (0.015)   & (0.028)   & (0.02)    \\
MARKET     
    &  0.045^{.}&  0.054^{*}& -0.045^{.}&  0.053^{*}&  0.054^{*}\\
    & (0.024)   & (0.026)   & (0.024)   & (0.026)   & (0.026)   \\
NET*SOUTH               
    &  0.186^{***}  & 0.171^{**}    & 0.156^{***}   
        &  0.183^{**}   &  0.202^{**}                           \\
    & (0.041)       &  (0.056)      &  (0.038)     
        & (0.058)       & (0.073)                               \\
\bottomrule
\end{tabular}
    \end{center}
\end{frame}
\end{document}

得到的表格为:

在此处输入图片描述

要获得整个表格,您需要像我在示例中所做的那样“清理”您的代码。

简历:我没有调查是什么导致了你的表格中的错误,我只是建议采用一种新方法来设计一个在编译时不会出现问题的表格。此外,我删除了table环境,因为在幻灯片中,浮动没有意义,特别是,如果你喜欢(后者)添加标题作为\caption{my important table}\label{tab:maytable-x}例子。

编辑: 现在我发现,我没有上传我最近的 MWE(它不包含array包,并且不必要的定义被删除了)。因此,表格的布局也不同。抱歉弄乱了。

答案2

您的表中的代码设置了许多完全空白的列。一旦消除这些列,代码就可以正常编译。嗯,有些实例^{.}可能应该是^{*},对吧?

如果您要使用该dcolumn包来对齐小数点标记上的数字,则应该使用类似的D{.}{.}{2.6}而不是D{.}{.}{10}:请注意,可以说明小数点标记前后的位数。

在此处输入图片描述

\documentclass{beamer}
\usepackage{booktabs,dcolumn}
\newcolumntype{d}[1]{D..{#1}}
\begin{document}

\begin{frame}
\scriptsize  %% not necessary to go to "\tiny"
\centering
\begin{tabular}{@{} l *{5}{d{2.6}} @{}}
\toprule
&\multicolumn{1}{c}{Model 1} 
&\multicolumn{1}{c}{Model 2} 
&\multicolumn{1}{c}{Model 3}
&\multicolumn{1}{c}{Model 4}
&\multicolumn{1}{c@{}}{Model 5}\\
\midrule
Intercept & 0.014 & 0.028 & 0.014 & 0.029 & 0.022   \\
          &(0.152)&(0.025)&(0.015)&(0.028)&(0.02)  \\
LEVEL\_W  & 0.369^{***} &  0.335^{***} &  0.359^{***} &  0.33^{***}  &  0.325^{***}  \\
          &(0.074)&(0.065)&(0.075)&(0.067)&(0.069) \\
IPM       &       &  0.222^{**}  &   &  0.217^{**}  &  0.209^{**}  \\
          &       &  (0.073)     &   &  (0.074)     &  (0.071)   \\              
EXP       & -0.077^{***}&  -0.042^{*}  &  -0.063^{***}&  -0.04^{**}  &  -0.039^{**}  \\
          &  (0.021)    &  (0.017)     &  (0.016)     &  (0.016)     &  (0.014) \\
MARKET     &  0.045^{.}   &  0.054^{*}   &  -0.045^{.}  &  0.053^{*}   &  0.054^{*}  \\
          &  (0.024)     &  (0.026)     &  (0.024)     &  (0.026)     &  (0.026) \\
NET$*$SOUTH &  0.186^{***} &  0.171^{**}  &  0.156^{***} &  0.183^{**}  &  0.202^{**}  \\
            &  (0.041)     &  (0.056)     &  (0.038)     &  (0.058)     &  (0.073)  \\
REGCAP      &   &   &   &   &  0.04  \\
            &   &   &   &   &  (0.065)  \\
NGO        &    &      &  -0.04^{*}   &  -0.013      &  -0.009  \\
           &   &   &  (0.018) &  (0.023) &  (0.02)  \\
PA\_EMP    &   &   &  0.059^{*}  &  0.01  &  -0.013  \\
           &   &   &  (0.026)  &  (0.021)  &  (0.024)  \\
$\rho_{\text{lag}}$  &  0.017^{*}   &  -0.018^{**} &  0.019^{*}   &  -0.025^{***}&  -0.03^{***}  \\
            & (0.007) & (0.007) & (0.008) &  0.007  &  (0.007) \\
$\rho_{\text{err}}$    &  -0.046^{***}&  0.000   & -0.048^{***}&  0.008   &  0.013^{.}    \\
            &  (0.013)     &  (0.007)     &  (0.014)     &  (0.007)     &  (0.007)  \\

\bottomrule
\end{tabular}
\end{frame}
\end{document}

相关内容