diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/pgfplots/liststructure.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/pgfplots/liststructure.sty | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/Master/texmf-dist/tex/latex/pgfplots/liststructure.sty b/Master/texmf-dist/tex/latex/pgfplots/liststructure.sty deleted file mode 100644 index c5930374f7d..00000000000 --- a/Master/texmf-dist/tex/latex/pgfplots/liststructure.sty +++ /dev/null @@ -1,196 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% This is a helper package with an elementary list datastructure. -% -% Its implementation is based on Knuth's list macros in "The TeXbook". -% -% The following macros are supplied: -% -% \listnewempty -% \listnew -% \listcopy -% \listpopfront -% \listpushback -% \listpushfront -% \listsize -% \listselect -% \listcheckempty -% \listforeach -% -% Copyright 2007/2008 by Christian Feuersänger. -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{liststructure}[2008/02/17 Version 0.9.4] - -\newtoks\TOKL@ta -\newtoks\TOKL@tb -\newif\iflistempty - -% Creates a new, empty list. -\long\def\listnewempty#1{\let#1=\empty} - -% Creates a new list with an abirtrary number of elements. -% Arguments: -% #1: the list's name (a macro name) -% #2: the elements in the form -% first\\second\\third\\ ...\\ -% like in tabular with one column. -% -% Example: -% \listnew\foolist{First Element\\Second Element\\Third Element\\} -% -% WARNING: do NOT forget the final '\\'! -\long\def\listnew#1#2{% - \listnewempty{#1}% - \long\def\listnew@impl@rest{#2}% - \loop - \ifx\listnew@impl@rest\empty - \else - \expandafter\listnew@impl\listnew@impl@rest\tolist#1\relax - \repeat -} - -% Copies list #1 to list #2. -\def\listcopy#1\to#2{\let#2=#1} - - -% helper macro for \listnew -\long\def\listnew@impl#1\\#2\tolist#3{% - \listpushback#1\to#3\relax% - \def\listnew@impl@rest{#2}% -} - - -% #1: the item to prepend -% #2: the list as macro name -% Example: -% \listpushfront Next first Element\to\foolist -\long\def\listpushfront#1\to#2{% - \TOKL@ta={\list@sep{#1}}% - \TOKL@tb=\expandafter{#2}% - \edef#2{\the\TOKL@ta\the\TOKL@tb}% -} - -% #1: the item to append -% #2: the list as macro name -% Example: -% \listpushback Next last element\to\foolist -\long\def\listpushback#1\to#2{% - \TOKL@ta={\list@sep{#1}}% - \TOKL@tb=\expandafter{#2}% - \edef#2{\the\TOKL@tb\the\TOKL@ta}% -} - -% Concatenates two lists #2 and #3 into #1 -% Example: -% \listconcat\result=\foolist&\bar -\long\def\listconcat#1=#2{% - \TOKL@ta=\expandafter{#2}% - \TOKL@tb=\expandafter{#3}% - \edef#1{\the\TOKL@ta\the\TOKL@tb}% -} - -% implements #2 := pop_front(#1) -% Example: -% \listpopfront\foolist\to\poppedfirstelem -\long\def\listpopfront#1\to#2{% - \listcheckempty#1\relax - \iflistempty - \errmessage{ERROR: \string\listpopfront\ from \string#1\ although list is EMPTY}% - \else - \expandafter\listpopfront@impl#1\listpopfront@macronames#1#2% - \fi -} - -% implementation helper for listpopfront -\long\def\listpopfront@impl\list@sep#1#2\listpopfront@macronames#3#4{% - \def#4{#1}% - \def#3{#2}% -} - -% Counts the number of elements in list #1, storing it into the count -% register #2. -% Example: -% \listsize\foo\to{\count0}% -% \the\count0 -\long\def\listsize#1\to#2{% - #2=0% - \long\def\list@sep##1{\advance#2 by 1 }% - #1% -} - -% Returns the #1th element of list #2 into macro #3 -% Arguments: -% #1: a count 0,...,N-1 where N is the list size. -% You may specify a number of a count. -% #2: a list -% #3: a macro name -% Example: -% Element 0: -% \listselect0\of\foo\to\elem -% \elem -% Element \count1: -% \listselect\count1\of\foo\to\elem -\long\def\listselect#1\of#2\to#3{% - \def#3{\errmessage{The requested item #1 of \string#2 is OUT OF RANGE.}}% - \begingroup - \count0=#1\relax - \long\def\list@sep##1{% - \advance\count0-1 - \ifnum\count0=-1 - \global\def\listselect@tmp{\def#3{##1}}% - % the command \listselect@tmp will be expander AFTER - % '\endgroup' - \aftergroup\listselect@tmp% - \fi% - }% - #2% - \endgroup -} - -% Sets the boolean \iflistempty depending on whether list #1 is empty -% or not. -% Example: -% -% \listcheckempty\foolist -% \iflistempty -% List foolist is empty! -% \else -% List is not empty. -% \fi -\def\listcheckempty#1{% - \ifx#1\empty - \listemptytrue - \else - \listemptyfalse - \fi -} - - -% Iterates through each list element, names it #2 and calls code #3. -% Example: -% \listnew\foolist{Eins\\Zwei\\Drei\\}% -% \listforeach\foolist\as\foo{Element \foo\par}% -% results in -% Element Eins -% Element Zwei -% Element Drei -\long\def\listforeach#1\as#2#3{{% - \long\def\list@sep##1{\def#2{##1}#3}% - #1\relax -}} |