From aec1c1b77ee51b9359530d61cc7b8df2a37c7685 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Jan 2006 23:51:33 +0000 Subject: arabtex git-svn-id: svn://tug.org/texlive/trunk@673 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/arabtex/arabaux.sty | 134 ++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/arabtex/arabaux.sty (limited to 'Master/texmf-dist/tex/latex/arabtex/arabaux.sty') diff --git a/Master/texmf-dist/tex/latex/arabtex/arabaux.sty b/Master/texmf-dist/tex/latex/arabtex/arabaux.sty new file mode 100644 index 00000000000..490c00af79c --- /dev/null +++ b/Master/texmf-dist/tex/latex/arabtex/arabaux.sty @@ -0,0 +1,134 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% arabaux.sty +% auxiliary macros for ArabTeX +% 27.04.2003 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% (c) Klaus Lagally +% Institut fuer Formale Methoden der Informatik +% Universitaet Stuttgart +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\a@ident {arabaux.sty} {3.11 auxiliary macros for ArabTeX} {21.05.2003} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def \a@message #1{% ArabTeX message +\message{(ArabTeX) #1}} + +\def \isfalse {\xxpa \iffalse \fi } % invert condition before \fi +\def \setiffalse {\xpa \iffalse \fi } % invert condition before \fi + +\def \NOT #1{00\if #1\xpa \setiffalse \fi } + +\def \AND #1#2{00\if #1\if #2\else \xxpa \setiffalse \fi +\else \xpa \setiffalse \fi } + +\def \OR #1#2{00\if #1\else \if #2\else \xpa \setiffalse \fi \fi } + +\def \isx #1#2{00\ifx #1#2\else\xpa \setiffalse \fi } + +\def \iscat #1#2{00\ifcat #1#2\else\xpa \setiffalse \fi } + +\def \is #1#2{00\if #1#2\else\xpa \setiffalse \fi } + +\long\def \Return #1\fi {\fi #1} +\long\def \ReturnFi #1\fi {\fi #1} +\long\def \ReturnElseFi #1\else #2\fi {\fi #1} + +\long\def \cond #1#2#3\fi {% call conditional +#1\ReturnElseFi {#2}\else \ReturnFi {#3}\fi } + +%%%%%%%%%%%%%%%%%%%% + +\def \@gobble #1{} + +\let \protect \relax + +\ifx \@\undefined \def \@{@}\fi + +\ifx \nil \undefined \def \nil {NIL}\fi + +\def \pdef #1{% define robust command +\edef #1{\nxp\protect \xpa\nxp\csname \xpa\@gobble\string #1 \endcsname }% +\xpa\def \csname \xpa\@gobble\string #1 \endcsname } + +\def \a@extend #1#2{% extend command definition, no pars! +\xpa\gdef \xpa#1\xpa{#1#2}} + +%%%%%%%%%%%%%%%%%%%% + +% map token to action +% allow list of labels +\def \case #1\of #{% + \begingroup \tracingmacros 0 + \def \l@@kup ##1#1##2##{\h@@d }% + \getc@se #1\of } + +\def \getc@se #1\of #2#3\endcase {% + \doc@se #1#2\default {}\@end } + +\def \doc@se #1#2\default #3#4\@end {% + \l@@kup #2#1{#3}\@end } + +\def \h@@d #1#2\@end {\endgroup #1} + +% evaluate map: sets \result +\def \evalcase #1\of #{% + \begingroup \tracingmacros 0 + \def \l@@kup ##1#1##2##{\r@sult }% + \getc@se #1\of } + +\def \r@sult #1#2\@end {\endgroup \def \result {#1}} + +% apply function to map: +\def \apply #1\tocase #2\of #{% + \begingroup \tracingmacros 0 + \def \l@@kup ##1#2##2##{\@pply {#1}}% + \getc@se #2\of } + +\def \@pply #1#2#3\@end {\endgroup #1{#2}} + +%%%%%%%%%%%%%%%%%%%%%%%% tracing control %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def \tr@ceoff {% suspend temporarily, local, no nesting! +\edef \tr@ceon {\nxp\tracingmacros \the\tracingmacros }\tracingmacros 0 } + +\def \notr@ce {% suspend temporarily, for NFSS only, no nesting! +\edef \dotr@ce {\nxp\tracingmacros \the\tracingmacros }\tracingmacros 0 } + +\let \tr@ceon \relax \let \dotr@ce \relax + +\let \a@setfontsize \@setfontsize + +\def \@setfontsize #1#2#3{% do not trace NFSS routine +\notr@ce \a@setfontsize {#1}{#2}{#3}\dotr@ce } + +%%%%%%%%%%%%%%%%%%%%%%%% list utilities %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\long\def \is@in@list #1#2>{00% #1 token, #2 list + \begingroup \tracingmacros 0 + \def \l@@kup ##1#1##2\@ {\endgroup \ifx >##2\isfalse \fi }% + \l@@kup #2#1>\@ } + +\long\def \ismember #1#2{00% #1 token, #2 list + \begingroup \tracingmacros 0 + \def \l@@kup ##1#1##2\@@ {\endgroup \ifx \nil ##2\xpa \setiffalse \fi }% + \l@@kup #2#1\nil \@@ } + +\long\def \is@in@set #1#2{% #1 = symbol, #2 = token list of symbols +\xpa \ismember \xpa #1\xpa {\the #2}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newcount \hours \newcount \mins + +\def \timeofday +{\hours \time \divide \hours 60 \the\hours:% +\mins \time \multiply \hours 60 \advance \mins -\hours +\ifnum 10 > \mins \relax 0\fi \the\mins } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\endinput +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% EOF %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + -- cgit v1.2.3