diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/cjk/CJKspace.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/cjk/CJKspace.sty | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/cjk/CJKspace.sty b/Master/texmf-dist/tex/latex/cjk/CJKspace.sty new file mode 100644 index 00000000000..b6b83f5ff4c --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CJKspace.sty @@ -0,0 +1,98 @@ +% This is the file CJKspace.sty of the CJK package +% for suppressing spaces between CJK characters only. +% +% created by Wenchang Sun <sunwch@hotmail.com> +% Werner Lemberg <wl@gnu.org> +% +% Version 4.8.1 (10-Aug-2008) +% +% 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{2008/08/10} +\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 |