使用适用于所有引擎的 expl3 进行大小写转换和检测

使用适用于所有引擎的 expl3 进行大小写转换和检测

如 中所述interface3.pdf,诸如 之类的命令\str_case_e:nn与引擎相关。因此

\str_case_e:nnF {\text_titlecase:n {a}} { {A} {true} } {false}

true对于所有引擎来说,结果都是

\str_case_e:nnF {\text_titlecase:n {\`a}} { {\`A} {true} } {false}

适用false于所有发动机,并且

\str_case_e:nnF {\text_titlecase:n {à}} { {À} {true} } {false}

将适用false于pdflatex和trueunicode引擎。

在编写包时,我需要一种可靠的方法来更改和检测适用于所有引擎的文本大小写。输入可能是普通字母(Aa)、宏中带重音符号的字母(如\'a)或 unicode(如Àà)。如果没有统一的方法,我还想知道是否有针对不同引擎的单独方法。


动机:这个问题是为了包裹克雷夫特。目前\Crefthe由于此问题,该命令无法正常工作。

相关内容