We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
\__ctex_char_auxi:NNNN
在尝试 #705 里的「替换/改写废弃命令 \char_to_utfviii_bytes:n」部分时,我遇到 Undefined control sequence \__ctex_char_auxi:NNNN 的报错。这个命令被错误定义为 NNN、但是接受四个参数的形式。
\char_to_utfviii_bytes:n
Undefined control sequence \__ctex_char_auxi:NNNN
NNN
ctex-kit/ctex/ctex.dtx
Lines 4444 to 4451 in e612c95
所需的改动像是显然的:改成 \cs_new:Npn \@@_char:NNNN,4 个 N。但我好奇为什么这段代码一直没被执行。我完全不了解 ctex 里 pdftex 下处理多字节 codepoint 部分的代码。
\cs_new:Npn \@@_char:NNNN
N
The text was updated successfully, but these errors were encountered:
\@@_char_auxi:NNN 写错了,确实应该是 \@@_char_auxi:NNNN ,有 4 个 N 。
\@@_char_auxi:NNN
\@@_char_auxi:NNNN
CJK 包对汉字首字节的定义中,\protect 这一分支是一种很古早的兼容定义,正常情况下不会走向这一分支,所以一直就没有执行。
\protect
从某一个版本开始,LaTeX2e 内核的 \MakeLowercase 等命令用 \text_lowercase:nn 等函数来定义,这些函数会使用 \text_expand:n 展开参数后再转化大小写,引发错误。
\MakeLowercase
\text_lowercase:nn
\text_expand:n
比如“汉(UTF-8 编码为 e6 b1 89)”会被 CJK 包定义为
e6 b1 89
\csname CJK@\number`^^e6\endcsname{`^^b1}{`^^89}\CJK@ignorespaces
这个定义并不能在 \text_expand:n 中正确展开,会引发错误。为此,ctex 包将“汉”改定义为 \CTEX@char@nnn{225}{177}{138} ,\CTEX@char@nnn 是一个 \protected 宏,不会被 \text_expand:n 展开,同时将 `^^b1 等转化成阿拉伯数字,避免可能的大小写转化。
\CTEX@char@nnn{225}{177}{138}
\CTEX@char@nnn
\protected
`^^b1
Sorry, something went wrong.
2a6f18c
No branches or pull requests
在尝试 #705 里的「替换/改写废弃命令
\char_to_utfviii_bytes:n
」部分时,我遇到Undefined control sequence \__ctex_char_auxi:NNNN
的报错。这个命令被错误定义为NNN
、但是接受四个参数的形式。ctex-kit/ctex/ctex.dtx
Lines 4444 to 4451 in e612c95
所需的改动像是显然的:改成
\cs_new:Npn \@@_char:NNNN
,4 个N
。但我好奇为什么这段代码一直没被执行。我完全不了解 ctex 里 pdftex 下处理多字节 codepoint 部分的代码。The text was updated successfully, but these errors were encountered: