summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/stex/presentation.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/stex/presentation.sty')
-rw-r--r--Master/texmf-dist/tex/latex/stex/presentation.sty125
1 files changed, 125 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/stex/presentation.sty b/Master/texmf-dist/tex/latex/stex/presentation.sty
new file mode 100644
index 00000000000..53eb139fe7a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/stex/presentation.sty
@@ -0,0 +1,125 @@
+%%
+%% This is file `presentation.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% presentation.dtx (with options: `package')
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{presentation}[2007/09/03 v0.9e presentation for semantic macros]
+
+\RequirePackage{keyval}[1997/11/10]
+\def\pres@default@precedence{1000}
+\def\setDefaultPrecedence#1{\def\pres@default@precedence{#1}}
+\def\pres@initial@precedence{1000}
+\def\setInitialPrecedence#1{\def\pres@initial@precedence{#1}}
+\def\pres@current@precedence{\pres@initial@precedence}
+\def\pres@default@lbrack{(}\def\pres@lbrack{\pres@default@lbrack}
+\def\pres@default@rbrack{)}\def\pres@rbrack{\pres@default@rbrack}
+\def\setDefaultLeftBracket#1{\def\pres@default@lbrack{#1}}
+\def\setDefaultRightBracket#1{\def\pres@default@rbrack{#1}}
+\def\PrecSet#1{\def\pres@default@precedence{#1}}
+\def\PrecWrite#1{\ifnum\pres@current@precedence>\pres@p\else{#1}\fi}
+\def\clearkeys{\let\pres@p@key=\relax
+\let\pres@pi@key=\relax%
+\let\pres@pi@key=\relax%
+\let\pres@pii@key=\relax%
+\let\pres@piii@key=\relax}
+\define@key{mi}{lbrack}{\def\pres@lbrack@key{#1}}
+\define@key{mi}{rbrack}{\def\pres@lbrack@key{#1}}
+\define@key{mi}{p}{\def\pres@p@key{#1}}
+\define@key{mi}{pi}{\def\pres@pi@key{#1}}
+\def\prep@keys@mi%
+{\edef\pres@lbrack{\@ifundefined{pres@lbrack@key}{\pres@default@lbrack}{\pres@lbrack@key}}
+\edef\pres@rbrack{\@ifundefined{pres@rbrack@key}{\pres@default@rbrack}{\pres@rbrack@key}}
+\edef\pres@p{\@ifundefined{pres@p@key}{\pres@default@precedence}{\pres@p@key}}
+\edef\pres@pi{\@ifundefined{pres@pi@key}{\pres@p}{\pres@pi@key}}}
+\newcommand{\mixfixi}[4][]%key, pre, arg, post
+{\setkeys{mi}{#1}\prep@keys@mi\clearkeys
+\PrecWrite\pres@lbrack% write bracket if necessary
+#2{\edef\pres@current@precedence{\pres@pi}#3}#4%
+\PrecWrite\pres@rbrack}
+\newcommand{\mixfixa}[5][]%key, pre, arg, post, assocop
+{\setkeys{mi}{#1}\prep@keys@mi\clearkeys%
+\PrecWrite\pres@lbrack{#2}{\@assoc\pres@pi{#5}{#3}}{#4}\PrecWrite\pres@rbrack}
+\define@key{mii}{lbrack}{\def\pres@lbrack@key{#1}}
+\define@key{mii}{rbrack}{\def\pres@lbrack@key{#1}}
+\define@key{mii}{p}{\def\pres@p@key{#1}}
+\define@key{mii}{pi}{\def\pres@pi@key{#1}}
+\define@key{mii}{pii}{\def\pres@pii@key{#1}}
+\def\prep@keys@mii{\prep@keys@mi%
+\edef\pres@pii{\@ifundefined{pres@pii@key}{\pres@p}{\pres@pii@key}}%
+\let\pres@pii@key=\relax}
+\newcommand{\mixfixii}[6][]%key, pre, arg1, mid, arg2, post
+{\setkeys{mii}{#1}\prep@keys@mii\clearkeys%
+\PrecWrite\pres@lbrack% write bracket if necessary
+#2{\edef\pres@current@precedence{\pres@pi}#3}%
+#4{\edef\pres@current@precedence{\pres@pii}#5}#6%
+\PrecWrite\pres@rbrack}
+\newcommand{\mixfixia}[7][]%key, pre, arg1, mid, arg2, post, assocop
+{\setkeys{mii}{#1}\prep@keys@mii\clearkeys%
+\PrecWrite\pres@lbrack% write bracket if necessary
+#2{\edef\pres@current@precedence{\pres@pi}#3}%
+#4{\@assoc\pres@pii{#7}{#5}}#6%
+\PrecWrite\pres@rbrack}
+\newcommand{\mixfixai}[7][]%key, pre, arg1, mid, arg2, post, assocop
+{\setkeys{mii}{#1}\prep@keys@mii\clearkeys%
+\PrecWrite\pres@lbrack% write bracket if necessary
+#2{\@assoc\pres@pi{#7}{#3}}%
+#4{\edef\pres@current@precedence{\pres@pii}#5}#6%
+\PrecWrite\pres@rbrack}
+\define@key{miii}{lbrack}{\def\pres@lbrack@key{#1}}
+\define@key{miii}{rbrack}{\def\pres@lbrack@key{#1}}
+\define@key{miii}{p}{\def\pres@p@key{#1}}
+\define@key{miii}{pi}{\def\pres@pi@key{#1}}
+\define@key{miii}{pii}{\def\pres@pii@key{#1}}
+\define@key{miii}{piii}{\def\pres@piii@key{#1}}
+\def\prep@keys@miii{\prep@keys@mii\edef\pres@piii{\@ifundefined{pres@piii@key}{\pres@p}{\pres@piii@key}}}
+\newcommand{\mixfixiii}[8][]%key, pre, arg1, mid1, arg2, mid2, arg3, post
+{\setkeys{miii}{#1}\prep@keys@miii\clearkeys%
+\PrecWrite\pres@lbrack% write bracket if necessary
+#2{\edef\pres@current@precedence{\pres@pi}#3}%
+#4{\edef\pres@current@precedence{\pres@pii}#5}%
+#6{\edef\pres@current@precedence{\pres@pii}#7}#8%
+\PrecWrite\pres@rbrack}
+\newcommand{\prefix}[3][]%key, fn, arg
+{\setkeys{mi}{#1}\prep@keys@mi\clearkeys
+#2\PrecWrite\pres@lbrack% write bracket if necessary
+{\edef\pres@current@precedence{\pres@pi}#3}%
+\PrecWrite\pres@rbrack}
+\newcommand{\postfix}[3][]%key, fn, arg
+{\setkeys{mi}{#1}\prep@keys@mi\clearkeys
+\PrecWrite\pres@lbrack% write bracket if necessary
+{\edef\pres@current@precedence{\pres@pi}#3}%
+\PrecWrite\pres@rbrack{#2}}
+\newcommand{\prefixa}[4][]{\mixfixa[#1]{#2}{#3}{}{#4}}
+\newcommand{\postfixa}[4][]{{#1}\mixfixa[#1]{}{#3}{#2}{#4}}
+\newcommand{\infix}[4][]{\mixfixii[#1]{}{#3}{#2}{#4}{}}
+\def\@assoc#1#2#3{% precedence, function, argv
+\let\@tmpop=\relax% do not print the function the first time round
+\@for\@I:=#3\do{\@tmpop% print the function
+{\edef\pres@current@precedence{#1}\@I}%
+\let\@tmpop=#2}}%update the function
+\newcommand{\assoc}[3][]{\mixfixa[#1]{}{#3}{}{#2}}
+\def\setegroup#1#2{\expandafter\def\csname #1@egroup\endcsname{#2}}
+\def\elide#1#2#3{\@ifundefined{#1@egroup}%
+{\def\@elevel{1000}
+\PackageError{presentation}{undefined egroup #1, assuming value 1000}%
+{When calling \protect\elide{#1}... the elision group #1 has be have\MessageBreak
+been set by \protect\setegroup before, e.g. by \protect\setegroup{an}{1000}.}}%
+{\edef\@elevel{\csname #1@egroup\endcsname}}%
+\ifnum\@elevel>#2\else{#3}\fi}
+\def\provideEdefault#1#2{\expandafter\def\csname#1@edefault\endcsname{#2}
+\@ifundefined{this@module}{}%
+{\expandafter\g@addto@macro\this@module{\expandafter\def\csname#1@edefault\endcsname{#2}}}}
+\def\setEdefault#1#2{\expandafter\def\csname #1@edfault\endcsname{#2}}
+\def\fromEcontext#1{\csname #1@edefault\endcsname}
+\def\MOD@namedef#1{\expandafter\def\csname MOD@name@#1\endcsname}
+\def\MOD@name[#1]#2{#2\def\@test{#2}\ifx\@test\empty\else\MOD@namedef{#1}{#2}\fi}
+\def\vname{\@ifnextchar[\MOD@name{\MOD@name[]}}
+\def\vnref#1{\csname MOD@name@#1\endcsname}
+\def\hrcr#1#2{\hyperlink{#1@\mod@id}{#2}}
+\endinput
+%%
+%% End of file `presentation.sty'.