You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LaTeX表格单元格中使用parbox命令报错如何解决

问题说明

编写甘特图LaTeX最小工作示例(MWE)时,取消注释代码中被注释的\parbox相关代码块后,编译抛出错误:

! Missing number, treated as zero.\c@ }

暂无法确认错误是未引入必要宏包,还是代码写法问题导致。

可复现原始代码
\documentclass[11pt]{report}
\usepackage{boldline,multirow}
\usepackage[table]{xcolor}
\usepackage{booktabs}
\usepackage{pbox}

\usepackage[left=2.5cm,top=2.5cm,bottom=2.5cm,right=2.5cm
]{geometry}

\begin{document}
\begin{tabular}{| p{4.4cm}V{2.5}ccccV{2.5}ccccV{2.5}ccccV{2.5}ccccV{2.5}ccccV{2.5}ccccV{2.5}}
\hline
\raggedleft Months
&
\multicolumn{4}{V{2.5}cV{2.5}}{1} & \multicolumn{4}{cV{2.5}}{2} & \multicolumn{4}{cV{2.5}}{3} & \multicolumn{4}{cV{2.5}}{4} & \multicolumn{4}{cV{2.5}}{5} & \multicolumn{4}{cV{2.5}}{6}
\\ \hline
%\parbox{.99\linewidth}{
%\begin{enumerate}[noitemsep, label=\alph*), leftmargin=*]
%\item First programme execution 
%\item First program completion
%\end{enumerate}
%}
& \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} &  &  &  &  &  &  &  &  &  &  &  &  & \\
%\parbox{.99\linewidth}{
%\begin{enumerate}[noitemsep, label=\alph*), leftmargin=*]
%\item second programme execution 
%\item second program completion
%\end{enumerate}
%}
&  &  &  &  &  &  &  &  &  &  &  &  &  & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100}
\\
\hline
\end{tabular}
\end{document}
报错原因

报错由两个问题共同导致:

  • 核心原因:代码中enumerate环境使用了noitemsep、自定义标签格式、leftmargin等键值对形式的配置参数,但导言区未加载enumitem宏包。LaTeX原生的enumerate环境不支持这类键值配置,解析参数时会误将格式配置识别为计数器赋值,触发\c@(LaTeX计数器命令前缀)相关的缺数字报错。
  • 冗余写法问题:表格第一列已经定义为p{4.4cm}段落列,本身就支持列表、多行文本等段落模式内容,不需要额外嵌套\parbox,多余的嵌套反而容易引发宽度溢出、对齐异常。
修复方案
  • 在导言区添加\usepackage{enumitem},加载列表自定义功能支持。
  • 移除第一列单元格内多余的\parbox嵌套,直接写入enumerate列表即可。如果确实需要用\parbox控制宽度,建议添加顶部对齐参数t,即\parbox[t]{<宽度值>}{内容},避免和同行其他单元格垂直对齐错乱。
修复后可正常编译的代码
\documentclass[11pt]{report}
\usepackage{boldline,multirow}
\usepackage[table]{xcolor}
\usepackage{booktabs}
\usepackage{pbox}
\usepackage{enumitem} % 新增,提供列表自定义参数支持
\usepackage[left=2.5cm,top=2.5cm,bottom=2.5cm,right=2.5cm]{geometry}

\begin{document}
\begin{tabular}{| p{4.4cm}V{2.5}ccccV{2.5}ccccV{2.5}ccccV{2.5}ccccV{2.5}ccccV{2.5}ccccV{2.5}}
\hline
\raggedleft Months
&
\multicolumn{4}{V{2.5}cV{2.5}}{1} & \multicolumn{4}{cV{2.5}}{2} & \multicolumn{4}{cV{2.5}}{3} & \multicolumn{4}{cV{2.5}}{4} & \multicolumn{4}{cV{2.5}}{5} & \multicolumn{4}{cV{2.5}}{6}
\\ \hline
\begin{enumerate}[noitemsep, label=\alph*), leftmargin=*]
\item First programme execution 
\item First program completion
\end{enumerate}
& \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} & \cellcolor{blue!100} &  &  &  &  &  &  &  &  &  &  &  &  & \\
\begin{enumerate}[noitemsep, label=\alph*), leftmargin=*]
\item second programme execution 
\item second program completion
\end{enumerate}
&  &  &  &  &  &  &  &  &  &  &  &  &  & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100} & \cellcolor{green!100}
\\
\hline
\end{tabular}
\end{document}

内容的提问来源于stack exchange,提问作者Zilore Mumba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 23:48:23