summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/stack
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-13 00:07:42 +0000
committerKarl Berry <karl@freefriends.org>2006-01-13 00:07:42 +0000
commit200aa93862fd8511bede341b796d2a569643d325 (patch)
tree4b6862bb51638c6776bec9d853392f1886a4884c /Master/texmf-dist/tex/latex/stack
parente47876078fbac8afc73e96cb14cbb7e6bbb37d3a (diff)
stack
git-svn-id: svn://tug.org/texlive/trunk@1344 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/stack')
-rw-r--r--Master/texmf-dist/tex/latex/stack/relinput.sty48
-rw-r--r--Master/texmf-dist/tex/latex/stack/stack.sty92
2 files changed, 140 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/stack/relinput.sty b/Master/texmf-dist/tex/latex/stack/relinput.sty
new file mode 100644
index 00000000000..423c88e0e82
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/stack/relinput.sty
@@ -0,0 +1,48 @@
+%%
+%% This is file `relinput.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% stack.dtx (with options: `test')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from relinput.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file stack.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% \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 \~}
+\ProvidesPackage{relinput}[2002/01/20 v1.00 Relative input]
+\RequirePackage{stack}
+\NewStack{reldir}{.}
+\newcommand\relinput[2]{%
+ \Push{reldir}{\Stack{reldir}/#1}%
+ \input{\Stack{reldir}/#2}%
+ \Pop{reldir}%
+}
+\endinput
+%%
+%% End of file `relinput.sty'.
diff --git a/Master/texmf-dist/tex/latex/stack/stack.sty b/Master/texmf-dist/tex/latex/stack/stack.sty
new file mode 100644
index 00000000000..d76b3759788
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/stack/stack.sty
@@ -0,0 +1,92 @@
+%%
+%% This is file `stack.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% stack.dtx (with options: `package')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from stack.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file stack.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% \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 \~}
+\ProvidesPackage{stack}[2002/01/20 v1.0 Multi-stack system]
+\newcount\tmp@stack
+\newcommand\NewStack[2]{%
+ \expandafter\gdef\csname #1@count\endcsname{0}%
+ \expandafter\do@stack@macro\csname #1@count\endcsname{#1}{#2}%
+}
+\newcommand\do@stack@macro[3]{%
+ \expandafter\newcommand\expandafter*%
+ \csname stack@#2\endcsname{%
+ \expandafter\ifx\csname #2@\romannumeral#1\endcsname\relax
+ #3%
+ \else
+ \csname #2@\romannumeral#1\endcsname
+ \fi
+ }%
+}
+\newcommand\Stack[1]{%
+ \ifx\csname #1@count\endcsname\relax
+ \PackageError{stack}{Undefined stack #1}{You should first create the
+ stack with \NewStack}%
+ \else
+ \csname stack@#1\endcsname
+ \fi
+}
+\newcommand\Push[2]{%
+ \ifx\csname #1@count\endcsname\relax
+ \PackageError{stack}{Undefined stack #1}{You should first create the
+ stack with \NewStack}%
+ \else
+ \edef\stack@newtop{#2}%
+ \tmp@stack\csname #1@count\endcsname\relax
+ \global\advance\tmp@stack by 1\relax
+ \expandafter\xdef\csname #1@count\endcsname{\the\tmp@stack}%
+ \expandafter\xdef\csname #1@\romannumeral\tmp@stack\endcsname
+ {\stack@newtop}%
+ \fi
+}
+\newcommand\Pop[1]{%
+ \ifx\csname #1@count\endcsname\relax
+ \PackageError{stack}{Undefined stack #1}{You should first create the
+ stack with \NewStack}%
+ \else
+ \tmp@stack\csname #1@count\endcsname\relax
+ \ifnum\tmp@stack>0\relax
+ \advance\tmp@stack by -1\relax
+ \expandafter\xdef\csname #1@count\endcsname{\the\tmp@stack}%
+ \fi
+ \fi
+}
+\newcommand\ShowTop[1]{%
+ {\edef\top{\Stack{#1}}%
+ \typeout{The top of #1: \top}}}
+\endinput
+%%
+%% End of file `stack.sty'.