我 发表了评论
@u101077 使用 ctex 时,\baselineskip 与字体大小的关系是 b=f1.21.3,可参看 ctex 的文档,所以最终的比值是 8 点多。
我 对问题发布了答案
xecjk 会在 cjk 文字之间插入 \CJKglue,这个值一般为 \hskip 0pt plus 0.08\baselineskip,这个 stretch 比较小,一般小于 1em,在宽度为 3
我 发表了评论
@u101077 比如把两个汉字保存到命令中,或者使用 \char,\char_generate:nn 等,它们最终都可以变为汉字,但却不能直接当做两个汉字处理。
我 发表了评论
@u101077 类似,但这种可能报 warning。“汉字”也可以是计算为汉字的东西,还可以包含 \bfseries 等复杂的内容。
我 对问题发布了答案
X-Y problem?你想要的是在两个字符中间插入任何东西,只要这些字符连同它中间的东西一共是三个字符的宽度就行?还是要保证不论输入几个字符,总宽度固定就行?还是不论输为何,其最终结果是两个汉字,然
我 对问题发布了答案
无需任何宏包:\documentclass{article} \makeatletter \def\@zheng@i{\vrule height2ex depth-1.8ex width2ex\re
我 发表了评论
@u70550 xeCJKfntef、xsim 等宏包都有类似的实现,不管它们相对比较复杂,或许 https://tex.stackexchange.com/ 上也有。\kern\z@ 是为了阻止 \
我 对问题发布了答案
\documentclass[UTF8]{ctexart}%pdflatex编译 \usepackage[showframe,margin=1in]{geometry} \usepackage{enu
我 发表了评论
@u70550 从逻辑上看,\fancybox 需要两个参数,但定义它时却没有,所以它必须向后看,才能找到所需参数,但执行了自动修补后,看到的是 \UseHook.. 而不是想要获取参数,而且自动修补
我 对问题发布了答案
这是手动创建命令钩子,如果命令钩子不存在,在向此钩子添加代码时,会执行自动修补。所以,为了不让它执行自动修补,必须创建钩子。我贴的图片没有加上创建钩子的代码。随便在哪用都行。见 1。
我 发表了评论
@u70550没区别。以前只有 \UseHook,后来新增了 \UseHookWithArguments,现在都统一用 \UseHookWithArguments 了。这是由于图片中给出的 \fanc
我 发表了评论
用基于makebox命令定义的命令,为什么会报溢出的水平盒子警告?