控制台中出现以下错误:
额外的对齐标签已更改为 \cr
但我不知道代码中缺少什么:
\documentclass{article}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage[a4paper, left=2cm, right=2cm, top=45mm, bottom=20mm]{geometry}
\usepackage[table]{xcolor}
\usepackage{multirow, array}
\usepackage{tabularx,booktabs}
\begin{document}
\begin{table}\centering
\begin{tabular}{@{}ccc@{}}\toprule
& \multicolumn{2}{c}{\textbf{Factors}}
& \cmidrule{2-3}
\textbf{Levels}& \textit{Solvent} & \textit{Water:Solvent mass ratio} \\ \midrule
\textit{1} & Water & 0 \\
\textit{2} & ChCl:2Gly & 0.40 \\
\textit{3} & ChCl:2Urea & 0.57 \\
\textit{4} & --- & 0.69 \\
\textit{5} & --- & 0.82 \\
\textit{6} & --- & 0.87 \\
\textit{7} & --- & 0.91 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案1
你的第一行有一个&
而不是\\
:
\documentclass{article}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage[a4paper, left=2cm, right=2cm, top=45mm, bottom=20mm]{geometry}
\usepackage{multirow, array}
\usepackage{tabularx,booktabs}
\begin{document}
\begin{table}\centering
\begin{tabular}{@{}ccc@{}}\toprule
& \multicolumn{2}{c}{\textbf{Factors}}\\
\cmidrule{2-3} \textbf{Levels}& \textit{Solvent} & \textit{Water:Solvent mass ratio} \\ \midrule
\textit{1} & Water & 0 \\
\textit{2} & ChCl:2Gly & 0.40 \\
\textit{3} & ChCl:2Urea & 0.57 \\
\textit{4} & --- & 0.69 \\
\textit{5} & --- & 0.82 \\
\textit{6} & --- & 0.87 \\
\textit{7} & --- & 0.91 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
Sam Carter 已经展示了修复方法,但是对于错误消息的评论,您只展示了一个片段。
错误是:
! Extra alignment tab has been changed to \cr.
<template> \endtemplate
l.14 &
\cmidrule{2-3}
?
l.14 告诉您 tex 正在读取第 14 行,换行符显示它已经读取到该行的多少,因此在读取第&
14 行后立即发出错误,然后您可以看到在第 14 行之后开始了一个未声明的第 4 列& \multicolumn{2}{c}{\textbf{Factors}}
错误消息告诉您 tex 会将其解释&
为\cr
( \\
),这实际上是本例中的正确修复方法(对于 TeX 恢复操作来说,这是一个非常罕见的事件:-)