。
将表意字符句号 ( ) 替换为全宽句号 ( )的常用方法.
是更改 catcode:
\catcode`\。 = \active
\let。=.
但是,当使用带有 pdfLaTeX 的包时,此方法会失效,CJK
因为此包已经制作。
成宏了。那么如何使用来实现这种效果呢CJK
?
PS:我使用UTF8编码。
答案1
我发现了一个类似问题但对于 GBK 编码(中文)。解决方案如下:
% For GBK
% Put it after \begin{document}
\let\oldaone^^a1
\def^^a1#1{\ifnum`#1=`^^a3\relax ^^a3^^ae\else \oldaone #1\fi}
我已将其修改为UTF8:
% For UTF8
% Put it after \begin{document}
\makeatletter
\let\old@e@iii=^^e3
\def^^e3^^80#1{%
\ifnum`#1=`^^82\relax
^^ef^^bc^^8e%
\else
\old@e@iii ^^80#1%
\fi}
\makeatother
诸如此类的事情^^xx
其实就是字符在某些编码下的表示方式:在UTF8中^^e3^^80^^82
是“。”,^^ef^^bc^^8e
在UTF8中是“.”。