From aec1c1b77ee51b9359530d61cc7b8df2a37c7685 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
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

