% This is the file CJKspace.sty of the CJK package % for suppressing spaces between CJK characters only. % % created by Wenchang Sun % Werner Lemberg % % Version 4.8.5 (16-Oct-2021) % % This program is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation; either version 2 of the License, or % (at your option) any later version. % % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % % You should have received a copy of the GNU General Public License % along with this program in doc/COPYING; if not, write to the Free % Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, % MA 02110-1301 USA \NeedsTeXFormat{LaTeX2e}[2001/06/01] \def\fileversion{3.8.0} \def\filedate{2021/10/16} \ProvidesPackage{CJKspace}[\filedate\space\fileversion] \endlinechar \m@ne % redefine `\CJK@ignorespaces'. \def\CJK@@ignorespaces{ \expandafter\CJK@@@ignorespaces} \renewenvironment{CJK*}[3][]{ \let\CJK@ignorespaces\CJK@@ignorespaces \CJK@envStart{#1}{#2}{#3}} {\CJK@envEnd} \def\CJK@@@ignorespaces{ \futurelet\CJK@next@token \CJK@check@next} \def\CJK@check@next{ \ifx\CJK@next@token\@sptoken \expandafter\CJK@@check@next \fi} { \catcode`\-=11 \global\let\-empty\@empty % define \CJK@@check@next to gobble subsequent space tokens. \def\:{\CJK@@check@next} \global\expandafter\def\: { \futurelet\cjk-let-token \cjk---check-next} % since characters in the output of \meaning\something have % catcode 12, we have to change the catcodes of `\', `C', % `J', `K', and `@'. \catcode`\/=0 \catcode`\C=12 \catcode`\J=12 \catcode`\K=12 \catcode`\@=12 \catcode`\\=12 /gdef/cjk---check-next{ /expandafter/cjk-get-keystring /meaning/cjk-let-token\CJK@@@/cjk-space-stop /cjk-temp} % we check whether we can find the signature `\CJK@@@' at the % beginning of following macro -- only the CJK package % inserts this. /long/gdef/cjk-get-keystring#1\CJK@@@#2/cjk-space-stop{ /edef/cjk-temp{#2} /ifx/cjk-temp/-empty /def/cjk-temp{ } /else /def/cjk-temp{} /fi} } \endlinechar `\^^M \endinput