foreach 语句变量的最大允许值是多少?测试必现大于"3999就会报错,看下面代码:
documentclass{article}
usepackage{fontspec}
setmainfont{SimSun}
usepackage{tikz}
%usepackage{xeCJK}
%setmainfont{微软雅黑}
%xeCJKDeclareSubCJKBlock {CJK} {"4DC0 -> "4DFF}
%xeCJKDeclareCharClass*{CJK}{"4DC0 -> "4DFF}
begin{document}
foreach x in{"3800,"3001,...,"3999} {char x quad}
下一行会报错!
foreach y in {"3900,"3901,...,"4000}{char y quad}
end{document}
首先感谢你的回答。但你这么一改,16进制数39A0--3FFF之间的数对应的字符怎么输出?
实测foreach x in{"3000,"3001,...,"3FFE} {char x quad}是可以的,也就是说变量最大到"3FFE,都没问题,到"3FFF就出问题了,会给出如下错误:texstudio_nFsBMS.tex: 错误: 27: Dimension too large. ...in{"3000,"3001,...,"3FFF} {char x quad},十六进制数"3FFE 等于十进制数16382,大于16382的数比如16383就会出错了,也就是说,foreach 变量的最大值是十进制数16382,十六进制数 "3FFE.再大就不可以了!
@u117881 再次建议你熟悉一下 md 语法,代码请用代码块包裹,不然看起来很难受,且无法复制
你可以使用
functional
包提供的\intStepInline
命令来完成你的循环