当简单的 tabularx 包含任何内容时,它将无法编译

当简单的 tabularx 包含任何内容时,它将无法编译

tabularx表仅当其为空时才会编译。

\documentclass{article}
\usepackage{tabularx}
\begin{document}

A

\begin{tabularx}{0.5\linewidth}{|p|}
\hline
% foo           <-----
% \\ foo        <----- uncomment any of these lines, get an error
% foo \\        <-----
\end{tabularx}

B

\end{document}

错误是

Missing number, treated as zero.

这是什么意思?

答案1

如果你试试

\begin{tabular}{|p|}
\end{tabular}

你不会得到错误,除非你加载包array,在这种情况下你会得到

! Package array Error: Missing arg: token ignored.

事实是p 需要长度参数,因此尽管空表不会引发错误,但语法是错误的。

(列说明符)的第二个参数tabularx应该至少包含一X列,否则环境将产生意外的输出。

任何状况之下,p 必须紧随其后{<length>}

相关内容