提问于:
浏览数:
1302
## 编译环境
操作系统
* [ ] Windows 7/8/10
* [ ] macOS
* [ ] Linux
`若需勾选,请把[ ]改成[x]`
Tex发行版
* [x] TexLive `2020`
* [ ] MikTeX `版本号`
* [ ] CTeX
`若需勾选,请把[ ]改成[x]`
## 我的问题
自动生成表格时出错
```LaTeX
\documentclass{ctexart}
\usepackage{makecell}
%\usepackage{interfaces-makecell}%使用interfaces-makecell宏包,制作列数可变表格,感谢qingkuan大神指导
\usepackage{interfaces}%使用interfaces-makecell宏包,制作列数可变表格,感谢qingkuan大神指导
%\usepackage{etoolbox}
\usepackage{CJKnumb}%中文小写数字
\begin{document}
%根据大题数目自动生成计分总表
%总计分表格开始
%总计分表格的列数为总大题数+3,需要编译两次才能得到正确表格,第一次编译默认为3大题
\newcounter{ts}
\setcounter{ts}{3}
\newlength{\wol}%所有横线的宽度
\setlength{\wol}{0.3pt}%所有横线宽度初始值为0.3pt
\newlength{\wot}%所有表格每列宽度
%\settowidth{\wot}{复核人}%所有表格每列宽度初始值为"复核人"三字的宽度
\settowidth{\wot}{3em}%所有表格每列宽度初始值为"复核人"三字的宽度
\newcounter{tc}%总计分表列数
\newcounter{tcsr}%总计分表第二行重复列数
%\setcounter{ts}{\getrefbykeydefault{nos}{}{3}}%利用末页标签nos返回总大题数目,需编译两次才能得到正确大题数目,第一次编译默认为3大题,特别感谢qingkuan大神耐心指导!
\setcounter{tc}{\value{ts}+3}%总计分表列数比大题数多3
\setcounter{tcsr}{\value{tc}-1}%总计分表第二行重复列数为总列数-1
%
\arrayrulewidth=2\wol %表格线宽为普通横线宽的2倍
%
\begin{tabular}{|*{\thetc}{c|}}
\hline
\makebox[\wot]{题号} & \repeatcell {\thets}{%
rows=1,
text=\makebox[\wot]{\CJKnumber{\column}}
} &\makebox[\wot]{总分} &\makebox[\wot]{复核人} \\ \hline
得分&\repeatcell{\thetcsr}{%
rows=1,
end=\\ \hline} \\
\hline
\end{tabular}
%总分表格结束
\end{document}
```
![](https://wenda.latexstudio.net/data/attach/201228/roG5dbGJ.png)