长表中对齐制表符 & 位置错误

长表中对齐制表符 & 位置错误

我正在尝试制作一张表格;并且用它来居中标题;

\NewExpandableDocumentCommand\mcc{m}{\multicolumn{1}{c}{#1}}

我有以下使用longtable包的表格;

    \begin{longtable}{l l l l l l}
    \centering
    \caption{Quality scores assigned to the papers selected for inclusion.}
    \label{T:quality_scores}
    \hline
    \mcc{Paper reference} & \mcc{Objectives} & \mcc{Results evaluation} & \mcc{Research Process} & \mcc{Comparisons} & \mcc{Sum}  \\
    \hline
    [1] & 0.0 & 1.0 & 1.0 & 1.0 & 3.0 \\ 
    [2] & 0.0 & 1.0 & 1.0 & 0.5 & 2.5 \\ 
    [3] & 0.5 & 1.0 & 0.5 & 1.0 & 3.0 \\ 
    [4] & 0.0 & 0.5 & 0.5 & 1.0 & 2.0 \\ 
    [5] & 0.5 & 1.0 & 1.0 & 1.0 & 3.5 \\ 
    [6] & 0.5 & 1.0 & 0.0 & 1.0 & 2.5 \\ 
    [7] & 1.0 & 0.0 & 1.0 & 0.0 & 2.0 \\ 
    [8] & 1.0 & 0.5 & 1.0 & 1.0 & 3.5 \\ 
    [9] & 1.0 & 0.5 & 1.0 & 1.0 & 3.5 \\ 
    [10] & 0.5 & 1.0 & 1.0 & 1.0 & 3.5 \\ 
    [11] & 1.0 & 0.5 & 1.0 & 1.0 & 3.5 \\ 
    [12] & 1.0 & 1.0 & 0.5 & 1.0 & 3.5 \\ 
    [13] & 0.5 & 0.5 & 1.0 & 0.0 & 2.0 \\ 
    [14] & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    [15] & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    [16] & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    [17] & 1.0 & 0.5 & 0.5 & 0.0 & 2.0 \\ 
    [18] & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    [19] & 1.0 & 1.0 & 1.0 & 0.0 & 3.0 \\ 
    [20] & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    [21] & 1.0 & 0.0 & 0.5 & 1.0 & 2.5 \\ 
    [22] & 0.5 & 0.5 & 0.5 & 0.5 & 2.0 \\ 
    [23] & 1.0 & 1.0 & 0.5 & 0.5 & 3.0 \\ 
    [24] & 1.0 & 0.5 & 1.0 & 0.0 & 2.5 \\ 
    [25] & 1.0 & 1.0 & 0.5 & 1.0 & 3.5 \\ 
    [26] & 1.0 & 1.0 & 1.0 & 0.5 & 3.5 \\ 
    [27] & 0.5 & 0.5 & 0.0 & 1.0 & 2.0 \\ 
    [28] & 1.0 & 1.0 & 0.5 & 1.0 & 3.5 \\ 
    [29] & 0.5 & 0.0 & 1.0 & 1.0 & 2.5 \\ 
    [30] & 1.0 & 1.0 & 0.0 & 0.0 & 2.0 \\ 
    [31] & 1.0 & 1.0 & 1.0 & 0.0 & 3.0 \\ 
    [32] & 1.0 & 0.0 & 0.5 & 0.5 & 2.0 \\ 
    [33] & 1.0 & 1.0 & 1.0 & 0.5 & 3.5 \\ 
    [34] & 0.5 & 0.0 & 1.0 & 1.0 & 2.5 \\ 
    [35] & 1.0 & 1.0 & 1.0 & 0.5 & 3.5 \\ 
    [36] & 1.0 & 1.0 & 0.5 & 1.0 & 3.5 \\ 
    [37] & 0.5 & 1.0 & 1.0 & 0.5 & 3.0 \\ 
    [38] & 0.5 & 0.5 & 1.0 & 0.0 & 2.0 \\ 
    [39] & 1.0 & 0.0 & 1.0 & 0.0 & 2.0 \\ 
    [40] & 0.5 & 1.0 & 1.0 & 1.0 & 3.5 \\ 
    [41] & 0.5 & 0.5 & 1.0 & 1.0 & 3.0 \\ 
    [42] & 1.0 & 1.0 & 0.5 & 1.0 & 3.5 \\ 
    [43] & 0.5 & 0.0 & 1.0 & 1.0 & 2.5 \\ 
    [44] & 0.5 & 1.0 & 0.0 & 1.0 & 2.5 \\ 
    [45] & 1.0 & 0.5 & 1.0 & 0.5 & 3.0 \\ 
    [46] & 0.5 & 1.0 & 0.5 & 0.0 & 2.0 \\ 
    [47] & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    [48] & 1.0 & 1.0 & 0.5 & 1.0 & 3.5 \\ 
    [49] & 1.0 & 0.5 & 1.0 & 0.5 & 3.0 \\ 
    [50] & 0.5 & 1.0 & 0.5 & 0.5 & 2.5 \\ 
    [51] & 1.0 & 1.0 & 0.5 & 0.0 & 2.5 \\ 
    [52] & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    [53] & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    [54] & 1.0 & 1.0 & 0.5 & 0.5 & 3.0 \\ 
    [55] & 0.5 & 1.0 & 0.5 & 1.0 & 3.0 \\ 
    [56] & 0.0 & 1.0 & 1.0 & 1.0 & 3.0 \\ 
    [57] & 1.0 & 0.0 & 0.5 & 0.5 & 2.0 \\ 
    [58] & 0.0 & 1.0 & 0.0 & 1.0 & 2.0 \\ 
    [59] & 1.0 & 1.0 & 0.0 & 0.5 & 2.5 \\ 
    [60] & 1.0 & 1.0 & 0.5 & 0.5 & 3.0 \\ 
    [61] & 0.5 & 1.0 & 0.5 & 1.0 & 3.0 \\ 
    [62] & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    [63] & 1.0 & 0.5 & 0.0 & 0.5 & 2.0 \\ 
    [64] & 1.0 & 0.5 & 0.5 & 0.5 & 2.5 \\ 
    [65] & 1.0 & 0.0 & 0.5 & 1.0 & 2.5 \\ 
    [66] & 1.0 & 0.5 & 0.5 & 0.5 & 2.5 \\ 
    [67] & 0.5 & 1.0 & 0.5 & 1.0 & 3.0 \\ 
    [68] & 0.5 & 1.0 & 0.5 & 0.5 & 2.5 \\
    \hline
    \end{longtable}

出现此错误Misplaced alignment tab character &。有什么建议吗?

答案1

首先,请始终发布完整的最小示例,而不是我们为了测试您的代码而添加内容的这些片段。

话虽如此,这里有一些观察结果。

  • 您没有收到有关alignment tab character &累积错误的错误。始终查看第一个错误。

将代码添加到最小的测试文件中时,我遇到的第一个错误是

! Misplaced \noalign

来自\caption线,但实际上来自\centering。所以我们将其删除。

然后获取时的错误是

! Misplaced \noalign.
\hline ->\noalign 
                  {\ifnum 0=`}\fi \penalty \@M \futurelet \@let@token \LT@@h...

这是因为宏内部longtable\caption重新定义为宏的类型\multicolumn。因此这一行必须在\\之前结束\hline。所以我们\\在 之后添加\label

我们得到的下一个错误是

! Illegal unit of measure (pt inserted).
<to be read again> 
                   >
l.15     [2]
             & 0.0 & 1.0 & 1.0 & 0.5 & 2.5 \\

这是从\\行上得到的[1]\\可以采用可选参数,但[...]遗憾的是这里\\ <linebreak> [2]被视为,\\[2]并且这不是允许的选项,\\因此出现错误。

解决方案:全部写[<num>]为,{[<num>]那么参数解析器就\\无法看到[并停止寻找它。

现在可以编译代码了。

两个建议,使用来自的规则booktabs(有三个)而不是\hline,这样看起来更好。使用配置的head和部分,当表格跨页时,可以获得良好的页眉和页脚(例如,在分页符后自动复制页眉)。我会把这些留给你。footlongtable

这是工作代码

\documentclass[a4paper]{article}
\NewExpandableDocumentCommand\mcc{m}{\multicolumn{1}{c}{#1}}
\usepackage{longtable}

\begin{document}

\begin{longtable}{l l l l l l}
  \caption{Quality scores assigned to the papers selected for inclusion.}
  \label{T:quality_scores}
  \\
    \hline
    \mcc{Paper reference} & \mcc{Objectives} & \mcc{Results evaluation} & \mcc{Research Process} & \mcc{Comparisons} & \mcc{Sum}  \\
    \hline
    {[1]} & 0.0 & 1.0 & 1.0 & 1.0 & 3.0 \\ 
    {[2]} & 0.0 & 1.0 & 1.0 & 0.5 & 2.5 \\ 
    {[3]} & 0.5 & 1.0 & 0.5 & 1.0 & 3.0 \\ 
    {[4]} & 0.0 & 0.5 & 0.5 & 1.0 & 2.0 \\ 
    {[5]} & 0.5 & 1.0 & 1.0 & 1.0 & 3.5 \\ 
    {[6]} & 0.5 & 1.0 & 0.0 & 1.0 & 2.5 \\ 
    {[7]} & 1.0 & 0.0 & 1.0 & 0.0 & 2.0 \\ 
    {[8]} & 1.0 & 0.5 & 1.0 & 1.0 & 3.5 \\ 
    {[9]} & 1.0 & 0.5 & 1.0 & 1.0 & 3.5 \\ 
    {[10]} & 0.5 & 1.0 & 1.0 & 1.0 & 3.5 \\ 
    {[11]} & 1.0 & 0.5 & 1.0 & 1.0 & 3.5 \\ 
    {[12]} & 1.0 & 1.0 & 0.5 & 1.0 & 3.5 \\ 
    {[13]} & 0.5 & 0.5 & 1.0 & 0.0 & 2.0 \\ 
    {[14]} & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    {[15]} & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    {[16]} & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    {[17]} & 1.0 & 0.5 & 0.5 & 0.0 & 2.0 \\ 
    {[18]} & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    {[19]} & 1.0 & 1.0 & 1.0 & 0.0 & 3.0 \\ 
    {[20]} & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    {[21]} & 1.0 & 0.0 & 0.5 & 1.0 & 2.5 \\ 
    {[22]} & 0.5 & 0.5 & 0.5 & 0.5 & 2.0 \\ 
    {[23]} & 1.0 & 1.0 & 0.5 & 0.5 & 3.0 \\ 
    {[24]} & 1.0 & 0.5 & 1.0 & 0.0 & 2.5 \\ 
    {[25]} & 1.0 & 1.0 & 0.5 & 1.0 & 3.5 \\ 
    {[26]} & 1.0 & 1.0 & 1.0 & 0.5 & 3.5 \\ 
    {[27]} & 0.5 & 0.5 & 0.0 & 1.0 & 2.0 \\ 
    {[28]} & 1.0 & 1.0 & 0.5 & 1.0 & 3.5 \\ 
    {[29]} & 0.5 & 0.0 & 1.0 & 1.0 & 2.5 \\ 
    {[30]} & 1.0 & 1.0 & 0.0 & 0.0 & 2.0 \\ 
    {[31]} & 1.0 & 1.0 & 1.0 & 0.0 & 3.0 \\ 
    {[32]} & 1.0 & 0.0 & 0.5 & 0.5 & 2.0 \\ 
    {[33]} & 1.0 & 1.0 & 1.0 & 0.5 & 3.5 \\ 
    {[34]} & 0.5 & 0.0 & 1.0 & 1.0 & 2.5 \\ 
    {[35]} & 1.0 & 1.0 & 1.0 & 0.5 & 3.5 \\ 
    {[36]} & 1.0 & 1.0 & 0.5 & 1.0 & 3.5 \\ 
    {[37]} & 0.5 & 1.0 & 1.0 & 0.5 & 3.0 \\ 
    {[38]} & 0.5 & 0.5 & 1.0 & 0.0 & 2.0 \\ 
    {[39]} & 1.0 & 0.0 & 1.0 & 0.0 & 2.0 \\ 
    {[40]} & 0.5 & 1.0 & 1.0 & 1.0 & 3.5 \\ 
    {[41]} & 0.5 & 0.5 & 1.0 & 1.0 & 3.0 \\ 
    {[42]} & 1.0 & 1.0 & 0.5 & 1.0 & 3.5 \\ 
    {[43]} & 0.5 & 0.0 & 1.0 & 1.0 & 2.5 \\ 
    {[44]} & 0.5 & 1.0 & 0.0 & 1.0 & 2.5 \\ 
    {[45]} & 1.0 & 0.5 & 1.0 & 0.5 & 3.0 \\ 
    {[46]} & 0.5 & 1.0 & 0.5 & 0.0 & 2.0 \\ 
    {[47]} & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    {[48]} & 1.0 & 1.0 & 0.5 & 1.0 & 3.5 \\ 
    {[49]} & 1.0 & 0.5 & 1.0 & 0.5 & 3.0 \\ 
    {[50]} & 0.5 & 1.0 & 0.5 & 0.5 & 2.5 \\ 
    {[51]} & 1.0 & 1.0 & 0.5 & 0.0 & 2.5 \\ 
    {[52]} & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    {[53]} & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    {[54]} & 1.0 & 1.0 & 0.5 & 0.5 & 3.0 \\ 
    {[55]} & 0.5 & 1.0 & 0.5 & 1.0 & 3.0 \\ 
    {[56]} & 0.0 & 1.0 & 1.0 & 1.0 & 3.0 \\ 
    {[57]} & 1.0 & 0.0 & 0.5 & 0.5 & 2.0 \\ 
    {[58]} & 0.0 & 1.0 & 0.0 & 1.0 & 2.0 \\ 
    {[59]} & 1.0 & 1.0 & 0.0 & 0.5 & 2.5 \\ 
    {[60]} & 1.0 & 1.0 & 0.5 & 0.5 & 3.0 \\ 
    {[61]} & 0.5 & 1.0 & 0.5 & 1.0 & 3.0 \\ 
    {[62]} & 1.0 & 1.0 & 1.0 & 1.0 & 4.0 \\ 
    {[63]} & 1.0 & 0.5 & 0.0 & 0.5 & 2.0 \\ 
    {[64]} & 1.0 & 0.5 & 0.5 & 0.5 & 2.5 \\ 
    {[65]} & 1.0 & 0.0 & 0.5 & 1.0 & 2.5 \\ 
    {[66]} & 1.0 & 0.5 & 0.5 & 0.5 & 2.5 \\ 
    {[67]} & 0.5 & 1.0 & 0.5 & 1.0 & 3.0 \\ 
    {[68]} & 0.5 & 1.0 & 0.5 & 0.5 & 2.5 \\
    \hline
    \end{longtable}


\end{document}

相关内容