diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/arabtex/apatch.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/arabtex/apatch.sty | 474 |
1 files changed, 442 insertions, 32 deletions
diff --git a/Master/texmf-dist/tex/latex/arabtex/apatch.sty b/Master/texmf-dist/tex/latex/arabtex/apatch.sty index 319bf4705f7..cf3eb20933e 100644 --- a/Master/texmf-dist/tex/latex/arabtex/apatch.sty +++ b/Master/texmf-dist/tex/latex/arabtex/apatch.sty @@ -1,9 +1,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % apatch.sty % last minute corrections -% see \datum and \level at the end of the file +% see \a@pdatum and \a@level at the end of the file % template: 22.08.2003 -\def \version {3.11} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % (c) Klaus Lagally % Institut fuer Informatik @@ -17,8 +16,10 @@ \chardef \patchatcode = \catcode`\@ \catcode`\@ = 11 \chardef \patchdqcode = \catcode`\" \catcode`\" = 12 -\ifx \version \theversion \else \edef \next {\errmessage -{This patch file only works with ArabTeX version \version }} +\def \a@version {3.11} % compare to arabtex::theversion + +\ifx \a@version \theversion \else \edef \next {\errmessage +{This patch file only works with ArabTeX version \a@version }} \next \def \a@patchlevel {-undefined-} \xpa \endinput \fi @@ -58,7 +59,7 @@ %\fi % no patches yet; otherwise: delete ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def \datum {22.08.2003} \def \level {-} +\def \a@pdatum {22.08.2003} \def \a@level {-} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % aligs.sty @@ -168,7 +169,7 @@ \fi % Hebrew %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def \datum {27.08.2003} \def \level {a} +\def \a@pdatum {27.08.2003} \def \a@level {a} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifx \a@hebr \undefined \else @@ -206,7 +207,7 @@ \fi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def \datum {08.09.2003} \def \level {b} +\def \a@pdatum {08.09.2003} \def \a@level {b} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifx \a@hebr \undefined \else %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -286,7 +287,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi %\setjudarab %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def \datum {17.09.2003} \def \level {c} +\def \a@pdatum {17.09.2003} \def \a@level {c} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % acmd.sty @@ -524,7 +525,7 @@ \advance \a@@prevgraf \@ne \prevgraf \a@@prevgraf } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def \datum {23.10.2003} \def \level {d} +\def \a@pdatum {23.10.2003} \def \a@level {d} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % arabtex.sty @@ -907,7 +908,7 @@ N"\n@xp\a@Za\or N"\n@xp\a@Za A\or N"\n@xp\a@Za w\or N"\n@xp\a@Za w"u\or \fi }% \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def \datum {16.11.2003} \def \level {d+UCS} +\def \a@pdatum {16.11.2003} \def \a@level {d+UCS} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % witbhs.sty @@ -973,7 +974,7 @@ N"\n@xp\a@Za\or N"\n@xp\a@Za A\or N"\n@xp\a@Za w\or N"\n@xp\a@Za w"u\or \fi }% \tracingmacros 0 } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def \datum {08.12.2003} \def \level {e} +\def \a@pdatum {08.12.2003} \def \a@level {e} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % aboxes.sty @@ -1062,7 +1063,7 @@ t\def \next {\tr@aword #1}\fi \next } \fi % Hebrew %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def \datum {12.02.2004} \def \level {f} +\def \a@pdatum {12.02.2004} \def \a@level {f} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % cp1256.sty @@ -1253,7 +1254,7 @@ arabwin\set@awin cp1256\set@awin } \fi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def \datum {26.02.2004} \def \level {g} +\def \a@pdatum {26.02.2004} \def \a@level {g} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ascan.sty @@ -1295,8 +1296,8 @@ arabwin\set@awin cp1256\set@awin } \let \sc@beg \utf@beg \let \sc@word \utf@word \global\a@digits = {0123456789}% -\global\a@first = {}% -\catcode ` 11 +\global\a@first = {ϕ}% +\catcode ` 11 \a@message {input encoding set to UTF-8 conventions}} \fi % utf8.sty @@ -1565,16 +1566,16 @@ arabwin\set@awin cp1256\set@awin } \fi % yiddish.sty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def \datum {15.03.2004} \def \level {h} +\def \a@pdatum {15.03.2004} \def \a@level {h} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % abidir.sty \ifx \a@patchlevel \undefined % first patching run -\newtoks \a@oldoutput -\newbox \a@oldbox -\newbox \a@newbox -\newdimen \a@prevdepth +\csname newtoks\endcsname \a@oldoutput +\csname newbox\endcsname \a@oldbox +\csname newbox\endcsname \a@newbox +\csname newdimen\endcsname \a@prevdepth \def \a@@Rinsert #1{% RL insertion inside Ltext %\tracingmacros 1 @@ -1651,7 +1652,7 @@ $${\endgraf }% \fi % first run %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def \datum {29.04.2004} \def \level {i1} +\def \a@pdatum {29.04.2004} \def \a@level {i2} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % buck.sty @@ -1817,7 +1818,7 @@ $${\endgraf }% \fi % a@hebr %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def \datum {17.05.2004} \def \level {j} +\def \a@pdatum {17.05.2004} \def \a@level {j} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % abidir.sty @@ -1867,7 +1868,7 @@ $${\endgraf }% \def \a@endx {\if@ignore \@ignorefalse \xpa\ignorespaces \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def \datum {24.05.2004} \def \level {k} +\def \a@pdatum {24.05.2004} \def \a@level {k} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % arabtex.sty @@ -1943,7 +1944,7 @@ $${\endgraf }% \test@token } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def \datum {22.06.2004} \def \level {l} +\def \a@pdatum {22.06.2004} \def \a@level {l} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % alists.sty @@ -1965,23 +1966,432 @@ $${\endgraf }% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def \a@pdatum {23.01.2005} \def \a@level {m} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% arabext.sty + +\ifx \a@@figure \undefined \else + +\def \a@@figure {% figure within Arabic environment +\let \a@endfigure \endfigure \def \endfigure {\a@par \a@endfigure }% +\a@par \figure } + +\def \a@@table {% table within Arabic environment +\let \a@endtable \endtable \def \endtable {\a@par \a@endtable }% +\a@par \table } + +\fi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def \a@pdatum {06.04.2005} \def \a@level {n} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% abidir.sty + +% for use with abidir.sty version 3.12a: +\csname newcount\endcsname \a@lines +\csname newdimen\endcsname \a@Lwidth + +%\newdimen \a@prevdepth +%\newdimen \a@displaywidth +%\newcount \a@prevgraf +%\newtoks \a@oldoutput + +\def \RLskip {\hskip \z@ plus 0.1em }% after RL insertion (right) +\def \LRskip {\hskip 1em plus 0.1em }% before RL insertion (left) + +\def \a@@Rsplit #1{% splice RL words into the current paragraph +\bgroup \global\a@oldoutput = \output +\dimen0 \vsize \advance \dimen0 100pt \pagegoal \dimen0 +$$\global\a@prevgraf \prevgraf \global\a@displaywidth \displaywidth +$${\endgraf }% +\ifinner \a@back@line \else +\global\output = {\a@newoutput }\eject +\fi \global\prevdepth \a@prevdepth +\ifvoid \a@oldbox \else \advance \a@prevgraf -1 +\setbox\a@oldbox \hbox {\hskip -\leftskip \unhbox\a@oldbox + \unskip \unskip \unpenalty \unpenalty }% +\fi +\setbox\Rinsertb@x \vbox {\a@box@rparm \a@box@aparm + \putlineb@x {\hbox {\unhcopy\a@oldbox }}\a@spacefalse + \test@token #1 \end \hbox {\box\lineb@x \hfill }}% +\a@Rgetline +\setbox\tempb@x \hbox {\unhbox \tempb@x \unskip \unpenalty + \global\setbox \a@newbox \lastbox }% +\noindent \prevgraf \a@prevgraf \unhcopy \a@newbox +\ifdim \wd\a@newbox = 0pt \else +\ifdim \wd\a@newbox = \parindent \else +\ifdim \wd\tempb@x = 0pt \else + \space \LRskip +\fi\fi\fi \unhbox \tempb@x +\ifvbox \Rinsertb@x \break \a@Runpack +\else \RLskip +\fi +\egroup } + +\gdef \a@back@line {% skip back over empty display +\dimen0 \baselineskip \unskip \unpenalty \setbox0 \lastbox +\dimen2 \lastskip \unskip \unskip \unpenalty +\global\setbox \a@oldbox \lastbox % last line +\ifvoid \a@oldbox \else \dimen2 \lastskip \unskip +\advance\dimen0 -\ht\a@oldbox \fi +\advance\dimen0 -\dimen2 % compute \prevdepth +\global\a@prevdepth \dimen0 \unskip }% + +\gdef \a@newoutput {% intermediate output routine +\global\output = \a@oldoutput +%\ifnum \tracingmacros = 0 \else \showbox 255 \fi +\setbox 255 \vbox {\unvbox 255 % put back into MVL +\a@back@line }\unvbox 255 } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% atrans.sty +% because of an incompatible change in Plain 3.1415926 + +\gdef \x@s #1{\oalign{#1\crcr\hidewidth \nsh@ft{34}% accent for _h + \vbox to -.2ex {\hbox{\char'25}\vss}\hidewidth}} + +\gdef \x@x #1{\oalign{#1\crcr\hidewidth \nsh@ft{29}% accent for .s in Urdu + \vbox to.2ex{\hbox{\char'177}\vss}\hidewidth}} + +\def \ish@ft #1{\dimen\z@.00#1ex\multiply\dimen\z@\fontdimen1\font + \kern.0156\dimen\z@} % positive kern for slant + +\def \rsh@ft #1#2{\ish@ft{#1}#2\nsh@ft{#1}} + +\def \nsh@ft#1{\dimen\z@.00#1ex\multiply\dimen\z@\fontdimen1\font + \kern-.0156\dimen\z@} % compensate for slant in lowered accents + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def \a@pdatum {25.01.2006} \def \a@level {o} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% version 3.11i::abidir.sty + +%\csname newbox\endcsname for \newbox etc. (inner!) + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% aligs.sty + +\def \hah@end #1#2*#3#4+#5*#6{% hah, test for ligature +% c1 m1 * c2 m21 + m22 * c3 +\ifu@gh \ifx #1\a@H + \else \set@act \sk@h@u + \fi +\else +\ifm@lay \else +\ifurd@ \set@act \sk@h@s \hah@urd #3% round h? + \ifx #1T\else + \ifx #3l\test@allah {#4}{#6}\else + \ifx #1\a@H + \else \set@act\sk@h@u + \if\is@end@char #3% + \else \set@loww@act \global\a@min 1 + \fi + \fi\fi\fi +\else +\ifx #3l\test@allah {#4}{#6}\else +\ifnum \chr@cls = 1 \set@chr\sk@b \put@tatwil % 1 YntCbyp +\else +\ifnum \chr@cls = 3 \put@tatwil % 3 GHX +\else \gim@test #6\put@tatwil +\fi +\fi\fi\fi\fi\fi } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def \a@pdatum {08.02.2006} \def \a@level {p} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% abidir.sty + +\csname newdimen\endcsname \a@displaywidth + +\def \LRskip {\hskip \z@ plus 0.1em }% before RL insertion (left) + +\def \a@@Rsplit #1{% splice RL words into the current paragraph +\bgroup \global\a@oldoutput = \output +\dimen0 \vsize \advance \dimen0 100pt \pagegoal \dimen0 +$$\global\a@prevgraf \prevgraf \global\a@displaywidth \displaywidth +$${\par }% +\ifinner \a@back@line \else +\global\output = {\a@newoutput }\eject +\fi \global\prevdepth \a@prevdepth +\ifvoid \a@oldbox \else \advance \a@prevgraf -1 +\setbox\a@oldbox \hbox {\hskip -\leftskip \unhbox\a@oldbox + \unskip \unskip \unpenalty \unpenalty }% +\fi +\setbox\Rinsertb@x \vbox {\a@box@rparm \a@box@aparm + \putlineb@x {\hbox {\unhcopy\a@oldbox }}\a@spacefalse + \test@token #1 \end \hbox {\box\lineb@x \hfill }}% +\a@Rgetline +\setbox\tempb@x \hbox {\unhbox \tempb@x \unskip \unpenalty + \global\setbox \a@newbox \lastbox }% +\noindent \prevgraf \a@prevgraf \unhcopy \a@newbox +\ifdim \wd\a@newbox = 0pt \else +\ifdim \wd\a@newbox = \parindent \else +\ifdim \wd\tempb@x = 0pt \else + \space \LRskip +\fi\fi\fi \unhbox \tempb@x +\ifvbox \Rinsertb@x \break \a@Runpack +\else \RLskip +\fi +\egroup } + +\def \a@box@aparm {% Arabic parameters for vbox +\let \end \relax \def \next@command {\test@special}\transfalse +\def \a@kern {\nobreak\kern.05em } \def \a@mkern {\nobreak\kern-.05em } +\showfalse \spreadtrue \a@hsize \a@displaywidth +\advance \a@hsize -\leftskip \advance \a@hsize -\rightskip +\leftskip \z@ \rightskip \z@ +%\advance \a@hsize 20pt % TENTATIVE +\def \arab@space {\nobreak\hskip 5pt plus 4pt minus 1pt }% +\def \tat@skip {0.04ex plus 0.5ex }} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% aoutput.sty + +\def \put@ab@x {% deposit line +\ifhmode \unskip {\par }\penalty \clubpenalty +\parindent \z@ \parskip \z@ \else +\ifnum \a@prevgraf = \z@ \else \penalty \widowpenalty +\fi\fi +\begingroup \parfillskip 0pt plus 1fill + \leftskip \z@ \rightskip \z@ \noindent + \ifdim \a@leftmargin = \z@ \else \hskip \a@leftmargin \fi + \box\a@tempb@x \par +\endgroup \parindent \z@ \parskip \z@ plus 1pt \initlineb@x +\advance \a@prevgraf \@ne \a@@prevgraf \prevgraf +\advance \a@@prevgraf \@ne \prevgraf \a@@prevgraf } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% altxext.sty + +\ifx \a@olddisp \undefined +\let \a@olddisp \[ % for lineno.sty +\ifx \linenumbers \undefined \else + \def \[{\par\nobreak\noindent \a@olddisp} + \all@w@ne \linelabel +\fi +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% for acmd.sty in version 3.11 only! + +\def \a@c@smallskip {\a@@par \smallskip \test@token } +\def \a@c@medskip {\a@@par \medskip \test@token } +\def \a@c@bigskip {\a@@par \bigskip \test@token } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % aparse.sty -\def \test@B #1#2{% tatweel or ligature break -#2#1}% deposit vowel carrier +{\catcode `\< = \@other % better make sure +\gdef \a@parse #1>{% parse token sequence into syllables +\iftest@parse \tracingmacros = 1 +\iftest@scan \else \a@verb (#1)>\fi\fi +\csname a@parse@hook\endcsname +\last@con ={.}\last@mod = 0 \last@voc = 0 \global\@highfalse +\global \sv@revwd ={}\global \a@revwd ={}\syl@beg #1<<<>% +\iftest@parse \tracingmacros = 0 % +\xpa \a@verb \xpa (\the\a@revwd )>\fi } +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def \a@pdatum {01.03.2006} \def \a@level {q} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% alatex.sty +\ifx \linenumbers \undefined +\global\let \linenumbers \relax \fi +\global\let \ifLineNumbers \iffalse +% CAUTION: must be in \outer context! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def \datum {24.01.2005} \def \level {m} +% abidir.sty + +\gdef \a@Rinsert #1{% put a sequence of RL words into Ltext +\leavevmode % go to hmode if not there already +\ifinner \a@sequence {#1}% inside a \hbox: append +\else \a@@Rsplit {#1}% splice into the current paragraph +\fi } + +\gdef \a@@Rinsert #1{% RL insertion inside Ltext +%\tracingmacros 1 +\ifshow \a@@verb {#1}\fi % verbating listing +\ifarab \a@Rinsert {#1}\fi % arabic writing +\iftrans \set@transfont \trans@text #1 \end \/\fi +\ifnum \tracingarab > \@ne \message {>}\fi +\unskip \egroup } + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifx \a@patchlevel \undefined % first patching run -\a@ident {apatch.sty} {\version\level\space last minute patches } {\datum } - \edef \a@patchlevel {\version \level \space (\datum )} -\else \a@message {version \a@patchlevel: second phase of patching} +\gdef \a@back@line {% skip back over last line +\ifLineNumbers % undo last linenumber + \unskip \unkern \unskip \unpenalty \setbox0 \lastbox + \ifvoid0 \else \global \advance \c@linenumber -1 + \fi \unkern \unskip +\fi \global\setbox \a@oldbox \lastbox % grab last text line +\ifvoid \a@oldbox \prevdepth 0pt % start of paragraph +\else \dimen0 \baselineskip \advance\dimen0 -\ht\a@oldbox + \advance\dimen0 -\lastskip \prevdepth \dimen0 % compute \prevdepth +\fi \unskip } + +\gdef \a@@Rsplit #1{% splice RL words into the current paragraph +\bgroup \global\a@oldoutput = \output +\dimen0 \vsize \advance \dimen0 100pt \pagegoal \dimen0 +\everypar {}% +\par \global\a@prevgraf \prevgraf +\ifinner \a@back@line \else + \global\output = {\a@newoutput }\break +\fi +\dimen0 \pagegoal \advance \dimen0 -100pt \pagegoal \dimen0 +\ifvoid \a@oldbox \global \a@displaywidth \hsize +\else \advance \a@prevgraf -1 \vskip -\parskip + \global \a@displaywidth \wd \a@oldbox + \setbox\a@oldbox \hbox {\hskip -\leftskip \unhbox\a@oldbox + \unskip \unskip \unpenalty \unpenalty }% +\fi +\setbox\Rinsertb@x \vbox {\a@box@rparm \a@box@aparm \let \par \endgraf + \putlineb@x {\hbox {\unhcopy\a@oldbox }}\a@spacefalse + \test@token #1 \end \hbox {\box\lineb@x \hfill }}% +\a@Rgetline +\setbox\tempb@x \hbox {\unhbox \tempb@x \unskip \unpenalty + \global\setbox \a@newbox \lastbox }% +\noindent \prevgraf \a@prevgraf \unhcopy \a@newbox +\ifdim \wd\a@newbox = 0pt \else +\ifdim \wd\a@newbox = \parindent \else +\ifdim \wd\tempb@x = 0pt \else \space \LRskip +\fi\fi\fi +\unhbox \tempb@x +\ifvbox \Rinsertb@x \break \a@Runpack \else \RLskip +\fi \egroup } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\gdef \a@newoutput {% intermediate output routine +\global\output = \a@oldoutput +%\ifnum \tracingmacros = 0 \else \showbox 255 \fi +%\showbox255 +\setbox 255 \vbox {\unvbox 255 % put back into MVL +%\tracingmacros 1 +\a@back@line }\unvbox 255 } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\gdef \a@Linsert #1{% splice Ltext into RL paragraph +%\tracingmacros 1 +\putwordb@x {\RLskip }\a@spacefalse \a@@Linsert {#1}\a@Lunpack +\putwordb@x {\LRskip }\a@spacetrue \arab@codes +%\tracingmacros 0 +\test@token } + +\gdef \a@@Linsert #1{% splice Ltext into RL paragraph +\dimen0 \wd \lineb@x \setbox \Linsertb@x \vbox +{\hsize \a@hsize \hangindent -\dimen0 \hangafter -\@ne +\tr@ceoff \rm \tr@ceon \rightskip \z@ plus .001fil +\vskip \a@vglue \everypar {}\parskip \z@ +\dimen2 \fontdimen4\font \fontdimen4\font 0pt % prevent shrinking +\noindent \null #1\clubpenalty 0 \widowpenalty 0 \tolerance 10000 +\endgraf \fontdimen4\font \dimen2 }} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% arabaux.sty + +\ifx \a@check@mathfonts \undefined +\global\let \a@check@mathfonts \check@mathfonts +\gdef\check@mathfonts{\tr@ceoff % dont trace fonts +\a@check@mathfonts \tr@ceon } \fi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% aedpatch.sty + +\let \ins@skip \relax + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% arabtex.sty + +%\long\def \test@@special #1{% check for special cases +\long\gdef \test@special #1{% check for special cases +\ifcat \bgroup \nxp \next@token % arabic group + \a@@putword \def \next {\arab@group {#1}}\else +\if \relax \nxp #1% % command + \if\is@in@set #1\a@accent % known to scanner + \a@@append {#1}\def \next {\get@token }% + \else % general command + \a@@putword \def \next {\test@command #1}% + \fi \else +\if \sp@ce \nxp \next@token % RTL space + \a@@putword \def \next {\get@token }\else +\ifnum `#1 > 127 % inputenc command + \a@@append {#1}\def \next {\get@token}\else +\ifcat \nxp ~\nxp #1% % active character + \a@@putword \def \next {\test@command #1}\else +\if \nxp <\nxp #1\unarab@codes % Roman insert + \a@@putword \let \next \test@insert \else +\ifx $#1\unarab@codes % Math insert + \a@@putword \let \next \test@math +\else \a@@append {#1}\def \next {\get@token}% % normal case +\fi\fi\fi\fi\fi\fi\fi \next } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def \a@pdatum {16.04.2006} \def \a@level {r} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% abidir.sty + +\gdef \a@@Rinsert #1{% RL insertion inside Ltext +%\tracingmacros 1 +\ifshow \a@@verb {#1}\fi % verbating listing +\ifarab \a@Rinsert {#1}\fi % arabic writing +\iftrans \set@transfont \trans@text #1 \end \/\fi +\ifnum \tracingarab > \@ne \message {>}\fi +\RLskip \egroup } + +\gdef \a@@Rsplit #1{% splice RL words into the current paragraph +\bgroup \global\a@oldoutput = \output + \dimen0 \vsize \advance \dimen0 100pt \pagegoal \dimen0 + \skip0 \lastskip \everypar {}\par \global\a@prevgraf \prevgraf +\ifinner \a@back@line \else \global\output = {\a@newoutput }\break +\fi + \dimen0 \pagegoal \advance \dimen0 -100pt \pagegoal \dimen0 + \global\prevdepth \a@prevdepth +\ifvoid \a@oldbox \global \a@displaywidth \hsize +\else \advance \a@prevgraf -1 \vskip -\parskip + \global \a@displaywidth \wd \a@oldbox + \setbox\a@oldbox \hbox {\hskip -\leftskip \unhbox\a@oldbox + \unskip \unskip \unpenalty \unpenalty }% +\fi +\setbox\Rinsertb@x \vbox {\a@box@rparm \a@box@aparm \let \par \endgraf + \putlineb@x {\hbox {\unhcopy\a@oldbox }}\a@spacefalse + \test@token #1 \end \hbox {\box\lineb@x \hfill }}% +\a@Rgetline +\setbox\tempb@x \hbox {\unhbox \tempb@x \unskip \unpenalty + \global\setbox \a@newbox \lastbox }% +\noindent \prevgraf \a@prevgraf \unhcopy \a@newbox +\ifdim \wd\a@newbox = 0pt \else +\ifdim \wd\a@newbox = \parindent \else +\ifdim \wd\tempb@x = 0pt \else + \ifdim \skip0 = 0pt \else \hskip \skip0 + \fi \LRskip +\fi\fi\fi +\unhbox \tempb@x +\ifvbox \Rinsertb@x \break \a@Runpack +\fi \egroup } + +\def \a@Runpack {% unpack all lines from the insertion +\loop \a@Rgetline \unhbox \tempb@x \unskip \unskip \break +\ifvbox \Rinsertb@x \repeat \unpenalty } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def \a@pdatum {02.07.2006} \def \a@level {s} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\input alocal.sty % local patches! +% must be idempotent! + +\ifx \a@patchlevel \undefined % first patching run +\a@ident {apatch.sty} + {\a@version\a@level\space last minute patches } {\a@pdatum } + \edef \a@patchlevel {\a@version \a@level \space (\a@pdatum )} +\else \a@message {version \a@patchlevel: second phase of patching} +\fi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \catcode`\" = \patchdqcode \catcode`\@ = \patchatcode \endinput -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |