缺少数字,视为零。这里出了什么问题?

缺少数字,视为零。这里出了什么问题?
\documentclass[a4paper,12pt]{article}
\usepackage[dutch]{babel} % Quotes won't work without babel
\usepackage[utf8]{inputenc}  % This is very important!
\usepackage[T1]{fontenc}

\usepackage{graphicx}
\usepackage{tabularx}

\newcolumntype{Y}{>{\raggedright}X}

\begin{document}
\begin{tabularx}{\linewidth}{|Y|Y|}\hline
\multicolumn{}{}{Some Text.}
More Text and some Items below:
\begin{itemize}
\item Item1
\item Item2
\item Item3
\item Item4
\item Item5
\item Item6
\item Item7
\end{itemize}
& \begin{center} \resizebox{10cm}{!}{\includegraphics{pic.png}}\\ \textit{Picture Description} \end{center}
\tabularnewline \hline
\end{tabularx}
\end{document}

错误信息是:

Missing number, treated as zero.
<to be read again> 
\relax 
l.26 \end{tabularx}

有人能解决这个问题吗?

答案1

\multicolumn{}{}{Some Text.}

肯定是错的。请查看手册以了解如何使用它。

我不知道你想达到什么目的,但如果我使用

\multicolumn{2}{c}{Some Text.}\\

你的例子对我来说很适合。

错误分析

为了让未来的用户至少对此有一点兴趣,这里简要说明如何找出错误。

通过设置

\errorcontextlines 10000

在序言中,您会在日志中获得更多的错误上下文。

使用 LaTeX,默认设置几乎从来没有给出可用的解释......

然后,您将在日志文件中看到以下内容:

! Missing number, treated as zero.
<to be read again> 
                   \relax 
\@multispan #1->\@multicnt #1\relax 
                                    \loop \ifnum \@multicnt >\@ne \sp@n \rep...

\multicolumn #1#2#3->\multispan {#1}
                                    \begingroup \def \@addamp {\if@firstamp ...
<inserted text> ...e \multicolumn {}{}{Some Text.}
                                                   More Text and some Items ...

注意顺序是“从内到外”,也就是说,第一行(非缩进)是错误实际发生的位置。第二行(缩进)是该行中尚未处理的部分,因此错误位置恰好位于换行符处:

\@multispan #1->\@multicnt #1\relax 
                                    \loop \ifnum \@multicnt >\@ne \sp@n \rep...

下一个“分割线”再次在分割处给出了调用此命令的命令:

\multicolumn #1#2#3->\multispan {#1}
                                    \begingroup \def \@addamp {\if@firstamp ...

这个故事讲述了:

  1. \multicolumn调用\multispan其第一个参数。
  2. \multispan依次尝试将其参数分配给计数寄存器。

因此仍然需要一些侦探工作,但最终很明显,的第一个参数\multicolumn不应该为空,并且您知道在哪里寻找错误。

相关内容