From fc77b8d3f3622ede43e4c3277b3fbab79fb8d19c Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Fri, 14 Dec 2007 01:45:54 +0000
Subject: new latex package ted (12dec07)

git-svn-id: svn://tug.org/texlive/trunk@5772 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/ted/ted.sty | 345 ++++++++++++++++++++++++++++++++
 1 file changed, 345 insertions(+)
 create mode 100644 Master/texmf-dist/tex/latex/ted/ted.sty

(limited to 'Master/texmf-dist/tex/latex/ted/ted.sty')

diff --git a/Master/texmf-dist/tex/latex/ted/ted.sty b/Master/texmf-dist/tex/latex/ted/ted.sty
new file mode 100644
index 00000000000..f86a33ddaf0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/ted/ted.sty
@@ -0,0 +1,345 @@
+%%
+%% This is file `ted.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ted.dtx  (with options: `package')
+%% 
+%% ted package by Manuel P\'egouri\'e-Gonnard <mpg@math.jussieu.fr>
+%% This is a generated file. See ted.dtx for license information.
+%% 
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{ted}
+  [2007/12/12 v1.01 \space token list editor \space (mpg)]
+\@ifdefinable\ted@toks{\newtoks\ted@toks}
+\@ifdefinable\ted@list{\let\ted@list\toks@}
+\@ifdefinable\ted@code{\let\ted@code\count@}
+\newcommand\ted@encloop{%
+  \futurelet\@let@token
+  \ted@encloop@}
+\newcommand\ted@encloop@{%
+  \let\next\ted@do@normal
+  \ifx\@let@token\ted@@end
+    \let\next\ted@gobble@end
+  \fi
+  \ifcat\noexpand\@let@token##%
+    \ted@code0
+    \let\next\ted@do@special
+  \fi
+  \ifcat\noexpand\@let@token\@sptoken
+    \ted@code1
+    \let\next\ted@do@special
+  \fi
+  \ifcat\noexpand\@let@token\bgroup
+    \ted@code2
+    \let\next\ted@do@special
+  \fi
+  \ifcat\noexpand\@let@token\egroup
+    \ted@code3
+    \let\next\ted@do@special
+  \fi
+  \next}
+\newcommand\ted@@end{\ted@@end@}
+\@ifdefinable\ted@gobble@end{%
+  \def\ted@gobble@end\ted@@end{}}
+\count@\catcode\z@ \catcode\z@\active
+\newcommand\ted@sanitize{%
+  \count@\z@ \@whilenum\count@<\@cclvi \do{%
+    \uccode\z@\count@
+    \uppercase{\let^^00\ted@@active}%
+    \advance\count@\@ne}}
+\catcode\z@\count@
+\newcommand\ted@@active{\ted@@active@}
+\newcommand\ted@encode[1]{%
+  \ted@list{}%
+  \let\ted@do@normal\ted@gobble@encloop
+  \let\ted@do@special\ted@scan@special
+  \ted@encloop#1\ted@@end
+  \ted@toks{}%
+  \let\ted@do@normal\ted@addtoks@encloop
+  \let\ted@do@special\ted@special@out
+  \ted@encloop#1\ted@@end
+  \ted@assert@listempty}
+\newcommand\ted@assert@listempty{%
+  \edef\next{\the\ted@list}%
+  \ifx\next\@empty \else
+    \PackageError{ted}{%
+      Assertion `\string\ted@list\space is empty' failed}{%
+      This should not happen. Please report this bug to the author.
+      \MessageBreak By the way, you're in trouble there... I'm sorry.}%
+  \fi}
+\newcommand\ted@gobble@encloop{%
+  \afterassignment\ted@encloop
+  \let\@let@token= }
+\count@\catcode\z@ \catcode\z@ 12
+\newcommand\ted@scan@special{%
+  \begingroup
+  \escapechar\if\@let@token^^00 \@ne \else \z@ \fi
+  \expandafter\ted@check@space\string}
+\catcode\z@\count@
+\newcommand\ted@check@space{%
+  \futurelet\@let@token
+  \ted@check@space@}
+\newcommand\ted@check@space@{%
+  \ifcat\@let@token\@sptoken
+    \endgroup
+    \ted@addlist{32}%
+    \expandafter\ted@gobble@encloop
+  \else
+    \expandafter\ted@list@special
+  \fi}
+\newcommand*\ted@list@special[1]{%
+  \ted@code`#1\relax
+  \expandafter\expandafter\expandafter
+  \endgroup
+  \ifnum\ted@code=\escapechar
+    \ted@addlist{\m@ne}%
+  \else
+    \expandafter\ted@addlist\expandafter{\the\ted@code}%
+  \fi
+  \ted@encloop}
+\newcommand*\ted@addlist[1]{%
+  \ted@list\expandafter{\the\ted@list#1 }}
+\newcommand\ted@addtoks@encloop[1]{%
+  \ted@toks\expandafter{\the\ted@toks#1}%
+  \ted@encloop}
+\newcommand\ted@special@out{%
+  \ifnum\ted@list@read=\m@ne
+    \ted@list@advance
+    \expandafter\ted@cs@clean
+  \else
+    \expandafter\ted@special@encode
+  \fi}
+\newcommand\ted@cs@clean[1]{%
+  \expandafter\ted@add@toks{#1}%
+  \expandafter\ted@cscl@loop\string#1 \@nil}
+\@ifdefinable\ted@cscl@loop{%
+  \def\ted@cscl@loop#1 {%
+    \futurelet\@let@token
+    \ted@cscl@loop@}}
+\newcommand\ted@cscl@loop@{%
+  \ifx\@let@token\@nil
+    \expandafter\ted@gobble@encloop
+  \else
+    \ted@list@advance
+    \expandafter\ted@cscl@loop
+  \fi}
+\newcommand\ted@special@encode{%
+    \afterassignment\ted@special@encode@
+  \let\@let@token= }
+\newcommand\ted@special@encode@{%
+  \expandafter\ted@special@encode@@\expandafter{%
+    \csname ted@@\the\ted@code\ted@list@read\endcsname}}
+\newcommand*\ted@special@encode@@[1]{%
+  \ted@list@advance
+  \let#1\ted@@special
+  \ted@addtoks@encloop{#1}}
+\newcommand\ted@@special{\ted@@special@}
+\newcommand\ted@list@read{%
+  \expandafter\ted@list@read@\the\ted@list\@nil}
+\@ifdefinable\ted@list@read@{%
+  \def\ted@list@read@#1 #2\@nil{%
+    #1}}
+\newcommand\ted@list@advance{%
+  \expandafter\ted@list@advance@\the\ted@list\@nil}
+\@ifdefinable\ted@list@advance@{
+  \def\ted@list@advance@#1 #2\@nil{%
+    \ted@list{#2}}}
+\newcommand\ted@add@toks[1]{%
+  \ted@toks\expandafter{\the\ted@toks#1}}
+\newcommand\ted@decode[1]{%
+  \ifx#1\ted@@end \expandafter\@gobble\else\expandafter\@firstofone\fi{%
+    \ifx#1\ted@@special
+      \expandafter\@firstoftwo
+    \else
+      \expandafter\@secondoftwo
+    \fi{%
+      \begingroup \escapechar\m@ne \expandafter\endgroup
+      \expandafter\ted@decode@special\string#1\@nil
+      }{%
+      \ted@add@toks{#1}}%
+    \ted@decode}}
+\@ifdefinable\ted@decode@special{%
+  \begingroup\escapechar\m@ne \expandafter\endgroup\expandafter
+  \def\expandafter\ted@decode@special\string\ted@@#1#2\@nil{%
+    \ifcase#1
+      \begingroup \uccode`##=#2 \uppercase{\endgroup
+        \ted@add@toks{##}}%
+    \or
+      \begingroup \uccode32=#2 \uppercase{\endgroup
+        \ted@add@toks{ }}%
+    \or
+      \begingroup \ted@toks{}%
+      \uccode`{=#2
+    \or
+      \uccode`}=#2
+      \uppercase{\ted@toks\expandafter{\expandafter{\the\ted@toks}}}
+      \expandafter\endgroup
+      \expandafter\ted@add@toks\expandafter{\the\ted@toks}%
+    \fi}}
+\newcommand\ted@Substitute[3]{%
+  \begingroup \ted@sanitize
+  \ted@encode{#3}%
+  \expandafter\ted@def@subsmac\expandafter{\the\ted@toks}{#2}%
+  \ted@encode{#1}%
+  \ted@subsmac
+  \ted@toks\expandafter{\expandafter}%
+  \expandafter\ted@decode\the\ted@toks\ted@@end
+  \expandafter\endgroup
+  \expandafter\ted@output\expandafter{\the\ted@toks}}
+\newcommand\ted@def@subsmac[2]{%
+  \ted@encode{#2}%
+  \long\expandafter\def\expandafter\ted@subsmac@loop
+  \expandafter##\expandafter1\the\ted@toks##2{%
+    \ted@add@toks{##1}%
+    \ifx##2\ted@@end
+      \expandafter\@gobble
+    \else
+      \expandafter\@firstofone
+    \fi{%
+      \ted@add@toks{#1}\ted@subsmac@loop##2}}%
+  \expandafter\ted@def@subsmac@\expandafter{\the\ted@toks}}
+\newcommand\ted@def@subsmac@[1]{%
+  \def\ted@subsmac{%
+    \ted@toks\expandafter{\expandafter}%
+    \expandafter\ted@subsmac@loop\the\ted@toks#1\ted@@end}}
+\newcommand\ted@ShowTokens[1]{%
+  \begingroup \ted@sanitize
+  \ted@toks{#1}%
+  \ted@typeout{--- Begin token decompositon of:}%
+  \ted@typeout{\@spaces \the\ted@toks}%
+  \ted@encode{#1}%
+  \expandafter\ted@show@toks\the\ted@toks\ted@@end
+  \endgroup
+  \ted@typeout{--- End token decomposition.}}
+\count@\catcode\z@ \catcode\z@ 12
+\newcommand\ted@show@toks[1]{%
+  \ifx#1\ted@@end \expandafter\@gobble\else\expandafter\@firstofone\fi{%
+    \ted@toks{#1}%
+    \begingroup
+    \escapechar\if\noexpand#1^^00 \@ne \else \z@ \fi
+    \expandafter\ted@show@toks@\string#1\@nil
+    \ted@show@toks}}
+\catcode\z@\count@
+\@ifdefinable\ted@show@toks@{%
+  \long\def\ted@show@toks@#1#2\@nil{%
+    \expandafter\endgroup
+    \ifnum`#1=\escapechar
+      \expandafter\ifx\the\ted@toks\ted@@special
+        \ted@show@special#2\@nil
+      \else
+        \aftergroup\ted@type@cs
+        \expandafter\aftergroup\the\ted@toks
+      \fi
+    \else \expandafter
+      \ifx\the\ted@toks\ted@@active
+        \aftergroup\ted@type@active
+        \expandafter\aftergroup\the\ted@toks
+      \else
+        \aftergroup\ted@type@normal
+        \expandafter\aftergroup\the\ted@toks
+      \fi
+    \fi}}
+\@ifdefinable\ted@show@special{%
+  \begingroup\escapechar\m@ne \expandafter\endgroup
+  \expandafter\def\expandafter\ted@show@special\string\ted@@#1#2\@nil{%
+    \ifcase#1
+      \aftergroup\ted@type@hash
+    \or
+      \aftergroup\ted@type@blank
+    \or
+      \aftergroup\ted@type@bgroup
+    \or
+      \aftergroup\ted@type@egroup
+    \fi
+    \begingroup \uccode`1#2
+    \uppercase{\endgroup\aftergroup1}}}
+\newcommand\ted@type@hash[1]{%
+  \ted@typeout{#1 (macro paramater character #1)}}
+\newcommand\ted@type@blank[1]{%
+  \ted@typeout{#1 (blank space #1)}}
+\newcommand\ted@type@bgroup[1]{%
+  \ted@typeout{#1 (begin-group character #1)}}
+\newcommand\ted@type@egroup[1]{%
+  \ted@typeout{#1 (end-group character #1)}}
+\newcommand\ted@type@normal[1]{%
+  \ted@typeout{#1 (\meaning#1)}}
+\newcommand\ted@type@cs[1]{%
+  \ted@type@long{\string#1 (control sequence=\meaning#1}}%
+\newcommand\ted@type@active[1]{%
+  \ted@type@long{\string#1 (active character=\meaning#1}}%
+\newcommand\ted@type@long[1]{%
+  \ted@toks{}%
+  \ted@code72
+  \edef\next{#1}%
+  \expandafter\ted@tl@loop\next\@nil}
+\newcommand\ted@tl@loop{%
+  \futurelet\@let@token
+  \ted@tl@loop@}
+\newcommand\ted@tl@loop@{%
+  \ifx\@let@token\@nil
+    \let\next\ted@tl@finish
+  \else
+    \advance\ted@code\m@ne
+    \ifnum\ted@code<\z@
+      \let\next\ted@tl@finish
+    \else
+      \ifx\@let@token\@sptoken
+        \let\next\ted@tl@space
+      \else
+        \let\next\ted@tl@add
+      \fi
+    \fi
+  \fi
+  \next}
+\newcommand*\ted@tl@add[1]{%
+  \ted@toks\expandafter{\the\ted@toks #1}%
+  \ted@tl@loop}
+\@ifdefinable\ted@tl@space{%
+  \expandafter\def\expandafter\ted@tl@space\space{%
+    \ted@tl@add{ }}}
+\@ifdefinable\ted@tl@finish{%
+  \def\ted@tl@finish#1\@nil{%
+    \ifnum\ted@code<\z@
+      \ted@typeout{\the\ted@toks\string\ETC.)}
+    \else
+      \ted@typeout{\the\ted@toks)}
+    \fi}}
+\newcommand\ted@typeout{%
+  \immediate\write\ted@outfile}
+\newcommand\ShowTokensOnline{%
+  \let\ted@outfile\@unused}
+\newcommand\ShowTokensLogonly{%
+  \let\ted@outfile\m@ne}
+\ShowTokensOnline
+\newcommand\ShowTokens{%
+  \@ifstar{\ted@ShowTokens@exp}{\ted@ShowTokens}}
+\newcommand\ted@ShowTokens@exp[1]{%
+  \expandafter\ted@ShowTokens\expandafter{#1}}
+\newcommand\Substitute{%
+  \@ifstar
+  {\ted@Subs@star}
+  {\let\ted@Subs@cmd\ted@Substitute \ted@Subs}}
+\newcommand\ted@Subs@star{%
+  \@ifstar
+  {\let\ted@Subs@cmd\ted@Subs@exp@iii \ted@Subs}
+  {\let\ted@Subs@cmd\ted@Subs@exp@i \ted@Subs}}
+\newcommand\ted@Subs@exp@i{%
+  \expandafter\ted@Substitute\expandafter}
+\newcommand\ted@Subs@exp@iii[3]{%
+  \begingroup
+  \toks0{\ted@Substitute}%
+  \toks2\expandafter{#1}%
+  \toks4\expandafter{#2}%
+  \toks6\expandafter{#3}%
+  \xdef\ted@Subs@cmd{\the\toks0{\the\toks2}{\the\toks4}{\the\toks6}}%
+  \endgroup
+  \ted@Subs@cmd}
+\newcommand\ted@Subs[1][\ted@toks]{%
+  \def\ted@output{#1}%
+  \ted@Subs@cmd}
+\let\ted@output\ted@toks
+\endinput
+%%
+%% End of file `ted.sty'.
-- 
cgit v1.2.3

