![变音符号和““的 Charclass/Interchartokes](https://linux22.com/image/236918/%E5%8F%98%E9%9F%B3%E7%AC%A6%E5%8F%B7%E5%92%8C%E2%80%9C%E2%80%9C%E7%9A%84%20Charclass%2FInterchartokes.png)
如何为变音符号、德文引号„“
(以及其他非 A–Z/a–z 的特殊字符)定义字符类?
在某些情况下,我想使用它来进行额外的字距调整。
\documentclass{minimal}
\XeTeXinterchartokenstate=1
% char class for W
\newXeTeXintercharclass \mycharclassW
\XeTeXcharclass `\W \mycharclassW
% char class for german ä (a umlaut)
\newXeTeXintercharclass \mycharclassae
\XeTeXcharclass `a \mycharclassae
% char class for german opening quote „
\newXeTeXintercharclass \mycharclassOQ
% charclass for german closing quote “
\newXeTeXintercharclass \mycharclassCQ
% def interchartokes
\XeTeXinterchartoks \mycharclassW \mycharclassae = {\kern0.5pt}
\begin{document}
Wa\quad Wä\quad „W“
\end{document}
如何向新类中添加多个字符,例如,使 C,O,U 和 Q 在一个类中可用(\mycharclassCOQU
)?
答案1
以同样的方式:
\XeTeXcharclass `ä \mycharclassae
您自然应该加载 fontspec 以便打印字符。并且文件应为 utf8。
答案2
\newXeTeXintercharclass \mycharclassCOQU
\XeTeXcharclass `\C \mycharclassCOQU
\XeTeXcharclass `\O \mycharclassCOQU
\XeTeXcharclass `\Q \mycharclassCOQU
\XeTeXcharclass `\U \mycharclassCOQU
您可以将任意数量的角色分配给任何类别;但是,一个角色只能属于一个类别(最后一个指定的类别优先)。