%% %% This is file `environ.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% environ.dtx (with options: `package') %% %% __________________________________ %% Copyright (C) 2007 Will Robertson %% %% License information appended. %% \ProvidesPackage{environ}[2007/09/23 v0.1 A new environment syntax] \unless\ifdefined\collect@body \newtoks\@emptytoks \newtoks\@envbody \def\collect@body#1{% \@envbody{\expandafter#1\expandafter{\the\@envbody}}% \edef\process@envbody{\the\@envbody\noexpand\end{\@currenvir}}% \@envbody\@emptytoks \def\begin@stack{b}% \begingroup \expandafter\let\csname\@currenvir\endcsname\collect@@body \edef\process@envbody{\expandafter\noexpand\csname\@currenvir\endcsname}% \process@envbody } \def\push@begins#1\begin#2{% \ifx\end#2\else b\expandafter\push@begins \fi} \def\addto@envbody#1{% \global\@envbody\expandafter{\the\@envbody#1}} \def\collect@@body#1\end#2{% \edef\begin@stack{% \push@begins#1\begin\end \expandafter\@gobble\begin@stack}% \ifx\@empty\begin@stack \endgroup \@checkend{#2}% \addto@envbody{#1}% \else \addto@envbody{#1\end{#2}}% \fi \process@envbody} \fi \long\def\Collect@Body#1{% \@envbody{\expandafter#1\expandafter{\the\@envbody}}% \edef\process@envbody{\the\@envbody\noexpand\end{\@currenvir}}% \@envbody\@emptytoks \def\begin@stack{b}% \begingroup \expandafter\let\csname\@currenvir\endcsname\Collect@@Body \edef\process@envbody{\expandafter\noexpand\csname\@currenvir\endcsname}% \process@envbody } \long\def\Push@Begins#1\begin#2{% \ifx\end#2\else b\expandafter\Push@Begins \fi} \long\def\Addto@Envbody#1{% \global\@envbody\expandafter{\the\@envbody#1}} \long\def\Collect@@Body#1\end#2{% \edef\begin@stack{% \Push@Begins#1\begin\end\expandafter\@gobble\begin@stack}% \ifx\@empty\begin@stack \endgroup \@checkend{#2}% \Addto@Envbody{#1}% \else \Addto@Envbody{#1\end{#2}}% \fi \process@envbody} \newcommand\NewEnvironment{% \let\env@newenvironment\newenvironment \let\env@newcommand\newcommand \Make@Environment} \newcommand\RenewEnvironment{% \let\env@newenvironment\renewenvironment \let\env@newcommand\renewcommand \Make@Environment} \newcommand\Make@Environment[2]{% \expandafter\let\csname env@args@#1\endcsname\ignorespaces \env@newenvironment{#1}{% \expandafter\Collect@Body\csname env@@#1\endcsname}{\ignorespacesafterend}% \expandafter\env@newcommand\csname env@@#1\endcsname[1]{% \csname env@@@#1\endcsname{% \csname env@args@\@currenvir\endcsname##1\unskip}}% \expandafter\env@newcommand\csname env@@@#1\endcsname[1]{#2}} \newcommand\EnvironArgs[1]{% \@ifnextchar[ {\Env@Args{#1}} {\Env@Args{#1}[0]}} \long\def\Env@Args#1[#2]{% \@ifnextchar[ {\Env@@@Args{#1}[#2]} {\Env@@Args{#1}[#2]}} \long\def\Env@@Args#1[#2]#3{% \expandafter\renewcommand\csname env@args@#1\endcsname[#2]{% #3\ignorespaces}} \long\def\Env@@@Args#1[#2][#3]#4{% \expandafter\renewcommand\csname env@args@#1\endcsname[#2][#3]{% #4\ignorespaces}} %% %% Copyright (C) 2007 by Will Robertson %% %% Distributable under the LaTeX Project Public License, %% version 1.3c or higher (your choice). The latest version of %% this license is at: http://www.latex-project.org/lppl.txt %% %% This work is "maintained" (as per LPPL maintenance status) %% by Will Robertson. %% %% This work consists of the file environ.dtx %% and the derived files environ.pdf, %% environ.sty, and %% environ.ins. %% %% %% End of file `environ.sty'.