我使用了该功能
\cs_new:Npn\宽度{168/(1+\thecnt)}
计算长度,其中cnt
是一个计数器,168 实际上是 A4 纸的宽度(以毫米为单位)乘以 0.8。
现在
\setlength{\tabcolsep}{\宽度 mm}{\begin{tabular}...\end{tabular}
存在非法单位测量的错误。
经过一些“调试”后,我发现问题在于+
或/
没有被解释为运算符。这意味着\宽度
返回168/(1+2)
而不是 56。
答案1
您需要在使用时解释其价值,因为其价值当然cnt
会有所不同。
這與 沒有任何關係expl3
。
\newcommand{\宽度}{168/(1+\value{cnt})}
\setlength{\tabcolsep}{\fpeval{\宽度}mm}
会按照你的意愿完成。你需要一个较新的 LaTeX 版本(2021 年 10 月);对于较旧的版本,请执行\usepackage{xfp}
。