%% %% This is file `xfor.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% xfor.dtx (with options: `xfor.sty,package') %% %% xfor.dtx %% Copyright 2007 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license of (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. %% %% The Current Maintainer of this work is Nicola Talbot. %% %% This work consists of the files xfor.dtx and xfor.ins and the derived file xfor.sty. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{xfor}[2007/08/21 v1.03 (NLCT)] \newif\if@endfor \long\def\@for#1:=#2\do#3{% \@endforfalse \def\@forremainder{}% \expandafter\def\expandafter\@fortmp\expandafter{#2}% \ifx\@fortmp\@empty \else \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}% \fi } \long\def\@fornoop#1\@@#2#3{} \long\def\@forloop#1,#2,#3\@@#4#5{% \def#4{#1}% \ifx#4\@nnil \else \@xfor@storenext#2,#3\@@% #5% \if@endfor \@iforgatherrest#2,#3% \else \def#4{#2}% \ifx#4\@nnil \else \@xfor@storenext#3,\@nil\@@% #5% \if@endfor \@iforgatherrest#3% \else \@iforloop#3\@@#4{#5}% \fi \fi \fi \fi } \def\@xfor@storenext#1,#2\@@{% \def\@xfor@nextelement{#1}% } \long\def\@forgatherrest#1,\@nil,\@nil{\def\@forremainder{#1}} \long\def\@iforgatherrest#1\@nil,\@nil{% \def\@fortmp{#1}% \ifx\@fortmp\@empty \def\@forremainder{}% \else \@forgatherrest#1\@nil,\@nil \fi } \long\def\@iforloop#1,#2\@@#3#4{% \def#3{#1}% \ifx#3\@nnil \let\@ifornext\@fornoop \else \@xfor@storenext#2,\@nil\@@% #4\relax \if@endfor \@iforgatherrest#2\relax \let\@ifornext\@fornoop \else \let\@ifornext\@iforloop \fi \fi \@ifornext#2\@@#3{#4}% } \endinput %% %% End of file `xfor.sty'.