diff options
Diffstat (limited to 'Master/texmf-dist/tex/xetex/zhspacing/zhsmyclass.sty')
-rw-r--r-- | Master/texmf-dist/tex/xetex/zhspacing/zhsmyclass.sty | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/Master/texmf-dist/tex/xetex/zhspacing/zhsmyclass.sty b/Master/texmf-dist/tex/xetex/zhspacing/zhsmyclass.sty deleted file mode 100644 index 4633ee10596..00000000000 --- a/Master/texmf-dist/tex/xetex/zhspacing/zhsmyclass.sty +++ /dev/null @@ -1,151 +0,0 @@ -% zhsmyclass.sty coded by YIN Dian -% Implement easy inter-class token definition with inheritance -% Hist: 070807 First usable version coded. \newclass, \{set,get,prepend,append}interclasstoks -% The tricky part is prepending stuffs to a token register, see TeX by Topics. -% 070808 Added \setclassnum and \registerXeTeXclasstoks -% 070809 Removed unnecessary \global's. -% 070810 Only register non-empty tokens. -% 071019 Added \getclassnum -% 071210 Changed \@foreach to \@for. -\catcode`\@=11 -\ifx\@myclass@defined\@undefined\else - \expandafter\endinput -\fi -\def\@myclass@defined{\relax} -\input zhsusefulmacros.sty -\catcode`\@=11 -\def\@class@list{} -\def\newclass{\@ifnextchar[{\@newclass@param}{\@newclass}} -\def\@newclass@param[#1]#2{% - \if!#1! - \errmessage{Base class name shouldn't be empty.}% - \fi - \if!#2! - \errmessage{Class name shouldn't be empty.}% - \fi - \@ifundefined{@@classname@#1}{% - \errmessage{Base class not defined yet.}% - }{}% - \@ifundefined{@@classname@#2}{% if - \@namedef{@@classname@#2}{\relax}% - \@namedef{@@baseclass@#2}{#1}% - \@for\@@class:=\@class@list\do{% for - \if!\@@class! - \else - \@newinterclasstoks{#2}{\@@class}% - \@newinterclasstoks{\@@class}{#2}% - %\setinterclasstoks{#2}{\@@class}{\getinterclasstoks{#1}{\@@class}}% - %\setinterclasstoks{\@@class}{#2}{\getinterclasstoks{\@@class}{#1}}% - \copyinterclasstoks{#2}{\@@class}{#1}{\@@class}% - \copyinterclasstoks{\@@class}{#2}{\@@class}{#1}% - \fi - }% end for - \@newinterclasstoks{#2}{#2}% - \edef\@class@list{\@class@list,#2}% - }{% else - \errmessage{Class already defined.}% - }% end if -} -\def\@newclass#1{% - \if!#1! - \errmessage{Class name shouldn't be empty.}% - \fi - \@ifundefined{@@classname@#1}{% if - \@namedef{@@classname@#1}{\relax}% - \@for\@@class:=\@class@list\do{% for - \if!\@@class! - \else - \@newinterclasstoks{#1}{\@@class}% - \@newinterclasstoks{\@@class}{#1}% - \fi - }% end for - \@newinterclasstoks{#1}{#1}% - \edef\@class@list{\@class@list,#1}% - }{% else - \errmessage{Class already defined.}% - }% end if -} -\def\getbaseclass#1#2{% - \@ifundefined{@@baseclass@#1}{\def#2{}}{\edef#2{\csname @@baseclass@#1\endcsname}}% -} -\def\@newinterclasstoks#1#2{% - \csname newtoks\expandafter\endcsname\csname @@interclasstoks@#1@#2\endcsname - \csname @@interclasstoks@#1@#2\endcsname={}%\meaning #1, \meaning #2}% - %%\expandafter\gdef\csname @@interclasstoks@#1@#2\endcsname{}% -} -\def\setinterclasstoks#1#2#3{% - \csname @@interclasstoks@#1@#2\endcsname={#3}% - %%\expandafter\edef\csname @@interclasstoks@#1@#2\endcsname{#3}% -} -\def\getinterclasstoks#1#2{% - \expandafter\the\csname @@interclasstoks@#1@#2\endcsname - %%\csname @@interclasstoks@#1@#2\endcsname -} -\def\copyinterclasstoks#1#2#3#4{% (#1, #2) <- (#3, #4) - \expandafter\csname @@interclasstoks@#1@#2\endcsname\expandafter{\expandafter\the\csname @@interclasstoks@#3@#4\endcsname}% -} -\def\prependinterclasstoks#1#2#3{% - \toks0={#3}% - \edef\@@prepend@act{\csname @@interclasstoks@#1@#2\endcsname={\the\toks0 - \expandafter\the\csname @@interclasstoks@#1@#2\endcsname}}% - \@@prepend@act - %%\expandafter\edef\csname @@interclasstoks@#1@#2\endcsname{#3\csname @@interclasstoks@#1@#2\endcsname}% -} -\def\appendinterclasstoks#1#2#3{% - \expandafter\csname @@interclasstoks@#1@#2\endcsname\expandafter{\the\csname @@interclasstoks@#1@#2\endcsname #3}% - %%\global\expandafter\edef\csname @@interclasstoks@#1@#2\endcsname{\csname @@interclasstoks@#1@#2\endcsname #3}% -} -\def\showallinterclasstoks{% - \par - \begingroup - \@for\class:=\@class@list\do{% - \if!\class! - \else - \@for\anotherclass:=\@class@list\do{% - \if!\anotherclass! - \else - [\class, \anotherclass]: %\csname @@interclasstoks@\class @\anotherclass\endcsname - \expandafter\the\csname @@interclasstoks@\class @\anotherclass\endcsname - \hfil\break - \fi - }% - \fi - }% - \endgroup -} -\newlinechar`\^^J -\def\setclassnum#1#2{% - \expandafter\chardef\csname @@classnum@#1\endcsname=#2\relax -} -\def\getclassnum#1{% - \csname @@classnum@#1\endcsname -} -\def\mydbgmessag@#1{} -\def\registerXeTeXclasstoks{% - \@for\class:=\@class@list\do{% - \@ifundefined{@@classnum@\class}{}{% - \@for\anotherclass:=\@class@list\do{% - \@ifundefined{@@classnum@\anotherclass}{}{% - \edef\@@temp@macro{\the\csname @@interclasstoks@\class @\anotherclass\endcsname}% - \ifx\@@temp@macro\empty - \else - \edef\@@temp@macro{\@@temp@macro}% - \ifx\@@temp@macro\empty - \else - \edef\@@register@act{\noexpand\XeTeXinterchartoks\csname @@classnum@\class\endcsname - \csname @@classnum@\anotherclass\endcsname\noexpand{\expandafter\the\csname - @@interclasstoks@\class @\anotherclass\endcsname\noexpand}}% - \@@register@act - \edef\@@register@act{\noexpand\mydbgmessag@\noexpand{Registered (\expandafter\number - \csname @@classnum@\class\endcsname, \expandafter\number - \csname @@classnum@\anotherclass\endcsname)\noexpand}}% - \@@register@act - \mydbgmessag@{Registered (\class, \anotherclass) token: \expandafter\the\csname - @@interclasstoks@\class @\anotherclass\endcsname ^^J}% - \fi - \fi - }% - }% - }% - }% -} |