diff options
author | Karl Berry <karl@freefriends.org> | 2008-09-20 00:38:11 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-09-20 00:38:11 +0000 |
commit | 4047de0425ceb45ea0b331e48efe2c6937a4a961 (patch) | |
tree | 62cdcb17409b431cbf1d56c887ddf71689c0911d | |
parent | 4be602aabb747be11a542f7d567a76e126ecef88 (diff) |
interim dratex update
git-svn-id: svn://tug.org/texlive/trunk@10648 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/generic/dratex/README | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/dratex/Examples.tex (renamed from Master/texmf-dist/doc/generic/dratex/Examples.tex) | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/dratex/README | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/dratex/AlProTex.sty | 1576 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/dratex/AlDraTex.sty (renamed from Master/texmf-dist/tex/generic/dratex/AlDraTex.sty) | 18 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/dratex/DraTex.sty (renamed from Master/texmf-dist/tex/generic/dratex/DraTex.sty) | 24 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/dratex/TeXProject.sty (renamed from Master/texmf-dist/tex/generic/dratex/TeXProject.sty) | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/dratex/wotree.sty | 106 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 |
9 files changed, 140 insertions, 1596 deletions
diff --git a/Master/texmf-dist/doc/generic/dratex/README b/Master/texmf-dist/doc/generic/dratex/README deleted file mode 100644 index 32f9a71ce18..00000000000 --- a/Master/texmf-dist/doc/generic/dratex/README +++ /dev/null @@ -1,2 +0,0 @@ -Documentation can be found at - http://www.cis.ohio-state.edu/~gurari/systems.html diff --git a/Master/texmf-dist/doc/generic/dratex/Examples.tex b/Master/texmf-dist/doc/latex/dratex/Examples.tex index ade0a511abb..4603a22b63a 100644 --- a/Master/texmf-dist/doc/generic/dratex/Examples.tex +++ b/Master/texmf-dist/doc/latex/dratex/Examples.tex @@ -12,7 +12,7 @@ % % % TeX and LaTeX: Drawing and Literate Programming % % % -% gurari@cis.ohio-state.edu % +% gurari@cse.ohio-state.edu % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/doc/latex/dratex/README b/Master/texmf-dist/doc/latex/dratex/README new file mode 100644 index 00000000000..865e121ca3f --- /dev/null +++ b/Master/texmf-dist/doc/latex/dratex/README @@ -0,0 +1,2 @@ +Documentation can be found at + http://www.cse.ohio-state.edu/~gurari/systems.html diff --git a/Master/texmf-dist/tex/generic/dratex/AlProTex.sty b/Master/texmf-dist/tex/generic/dratex/AlProTex.sty deleted file mode 100644 index b8d63d28ba2..00000000000 --- a/Master/texmf-dist/tex/generic/dratex/AlProTex.sty +++ /dev/null @@ -1,1576 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% AlProTex.sty 2001-11-28-00:02 % -% Copyright (C) 1992--2001 by Eitan M. Gurari % -% % -% This program can redistributed and/or modified under % -% the terms of the LaTeX Project Public License % -% Distributed from CTAN archives in directory % -% macros/latex/base/lppl.txt; either version 1 of the % -% License, or (at your option) any later version. % -% % -% However, you are allowed to modify this program % -% without changing its name, if you modify its % -% signature. Changes to the signature can be introduced % -% with a directive of the form % -% \message{signature} % -% % -% gurari@cis.ohio-state.edu % -% http://www.cis.ohio-state.edu/~gurari % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\immediate\write-1{version 2001-11-28-00:02} - -\expandafter\edef\csname :RestoreCatcodes\endcsname{% - \catcode`\noexpand\noexpand\noexpand \^=\the\catcode`\^% - \catcode`\noexpand\noexpand\noexpand \_=\the\catcode`\_% -} -\catcode`\^=7 \catcode`\_=8 -\expandafter\edef\csname :RestoreCatcodes\endcsname{% - \csname :RestoreCatcodes\endcsname - \csname du:cc\endcsname - \catcode`\noexpand "=\the\catcode`\"% - \catcode`\noexpand |=\the\catcode`\|% - \catcode`\noexpand :=\the\catcode`:% - \catcode`\noexpand @=\the\catcode`@% - \catcode`\noexpand -=\the\catcode`-% - \catcode`\noexpand +=\the\catcode`+% - \catcode`\noexpand /=\the\catcode`/% - \catcode`\noexpand .=\the\catcode`.% - \catcode`\noexpand \^^M=\the\catcode`\^^M% - \catcode`\noexpand \^^I=\the\catcode`\^^I% - \catcode`\noexpand \%=\the\catcode`\%% - \let\expandafter\noexpand - \csname:RestoreCatcodes\endcsname=\noexpand\undefined} -\catcode`\@=11 \catcode`\:=11 \catcode`\"=12 \catcode`\|=12 -\def\TagLine[#1]{} \def\ResetLineCount{} -\def\RefLine[#1]{} \def\ShowLineCount{} -\def\HideLineCount{} \def\PauseLineCount{} -\def\ContLineCount{} \def\:InitAlProTex#1,#2//{ - \def\:InitAlProTex{#1}% - \let\:ModifyOutputCodeO=\ModifyOutputCode - \def\ModifyOutputCode{\def\Extension{#1}\:ModifyOutputCodeO} - \ifx \html:addr\:UnDeF \def\AlProTex{#2}\else - \ifx \html:addr\empty \def\AlProTex{#2}\else - \def\AlProTex{html,#2}\fi \fi} - -\expandafter\:InitAlProTex\AlProTex,// - - -\def\:temp{\csname newif\endcsname} -\expandafter\ifx \csname :Optionfalse\endcsname\relax - \expandafter\:temp \csname if:Option\endcsname -\fi -\def\:CheckOption#1{ \def\:temp{#1} - \:Optionfalse - \expandafter\:GetOptions\AlProTex,,// } - -\def\:GetOptions#1,#2//{ \def\:next{#1} - \ifx \:next\empty - \else \ifx \:temp\:next \:Optiontrue \let\:next=\relax - \else \def\:next{\:GetOptions#2//} - \fi \fi \:next } -\def\:CntrlChar{`\\} -\catcode`\|=0 |catcode`|\=12 -|def|:notex{\} -|catcode`|\=0 |catcode`||=12 -\def\:temp{ \catcode`\@=12 - \def\:temp##1{\catcode`\@=11 - \:CheckOption{##1}} \:temp} -\:temp{@} -\if:Option \def\:CntrlChar{`\@} -\catcode`\@=12 -\def\:notex{@} -\catcode`\@=11 -\let\:ModifyAppendCodeII=\ModifyAppendCode -\let\:ModifyShowCodeII=\ModifyShowCode -\let\:ModifyOutputCodeII=\ModifyOutputCode -\def\ModifyAppendCode{\catcode`\@=0 \catcode`\\=12 - \:ModifyAppendCodeII} -\def\ModifyOutputCode{\def\@{@}\:ModifyOutputCodeII} -\def\ModifyShowCode#1{\:ModifyShowCodeII{#1}\def\@{\char64 }} -\else \ifx \:ModifyAppendCodeII\:undefined - \:CheckOption{|} \if:Option - \def\:CntrlChar{`\|} -\def\:notex{|} -\let\:ModifyAppendCodeII=\ModifyAppendCode -\let\:ModifyShowCodeII=\ModifyShowCode -\let\:ModifyOutputCodeII=\ModifyOutputCode -\def\ModifyAppendCode{\catcode`\|=0 \catcode`\\=12 - \:ModifyAppendCodeII} -\def\ModifyOutputCode{\def\|{|}\:ModifyOutputCodeII} -\def\ModifyShowCode#1{\:ModifyShowCodeII{#1}\def\|{\char124 }} -\else \ifx \:ModifyAppendCodeII\:undefined - \:CheckOption{`} \if:Option - \def\:CntrlChar{`\`} -\def\:notex{`} -\let\:ModifyAppendCodeII=\ModifyAppendCode -\let\:ModifyShowCodeII=\ModifyShowCode -\let\:ModifyOutputCodeII=\ModifyOutputCode -\def\ModifyAppendCode{\catcode`\`=0 \catcode`\\=12 - \:ModifyAppendCodeII} -\def\ModifyOutputCode{\def\`{`}\:ModifyOutputCodeII} -\def\ModifyShowCode#1{\:ModifyShowCodeII{#1}\def\`{\char96 }} -\else \ifx \:ModifyAppendCodeII\:undefined - \:CheckOption{?} \if:Option - \def\:CntrlChar{`\?} -\def\:notex{?} -\let\:ModifyAppendCodeII=\ModifyAppendCode -\let\:ModifyShowCodeII=\ModifyShowCode -\let\:ModifyOutputCodeII=\ModifyOutputCode -\def\ModifyAppendCode{\catcode`\?=0 \catcode`\\=12 - \:ModifyAppendCodeII} -\def\ModifyOutputCode{\def\?{?}\:ModifyOutputCodeII} -\def\ModifyShowCode#1{\:ModifyShowCodeII{#1}\def\?{\char63 }} -\fi \fi \fi \fi \fi \fi \fi\:CheckOption{xref} \if:Option - \csname newread\endcsname\sdx:file -\immediate\openin\sdx:file=\jobname.sdx -\csname newwrite\endcsname\cdx:file -\immediate\openout\cdx:file=\jobname.cpg -\let\xref:OutputCode=\OutputCode -\def\OutputCode#1{% - {\Comment{ startcodefragment}{//}% - \let\ProTexMssg=\:gobble - \let\xref:ModifyOutputCode=\ModifyOutputCode - \def\wrt:index##115{\immediate\write\cdx:file }% - \def\ModifyOutputCode##1{\xref:ModifyOutputCode{##1}\bgroup - \def\relax####115####215{\egroup - \expandafter\wrt:index\:WriteCode - }}% - \xref:OutputCode#1}% - \xref:OutputCode#1} - - \expandafter\ifx \csname tmp:cnt\endcsname\relax - \csname newcount\endcsname\tmp:cnt -\fi -\def\change:cats#1#2#3{% - \tmp:cnt#1 - \def\no::catcodes{% - \catcode\tmp:cnt#3 - \ifnum\tmp:cnt<#2 - \advance\tmp:cnt 1 \expandafter\no::catcodes - \fi }% - \no::catcodes } - -\def\scan:token{\futurelet\:next\check:ch} -\def\check:ch{\ifx \:next\par \expandafter\end - \else \expandafter\scan:ch\fi} -\def\scan:ch#1{\relax - \ifx #1\egroup \index:tok \expandafter\egroup\else - \ifcat #1a% - \ifx \index:tok\empty - \change:cats{48}{57}{11}% 0--9 - \fi - \edef\index:tok{\index:tok#1}% - \ifx \index:tok\start:comment - \let\index:tok=\empty \let~=\scan:comment - \change:cats{48}{57}{12}% 0--9 - \fi - \else - \change:cats{48}{57}{12}% 0--9 - \if \index:tok\empty \else - \write:index{1 - \sp:id\index:id \space1 \l:idel\index:tok\r:idel }% - \write:index{2 - \l:idel\index:tok\r:idel \space \sp:id\index:id }% - \fi - \let\index:tok=\empty - \fi \expandafter~\fi} -\def\sp:id#1{% - \ifnum #1<10000 \space\fi - \ifnum #1<1000 \space\fi - \ifnum #1<100 \space\fi - \ifnum #1<10 \space\fi - #1} - -\catcode`\@=0 \catcode`\\=12 @relax - @:CheckOption{html} @if:Option -@def@scan:comment#1\<#2\>{% - @def@index:tok{#2}% - @afterassignment@exit:comment@tmp:cnt=} - @else -@def@scan:comment#1\<#2\>.{% - @def@index:tok{#2}% - @afterassignment@exit:comment@tmp:cnt=} - @fi -@catcode`@\=0 \catcode`\@=11 - -\def\start:comment{startcodefragment} -\def\exit:comment#1//{\def\:temp{#1}% - \ifx \:temp\open:comment - \index:push - \edef\index:level{I\index:level}% - \ifx \prev:comment\index:tok \else - \code:index{}% - \fi - \expandafter\edef\csname L \index:level\endcsname{% - \expandafter\ifx \csname L \index:level\endcsname\relax \else - \csname L \index:level\endcsname, - \fi \the\tmp:cnt - }% - \let\prev:dir=u% - \let\prev:comment=\index:tok% - \else - \code:index{I}% - \edef\index:level{\expandafter\:gobble\index:level}% - \let\prev:dir=d% - \index:pop\index:pop\index:push - \fi - \let\index:tok=\empty \edef\index:id{\the\tmp:cnt}% - \let~=\scan:token ~} -\def\open:comment{...} -\def\index:id{0} -\def\index:level{} -\let\prev:dir=f -\def\:gobble#1{} - - - -\def\index:push{\edef\pd:mem{\the\tmp:cnt,\pd:mem}} -\def\index:pop{\expandafter\do:pop\pd:mem//} -\def\do:pop#1,#2//{% - \if !#1!\tmp:cnt=-1 \else \tmp:cnt=#1\def\pd:mem{#2}\fi} -\def\pd:mem{,} - - -\def\code:index#1{% - \if d\prev:dir - \bgroup - \edef\index:tok{\l:idel\prev:comment\r:idel\space /\the\tmp:cnt/% - \expandafter\ifx \csname L #1\index:level\endcsname\relax \else - , \csname L #1\index:level\endcsname - \fi}% - \write:index{3 \index:tok }% - \expandafter\ifx \csname L #1\index:level\endcsname\relax \else - \edef\:tmp{\noexpand\derive:index \space - \csname L #1\index:level\endcsname,,}\:tmp - \fi - \egroup - \expandafter\let\csname L #1\index:level\endcsname=\:UnDe - \fi -} - -\def\derive:index#1,{% - \if !#1!\else - \write:index{1\sp:id{#1} 2 - \index:tok}\expandafter\derive:index\fi} - -\def\write:index{\immediate\write\cdx:file } -\def\l:idel{<} -\def\r:idel{>} - -\def\CodeIndex{% - \immediate\closeout\cdx:file \def\read:sdx{% - \ifeof\sdx:file \else - \immediate\read\sdx:file to\sdx:in \sdx:in - \expandafter\read:sdx - \fi -}\noindent\vrule\vbox{\tt -\hsize=0.8\hsize -\rightskip=3em plus 4em -\leftskip=3em -\parindent=0pt - -\ifnum \index:typ<4 - \sdx:in \fi - \read:sdx -}% -\immediate\closein\sdx:file - % - \immediate\openout\cdx:file=\jobname.cdx - \bgroup - \change:cats{0}{255}{12}% - \change:cats{97}{122}{11}% a--z - \change:cats{65}{90}{11}% A--Z - \change:cats{95}{95}{11}% _ - \let\index:tok=\empty \let~=\scan:token - \expandafter~\input \jobname.cpg \egroup - \immediate\write16{-- Have \jobname.cdx processed - into \jobname.sdx --}% -}% - - \let\xref:ModifyShowCode=\ModifyShowCode -\def\ModifyShowCode#1{% - \xref:ModifyShowCode{#1}% - \let\xref:ModifyShowLastCode=\ModifyShowLastCode - \def\ModifyShowLastCode{\xref:ModifyShowLastCode{#1}% - \def\:BackTitle{\noindent\vrule\vtop{% -\tt -\hsize=0.8\hsize -\rightskip=3em plus 4em -\leftskip=3em -\parindent=0pt - --\the\:CodeNumber--: \small:index -}}}} -\def\small:index{% - \ifnum \:CodeNumber<\index:num \else - \sdx:in - \ifeof\sdx:file - \def\index:num{1000000}\gdef\index:typ{4}% - \else - \immediate\read\sdx:file to\sdx:in - \expandafter\get:typ \sdx:in //% - \fi - \expandafter\small:index - \fi} -\def\get:typ#1 {% - \gdef\index:typ{#1}% - \ifnum #1>1 \def\index:num{1000000}\expandafter\id:gobble - \else \expandafter\get:nm\fi} -\def\id:gobble#1//{} -\def\get:nm#1 #2//{\def\index:num{#1}} -\def\index:num{0} -\let\sdx:in=\empty - -\fi -\:CheckOption{basic} \if:Option - \def\AlProTex{[[]],<<<>>>,list,title,ClearCode} - \def\:temp{\catcode`\`=12} -\catcode`\;=0 \catcode`\\=12 -;expandafter;catcode ;:CntrlChar=13 -;ifnum 92=;:CntrlChar - ;edef;:notex{;noexpand;::notex;noexpand\;:notex} -;fi -;ifnum 124=;:CntrlChar - ;edef;:notex{;noexpand;::notex;noexpand|;:notex} -;fi -;ifnum 64=;:CntrlChar - ;edef;:notex{;noexpand;::notex;noexpand@;:notex} -;fi -;ifnum 96=;:CntrlChar - ;edef;:notex{;noexpand;::notex;noexpand`;:notex} -;fi -;:temp ;catcode`;\=0 ;catcode`;;=12 - \def\::notex#1#2{\let\:notex=\:undefined - \let\::notex=\:undefined - % - \ifx \documentstyle\:undefined \errmessage{LaTeX is missing}\fi - \documentstyle{book} \let\cleardoublepage=\clearpage - \textwidth=469.75499pt \textheight=643.20255pt - \topmargin=-0.5in \oddsidemargin=0pt \evensidemargin=0pt - \begin{document} - \hbadness=10000 \vbadness=10000 \hfuzz=99in \vfuzz=\hfuzz - \tableofcontents \begingroup - % - \def\:amp{#2} - \def#1{\begingroup - \catcode`\ =12 \catcode`\^^M=12 \catcode`\^^I=12 - \expandafter\catcode\:CntrlChar=12 \:doAmp } - % - \def\:doAmp##1{\endgroup - \if ##1< \def\:next####1#1>{\<####1\>}% -\else \def\:next{##1}% -\ifx \:next\:amp -\else\if ##1c \def\:next{\:sect\chapter}% -\else\if ##1s \def\:next{ \vfil\:sect\section}% -\else\if ##1u \def\:next{ \vfil\:sect\subsection}% -\else\if ##1v \def\:next{\expandafter\def\csname\string - @xverbatim\endcsname########1#2{% - ########1\end{verbatim}\egroup}% - \bgroup\expandafter\catcode\:CntrlChar=12 - \begin{verbatim}}% -\else\if ##1o \def\:next####1#1<####2#1>{\OutputCode####1\<####2\>}% -\else\if ##1n \def\:next{\ClearCode}% -\else\if ##1e \def\:next{\endgroup\end{document}}% -\else \edef\:next{\noexpand\errmessage{\:amp##1?}}% -\fi\fi \fi\fi \fi\fi \fi\fi \fi -\:next } - % - \:NoSpecials{12}{0}{255} - \catcode`\ =10 \catcode`\^^M=5 \catcode`\^^I=10 - \escapechar=\:CntrlChar - \expandafter\catcode\:CntrlChar=13 } - \def\:specialactive{\catcode`\_=13 - \catcode`\~=13 \catcode`\\=13 \catcode`\#=13 - \catcode`\$=13 \catcode`\%=13 \catcode`\^=13 - \catcode`\&=13 \catcode`\{=13 \catcode`\}=13 } - -\def\:sect{\begingroup \:specialactive \::sect} - -\catcode`\/=0 \catcode`\[=1 \catcode`\]=2 -\catcode`\@=6 \catcode`\*=14 \:specialactive - -/def/::sect@1@2/par[/endgroup/begingroup - /def~[/bgroup/tt/char126/egroup]* - /def\[/bgroup/tt/char92/egroup]* - /def#[/bgroup/tt/char35/egroup]* - /def$[/bgroup/tt/char36/egroup]* - /def%[/bgroup/tt/char37/egroup]* - /def^[/bgroup/tt/char94/egroup]* - /def_[/bgroup/tt/char95/egroup]* - /def&[/bgroup/tt/char38/egroup]* - /def{[/bgroup/tt/char123/egroup]* - /def}[/bgroup/tt/char125/egroup]* - /escapechar=92 @1[@2]/endgroup] - -/catcode`/\=0 \catcode`\#=6 \catcode`\$=3 \catcode`\%=14 -\catcode`\^=7 \catcode`\&=4 \catcode`\{=1 \catcode`\}=2 -\catcode`\_=8 \catcode`\/=12 \catcode`\[=12 \catcode`\]=12 -\catcode`\@=11 \catcode`\*=12 - -\else - \let\:CntrlChar=\:undefined - \def\:notex{\let\:notex=\:undefined} -\fi -\:CheckOption{<<<>>>} \if:Option -\def\:OpenCode#1#2{\def\:OpenCode{#1}\def\:CloseCode{#2}} -\edef\:CloseCode{\noexpand\:OpenCode - \ifx \CodeDel\:UnDefined{<<<}{>>>}\else \CodeDel\fi } \:CloseCode -\let\:ModifyAppendCodeI=\ModifyAppendCode - \catcode`\^^M=13 -\edef\ModifyAppendCode{% -\catcode`\noexpand\{=12 \catcode`\noexpand\}=12 % -\let\noexpand\::ScanAppend=\noexpand\:ScanAppend % - \def\noexpand\:ScanAppend\:OpenCode##1^^M##2\:CloseCode{% - \noexpand\::ScanAppend{##2}}% -\noexpand\:ModifyAppendCodeI}% - \catcode`\^^M=5 -\fi \:CheckOption{[]} -\if:Option \else \:CheckOption{[[]]}\fi -\def\:temp{} -\if:Option - \def\:temp{\csname newdimen\endcsname\:BoxDepth} -\def\WindowTitle#1{{\leavevmode - \leftskip=0em \rightskip=0em - \parindent=0em \:BoxDepth=0.4pt - \setbox0=\hbox{#1}% - \advance\:BoxDepth by \dp0 - \advance\:BoxDepth by 0.4mm \raise -\:BoxDepth - \hbox{\vrule - \vbox{\hrule \vskip 0.4mm - \hbox{\hskip 0.4mm\relax #1\hskip 0.4mm}% - \vskip 0.4mm \hrule}% - \vrule}}} -\let\:ModifyShowCodeIII=\ModifyShowCode -\def\ModifyShowCode#1{\:ModifyShowCodeIII{#1}% - \def\PortTitle##1{\WindowTitle{\WindowTitle{##1}}}% - \def\:BackTitle{\hbox{---}}} -\fi \:temp \:CheckOption{[[]]} -\def\:temp{} -\if:Option - \let\:ShowCodeI=\:ShowCode -\def\:ShowCode#1{\par\:FrameCode{\:ShowCodeI{#1}}} -\def\:FrameCode#1{\vtop{% - \advance\hsize by -\leftskip - \noindent\vrule - \vtop{\leftskip=0pt \advance\hsize by -0.8pt - \hrule#1\hrule}\vrule}\vskip3pt minus1pt\relax} -\let\:ModifyShowCodeV=\ModifyShowCode -\def\ModifyShowCode#1{\:ModifyShowCodeV{#1}% - \let\PortTitle=\:PortTitleI - \def\:BottomTitle{}} -\def\:PortTitleI#1{{\parindent=0pt - \leftskip=0pt plus 0.5\hsize - \rightskip=\leftskip #1\par \vskip-1ex - \noindent\dotfill\null}} -\let\:ModifyShowLastCodeI=\ModifyShowLastCode -\def\ModifyShowLastCode#1{\:ModifyShowLastCodeI{#1}% - \advance\leftskip by -2em } -\fi \:temp \:CheckOption{list} \if:Option -\def\:show{% - \ifx \:title\empty \def\:show{\ShowCode-}% - \else \def\:show{\ShowCode}% - \fi \:show} -\fi - -\catcode`\-=13 \catcode`\+=13 \if:Option -\def\AfterCode#1{{% - \def-##1##2{\def\:title{##1}}% - \let+=\:ignoreII - #1\relax - \:show #1}} -\def\:ignoreII#1#2{} -\fi -\catcode`\-=12 \catcode`\+=12 - - \:CheckOption{enumerate} \def\:temp{} \if:Option - \def\:temp{\csname newcount\endcsname\:LineCount} - \let\:ModifyShowLastCode=\ModifyShowLastCode - \def\ModifyShowLastCode{\everypar={\:CountLines - {\it \:ShowLineCount \quad}}% - \let\:BottomTitleX=\:BottomTitle - \def\:BottomTitle{\everypar={}\:BottomTitleX}% - \:ModifyShowLastCode} - \def\ResetLineCount{ \global\:LineCount=0 } - \def\ShowLineCount{\def\:ShowLineCount{\ifnum\:LineCount<100 0\fi - \ifnum\:LineCount<10 0\fi - \the\:LineCount}} - \def\HideLineCount{\def\:ShowLineCount{}} - \def\ContLineCount{\def\:CountLines{\global\advance\:LineCount by 1 }} - \def\PauseLineCount{\def\:CountLines{}} - \ShowLineCount \ContLineCount - \def\TagLine[#1]{% - \edef\:temp{\noexpand\Tag\noexpand{C #1\noexpand}\noexpand{% - \the\:LineCount\noexpand}}\:temp} - \def\RefLine[#1]{\Ref{C #1}} - \let\:ModifyOutputCodeZ=\ModifyOutputCode - \def\ModifyOutputCode{\def\RefLine[##1]{}% - \def\TagLine[##1]{}\:ModifyOutputCodeZ} -\fi -\:temp \:CheckOption{ClearCode} -\if:Option - \gdef\:EraseCode{} - \def\ModifyCode#1{% - \let\clearcode:id=\clearcode::id - \def\:temp{\gdef\:EraseCode}% - \expandafter\expandafter\expandafter - \:temp\expandafter{\:EraseCode~#1}} - \def\ClearCode{{% - \def~##1{\global\let##1=\:undefined}% - \:EraseCode \:CodeNumber=\clearcode::id -\advance\:CodeNumber by 1 -\xdef\clearcode::id{\the\:CodeNumber } -}% - \gdef\:EraseCode{}} - \let\:ModifyShowCodeVI=\ModifyShowCode -\let\:AfterCodeI=\AfterCode -\let\:RefLineI=\RefLine -\let\:TagLineI=\TagLine -\def\ModifyShowCode#1{\:ModifyShowCodeVI{#1}% - \def\RefLine[##1]{{\def\clearcode:id{0}\:RefLineI[##1]}}% - \def\TagLine[##1]{{\def\clearcode:id{0}\:TagLineI[##1]}}% - \let\clearcode:id=\clearcode::id} -\def\AfterCode#1{\:AfterCodeI{#1}\def\clearcode:id{0}} -\ifx\clearcode:id\:UnDef - \gdef\clearcode:id{0} \gdef\clearcode::id{0} -\fi - -\fi\:CheckOption{LibCode} -\if:Option -\def\LibCode{\bgroup \catcode`\ =9 \catcode`\^^M=9 \catcode`\^^I=9 - \catcode`\,=13 \:LibCode} -\def\:LibCode[#1]{\catcode`\,=12 \:LibC[#1]} - \catcode`\,=13 \catcode`\^^M=13 -\def\:LibC[#1]#2(){\egroup % - \def,{ \noexpand\input\space}% - \edef\:LibFiles{\noexpand\:checkoption , #1 }% - \def\:next{\let\:xparms=\:parms % - \begingroup % - \let\LibCall=\:LibCall % - \def\AddLibCall####1{}% - \def\AddNestedLibCall####1{}% - \def\ifLibEnd{\csname ifx\endcsname\:parms\empty}% - \csname :LibFiles\endcsname \Comment{}{}% - \FreeCode\<\:TempFileName\> - \<\:TempFileName\><<< - \<lib code\> >>> % - \edef\:temp{\noexpand\OutputCodE - \noexpand\<\:TempFileName\noexpand\>}% - \:temp \input \:TempFileName % - \endgroup % - \::LibC }% - \def\:parms{#2}% - \let\:xparms=\empty \::LibC % - \let\:parms=\:UnDef \let\:xparms=\:UnDef}% -\def\LibTempFileName#1{\def\:TempFileName{#1}} -\LibTempFileName{lib.lib} - \catcode`\,=12 \catcode`\^^M=9 -\def\::LibC{% - \ifx \:parms\empty \let\:next=\relax - \else\ifx \:parms\:xparms \let\:next=\relax - \:warn{No code for \string\LibCode\space\:parms} - \fi\fi \:next} - -\def\LibShow#1{{\tt\par--- Include library component #1}} - -\def\:LibShow#1{% - \AddLibCall{#1}% - \LibShow{#1}} - -\def\:LibCall(#1,#2,#3){% - \xdef\:parms{% - (#1,#2,#3)% - \:parms}% - \def\temp{\global\let}% - \expandafter\temp\csname#2 \endcsname=\:LibShow - \gdef\:LibShow##1{% - \AddNestedLibCall{(#1,#2,#3)}% - \def\temp{\global\let\:LibShow=}% - \expandafter\temp\csname#2 \endcsname - }% -} - -\def\:checkoption{% - \def\:ShowCode##1{}% - \def\ProTexMssg##1{}% - % - \def\ifoption##1{% - \let\:rparms=\:parms - \def\parms{}% - \def\:lparms{}% - \def\:cond{##1}% - \def\:type{}% - \let\:next=\:ifoption \:next - \xdef\:parms{\:lparms\parms\:rparms}% - \csname ifx\endcsname \:type\:cond - \xdef\:parms{\:lparms\:rparms}% - \edef\:next{\noexpand\:LibShow{\parms}}% - \:next - }% - % - \def\:ifoption{% - \expandafter\:getoption\:rparms()% - \ifx \:type\:cond \let\:next=\relax \fi - \:next }% - % - \def\:getoption##1(){% - \def\:temp{##1}% - \ifx \:temp\empty \let\:next=\relax - \else \::getoption##1()\fi }% - % - \def\::getoption(##1,##2,##3)##4(){% - \edef\:lparms{\:lparms\parms}% - \def\parms{(##1,##2,##3)}% - \def\:rparms{##4}% - \def\:type{##2}}% -} -\fi\def\TextIndex#1{} \def\SecIndex#1{} -\def\ShowIndex{\:warn{\string\ShowIndex?}} - -\:CheckOption{ShowIndex} - -\def\:temp{} -\catcode`\-=13 \catcode`\+=13 - -\if:Option -\def\:temp{\csname newcount\endcsname \:IdxCount} -\def\:GetTrc{% - \immediate\read15 to \:x - \ifx \:PAR\:x \let\:GetTrc=\relax - \else \expandafter\:AddEntry\:x \fi - \:GetTrc} \def\:PAR{\par} - -\def\:AddEntry#1{\def\:cs{#1}\futurelet\:p\:RemoveField} -\def\:RemoveField{\ifx .\:p \def\:next##1 {\:AppendEntry} - \else \let\:next=\:AppendEntry \fi \:next} - -\def\:AppendEntry#1#2#3{\def\:y{#1}% - \ifx \:y\:NS \AppendCode\:idx{\endgroup - \:Section{#2}{#3}\begingroup}% - \expandafter\let\csname :idx\the\:IdxCount\endcsname=\:idx - \def\:temp{\Code\:idx{}}% - \expandafter\expandafter\expandafter\:temp\expandafter - {\csname :idx\the\:IdxCount\endcsname}% - \advance\:IdxCount by 1 - \else\ifx \:y\:V - \expandafter\ifx \csname :\:Title #2;;:\endcsname\relax - \expandafter\Code\csname :\:Title #2;;:\endcsname{}{\?{#2}}% - \fi - \expandafter\AppendCode\csname :\:Title #2;;:\endcsname{ #3}% - \:AddIdx{\csname :\:Title #2;;:\endcsname}% - \else - \edef\:cs{\expandafter\string\:cs.:} -\edef\:cs{\expandafter\noexpand\csname\:cs\endcsname} - \ifx \:y\:DT \expandafter\Code\:cs{}{\tr{#2}}% - \else\ifx \:y\:ST \expandafter\AppendCode\:cs{ \underbar{#3}}% - \:AddIdx{\:cs}% - \else\ifx \:y\:SC \expandafter\AppendCode\:cs{ #3}% - \:AddIdx{\:cs}% - \fi\fi\fi\fi\fi}\def\:AddIdx{% - \def\:y{\AppendCode\:idx}% - \expandafter\expandafter\expandafter\:y\expandafter} - -\def\SecIndex#1{{\let\:refout=\:trcfile \def\:TagCs{.}% - \Tag{section}{{#1};;}}} - -\def\TextIndex#1{{\let\:refout=\:trcfile \def\:TagCs{.}% - \Tag{user}{#1;;}}} - -\let\i:ModifyShowCode=\ModifyShowCode -\let\i:ModifyOutputCode=\ModifyOutputCode -\def\ModifyOutputCode{% - \ifx \:OpenCode\:UnDef \def\TextIndex##1{}% - \else \let\TextIndex=\Text:Index \fi - \i:ModifyOutputCode} -\def\ModifyShowCode{% - \ifx \:OpenCode\:UnDef \else \let\TextIndex=\::TextIndex \fi - \i:ModifyShowCode } -\let\:TextIndex=\TextIndex -\catcode`\[=1 \catcode`\{=12 \catcode`\]=2 \catcode`\}=12 -\def\::TextIndex{#1}[\:TextIndex[#1]] -\def\Text:Index{#1}[] -\catcode`\[=12 \catcode`\{=1 \catcode`\]=12 \catcode`\}=2 - -\def\:V{user} -\def\:DT{DefineTitle} \def\:ST{ShowTitle} \def\:SC{ShowCode} -\def\:NS{section} - -\def\:Title#1;;#2;;{#1} -\def\:TitleA#1;;#2;;{$\triangleleft\triangleleft$ #1 - $\triangleright\triangleright$} - -\def\:Index{\vfil\eject \Comment{}{}% - \immediate\closeout\:trcfile - \def\ModifyShowCode##1{}% - \def\ModifyAppendCode##1{}% - \def\ModifyFrontTitle##1{}% - \def\ModifyShowLastCode##1{##1}% - \def\AfterCode##1{}% - \def\:WriteTrc##1{}% - \let\:TraceDef=\:ignoreII - \def\:warn##1{}% - \def\:gobble##1{}% - \let\CodeId=\:ignoreII - \def\ModifyOutputCode##1{\def\:FileName{\jobname.xidx}}% - \Code\:idx{}{\BeforeIndex\begingroup}% - \:PauseIndex \immediate\openin15=\:jobname - \:GetTrc \AppendCode\:idx{\endgroup}% - {\def\?##1{\par\noindent{\tt\:Title ##1;;}\hfill}% - \def\tr##1{\par\noindent{\tt\:TitleA ##1;;}\hfill}% - \def\:Section##1##2{{\bf\smallskip\noindent{\:Title ##1;;}\hfill - ##2\smallskip}}% - \def\ModifyShowLastCode##1{% - \leftskip=0pt \rightskip=0pt - \def\:LastCode{\:idx}% - \:SetShowIndex}% - \let\:FrameCode=\empty - \expandafter \ShowCode\:minus\:idx }} - - -\def\:ignoreII#1#2{} - -\def\:SetShowIndex{\def-##1##2{\expandafter\def\csname - \expandafter\:gobble##2\endcsname{}}% - \def+##1##2{##1}} - -\def\BeforeIndex{} -\def\:PauseIndex{} -\def\PauseIndex{\def\PauseIndex{\immediate\read16 to \PressReturn}} -\def\ShowIndex{{% - \let\:SvCode=\Code - \def\Code##1{\ModifyCode{##1}\:SvCode##1}% - \ifx \::AddEntry\:undefined - \else \let\:AddEntry=\::AddEntry \fi - \:Index \global\let\:idx=\:undefined }% - \xdef\:jobname{\jobname.trc\the\pageno}% - \immediate\openout\:trcfile=\:jobname \relax } - -\xdef\:jobname{\jobname.trc} - \fi \catcode`\-=12 \catcode`\+=12 \:temp -\:CheckOption{title+} \if:Option - \def\:temp{\def\AlProTex} - \def\temp:{title,} - \expandafter\expandafter\expandafter\expandafter\expandafter - \expandafter\expandafter\:temp\expandafter\expandafter - \expandafter{\expandafter \temp:\AlProTex} -\fi -\:CheckOption{title} \if:Option - \def\:Name#1{<#1\string\>\endcsname} -\def\:DoName#1{\expandafter#1\csname\:Name} - -\def\<#1\>{\edef\CodeInputLineNo{\the\inputlineno}% - \:DoName\ifx{#1}\relax - \edef\:temp{\noexpand\Code\:DoName - \noexpand{#1}\noexpand{#1\noexpand}}% - \:DoName\let{#1}=\:undefined - \else \def\:temp{\:DoName\AppendCode{#1}}\fi\:temp} - - \catcode`\.=10 \catcode`\ =13 -\let\:ModifyShowCodeIV=\ModifyShowCode% -\def\ModifyShowCode{% -..\def\:gobble##1{}% -..\def\<##1\>{{\def {\space}% -...\:DoName\ifx{##1}\relax% -.....\let\AppendCode=\:gobble% -.....\:DoName\Code{##1}{##1}{}\fi% -..\csname\:Name{##1}}}\:ModifyShowCodeIV}% -\def\:OutputCodeI#1\<#2\>{% -...\let\:SaveSp= \def {}% -...\def\:temp{#2}% -...\ifx\:temp\empty.\def\:temp{ProTexOutput}% -...\else.\let\:temp=\empty.\fi% -...\expandafter\ifx.\csname.\:temp#2\endcsname\relax% -...\else.\immediate\write16{---.AlProTex. warning.---.% -......\string\OutputCode#1% -......\string\<#2\string\>\space.temporarily\space.% -......redefines.\:backslash#2}\fi% -...\edef\:FileName{\:temp#2}% -...\let =\:SaveSp% -...\expandafter\def\csname\:FileName\endcsname{\csname\:Name{#2}}% -...\def\:tempa{\:OutputCodeIV#1}% -...\expandafter\:tempa\csname\:FileName\endcsname% -..\endgroup}% -\catcode`\ =10\catcode`\.=12 - -\let\:OutputCodeIV=\OutputCode -\def\OutputCode{% - \begingroup - \def\<##1\>{\csname\:Name{##1}}% - \let\:WriteTrcI=\:WriteTrc \def\:gobble##1{}% - \def\:WriteTrc{\edef\:TagCs{\string\<\expandafter\expandafter - \expandafter\:gobble \:TagCs\string\>}% - \:WriteTrcI} - \catcode` =13 \:OutputCodeI} - -\def\OutputCodE\<#1.#2\>{{ - \:DoName\def{#1}{\<#1.#2\>} - \OutputCode[#2]\<#1\>}} - -\def\FreeCode\<#1\>{{% - \def\temp##1{\global\let##1=\:UnDefined}% - \:DoName\temp{#1}}} - -\def\ShowCode#1{% - \def\:test{#1}% - \ifx \:test\:minus \def\:next{\:iname\:ShowCode}\else - \def\:next{\:iname\:ShowCode#1}\fi - \:next} - -\def\:iname#1#2{\def\:next{#2}\def\:temp{\<}% - \ifx \:next\:temp - \def\:next##1\>{\expandafter#1\csname\:Name{##1}}\else - \def\:next{#1#2}\fi \:next} - -\def\::AddEntry#1{% - \ifx #1\< \let\:Next=\:AddEntryA - \else \def\:Next{\def\:cs{#1}\:AddEntryB}\fi - \:Next } - -\def\:AddEntryA#1\>{% - \edef\:cs{\expandafter\noexpand - \csname#1:.\endcsname}\:AddEntryB} - -\def\:AddEntryB{% - \futurelet\:p\:RemoveField}% - \def\:RemoveField{\ifx .\:p \def\:next##1 {\:AppendEntry}% - \else \let\:next=\:AppendEntry \fi \:next} - -\let\id:WriteTrc=\:WriteTrc -\def\:WriteTrc#1{% - \def\:temp{#1}\def\:tempa{ShowTitle}\ifx\:temp\:tempa - \expandafter\def\expandafter\:TagCs\expandafter - {\:TagCs.\the\:CodeNumber}% - \fi - \id:WriteTrc{#1}} - - \:CheckOption{macro} \if:Option -\let\:saveMusp=\> - -\def\>{\ifmmode \expandafter\:saveMusp \else \expandafter\:CodeMacro \fi } - -\def\:CodeMacro(#1)#2\<{% - \begingroup - \:getcodeprms(\string\1,\string\2,\string\3,\string\4,% - \string\5,\string\6,\string\7,\string\8,\string\9)% - \xdef\:temp{()#2}% - \endgroup - \def\:next{#1}% - \ifx\:next\empty - \expandafter\ifx\csname\:temp\space :<\endcsname\relax - \ifx\:EraseCode\:UnDef\else - \expandafter\:adderase \csname\:temp\space :<\endcsname - \fi - \else - \:warn{Redefine \string\>\:temp\string\<}% - \fi - \def\:next{\expandafter\:getpseducode - \csname\:temp\space :<\endcsname{#2}}% - \else - \begingroup - \:getcodeprms(#1,,,,,,,,,)% - \:protectcommands \ModifyIndirectCode{(#1)#2}% - \xdef\:next{\csname\:temp\space :<\endcsname}% - \endgroup - \fi - \:next} - -\def\:adderase#1{% - \def\:next{\gdef\:EraseCode}% - \expandafter\expandafter\expandafter\:next\expandafter{\:EraseCode~#1}% -} - -\def\:getpseducode#1#2{\begingroup - \:defaultcats - \ModifyAppendCode{}% - \:getpseducodeI#1{#2}} - -\def\:getpseducodeI#1#2#3{\endgroup - \def#1{\<#2\>{#3}}% -}% - -\def\:getpseducodeII{% - \ifx \:OpenCode\:UndDef - \else - \edef\:getpseducodeI{% - \def\noexpand - \:getpseducodeI####1####2####3\:OpenCode####4\:CloseCode{% - \endgroup - \def\noexpand\:temp{####3}% - \noexpand\ifx\noexpand\:temp\noexpand\empty - \def####1{\noexpand\<####2\noexpand - \>\:OpenCode####4\:CloseCode}% - \noexpand\else - \errmessage{\string\>()...\string - \<...?...\:OpenCode...\:CloseCode} - \let####1=\noexpand\:UnDef - \noexpand\fi - }% - }% - \:getpseducodeI - \fi - \let\:getpseducodeII=\:UndDef -} - \catcode`\ =13 \catcode`\^^M=13 \catcode`\^^I=13 - \catcode`\#=14 \catcode`\%=12 -\def\:protectcommands{# -\let\<=\relax# -\let\>=\relax# -\let\%=\csname# -\expandafter\let\%NL%\endcsname=\relax# -\let\%=\relax# -\let\ =\relax# -\let^^M=\relax# -\let^^I=\relax# -\ifx\TagLine\:UnDef\else\let\TagLine=\relax\fi# -\ifx\RefLine\:UnDef\else\let\RefLine=\relax\fi# -} - \catcode`\#=6 \catcode`\%=14 - \catcode`\ =10 \catcode`\^^M=9 \catcode`\^^I=10 - -\def\ModifyIndirectCode#1{} -\def\:getcodeprms(#1,#2,#3,#4,#5,#6,#7,#8,#9){% - \def\1{#1}% - \def\2{#2}% - \def\3{#3}% - \def\4{#4}% - \def\5{#5}% - \def\6{#6}% - \def\7{#7}% - \def\8{#8}% - \def\9##1,##2){\def\9{##1}}% - \9#9,)} \fi - \:CheckOption{title}\if:Option \def\TitleAlias#1#2{% - \expandafter\let\csname C\string#1\endcsname=\<% - \expandafter\let\csname O\string#1\endcsname=\OutputCode - \def\<##1\>{\def\:temp{##1}\def\:tempa{#2}% - \ifx \:temp\:tempa - \def\:temp{\csname C\string#1\endcsname#1\>}\else - \def\:temp{\csname C\string#1\endcsname##1\>}\fi \:temp} - \def\OutputCode##1\<##2\>{\def\:temp{##2}\def\:tempa{#2}% - \ifx \:temp\:tempa - \def\:temp{\csname O\string#1\endcsname##1\<#1\>}% - \else \def\:temp{\csname O\string#1\endcsname##1\<##2\>}\fi - \:temp}} - \fi -\fi -\:CheckOption{eline} -\catcode`\%=12 -\if:Option - \let\:ModifyOutputCodeJ=\ModifyOutputCode - \def\ModifyOutputCode{\def\:Ln{ %^^J}\:ModifyOutputCodeJ} -\fi \catcode`\%=14 -\:CheckOption{ShowFile} -\if:Option -\catcode`\^^I=13\catcode`\ =13\catcode`\^^M=13% -\def\:ObeyIn{\CodeFont\parindent=0pt% - \parskip=0pt\everypar{}% - \:NoSpecials{12}{0}{255}\catcode`\ =13% - \catcode`\^^M=13\catcode`\^^I=13% - \def^^M{\leavevmode\par}\def^^I{ }% - \def {\leavevmode\:Sp}}% -\catcode`\^^M=5\catcode`\ =10\catcode`\^^I=10 - -\def\ShowFile#1{{\:ObeyIn \openin15=#1 - \ifeof15 \:warn{\string\ShowFile{#1}?}\else - \input #1 \fi \closein15 }} -\else \def\ShowFile#1{\:warn{\string\ShowFile?}} -\fi\let\Note=\empty \let\EndNote=\empty - -\:CheckOption{NoShow} \if:Option - \let\:svShowCode=\:ShowCode - \def\ShowOn{\let\Note=\empty - \let\:ShowCode=\:svShowCode} - \def\ShowOff{\let\Note=\:NoShow - \def\:ShowCode##1{}} - \def\:NoShow{\begingroup - \:NoSpecials{11}{0}{255}\:EndNoShow} - \catcode`\/=0 \catcode`\\=11 - /def/:EndNoShow#1\EndNote{/endgroup} - /catcode`/\=0 /catcode`//=12 -\fi\:CheckOption{ShowTop} -\catcode`\-=13 \catcode`\+=13 -\if:Option -\def\:ShowTop#1{{\par - \def\ModifyFrontTitle##1{\def\:AppendSign{}}% - \def\ModifyShowLastCode##1{\let\:save=-% - \def\:LastCode{#1}% - \def-####1####2{\let-=\:save}% - \def+####1####2{{\ShowSep\let+=\:ignoreII ####1}}}% - \ShowCode#1}} - -\def\ShowSep{} -\def\ShowTop{\:iname\:ShowTop} -\def\:ignoreII#1#2{} -\def\:iname#1#2{\def\:next{#2}\def\:temp{\<}% - \ifx \:next\:temp - \def\:next##1\>{\expandafter#1\csname\:Name{##1}}\else - \def\:next{#1#2}\fi \:next} -\fi -\catcode`\-=12 \catcode`\+=12 -\def\LinkPort{\:HRefCode{)\clearcode:id P:}} -\def\LinkWindow{\:HRefCode{)\clearcode:id Z:}} -\def\:HRefCode#1\<#2\>{} -\:CheckOption{info} \if:Option - \let\inf:ModifyOutputCode=\ModifyOutputCode - \def\ModifyOutputCode#1{% - \inf:ModifyOutputCode{#1}% - \expandafter\ifx \csname \Extension :cdinfo\endcsname \relax \else - \edef\:FileName{\:FileName}% - \expandafter\expandafter\csname \Extension :cdinfo\endcsname - \:FileName!*?: % - \fi } - \def\CodeInfo{\futurelet\:temp\cd:inf} - \edef\cd:inf{\noexpand\ifx [\noexpand\:temp - \let\noexpand\:temp=\noexpand\cdi:nf - \noexpand\else \def\noexpand\:temp{\noexpand\cdi:nf - [\:InitAlProTex]}\noexpand\fi - \noexpand\:temp} - \def\cdi:nf[#1]{\expandafter\def\csname - #1:cdinfo\endcsname##1.##2!*?: } -\fi - -\ifx \HCode\:UnDef \ifx \Htmltrue\:UnDef - \def\:temp{\csname newif\endcsname} - \expandafter\:temp \csname ifHtml\endcsname \Htmlfalse -\fi - -\def\EndLink{\ifx \empty:lnk\empty \HCode{</\tag:A>}\fi} -\def\:HRef{\ifx [\:temp \expandafter\::HRef - \else \expandafter\:::HRef \fi } -\def\HT:tag{\ifx -\let:val \expandafter\H:Tag - \else \expandafter\HTa:g\fi } -\def\HTa:g{\H:Tag-} -\def\Link{\let\:attr\empty \futurelet\let:val\HRefT:ag} -\def\HRefT:ag{\ifx -\let:val \expandafter\H:RefTag - \else \expandafter\HRefTa:g\fi } -\def\HRefTa:g{\H:RefTag-} -\def\H:RefTag#1{\futurelet\:temp\:HRefTag} -\def\:HRefTag{\ifx [\:temp \expandafter\::HRefTag - \else \expandafter\:::HRefTag \fi } - -\def\HCode#1{} -\def\H:Tag#1#2{} -\def\::HRef[#1]#2{} -\def\:::HRef#1{} -\def\::HRefTag[#1]#2#3{} -\def\:::HRefTag#1#2{} -\def\:TagHTag#1{} - - - \fi -\:CheckOption{html} - \if:Option \else \:CheckOption{xhtml}\fi -\if:Option - \def\WindowTitle#1{\leavevmode\hbox{% - \disable: - \expandafter\ifx\csname \clearcode:id W-#1\endcsname\relax - \let \:temp=\empty -\else - \edef\:temp{ \HREF:"\expandafter\get:href - \csname \clearcode:id W-#1\endcsname -"}% -\fi -\html:addr -\HCode{<\tag:A\:newlnch \NAME:"\expandafter\get:htag\last:haddr -"\:temp - >}\ttl:del{<.}\HCode{</\tag:A>}% -\expandafter\expandafter\expandafter\global\expandafter\let - \csname \clearcode:id W-#1\endcsname=\last:haddr -% - \expandafter\ifx\csname \clearcode:id :cw:#1\endcsname\relax - \expandafter\expandafter\expandafter\global - \expandafter\def\csname \clearcode:id :cw:#1\endcsname{0}% - \Tag{)\clearcode:id Z:#1}{\last:haddr}% -\fi -\frag:href{)\clearcode:id P:#1}{}#1\HCode{</\tag:A>}% -% - \:nextlink{\clearcode:id :cw:#1}{.>}% -% - }} -\def\disable:{\let\rm=\empty \let\tt=\empty - \let\sl=\empty \let\bf=\empty \let\it=\empty } -\def\frag:href#1#2{% - \HCode{<\tag:A\:newlnch \HREF:"% - \expandafter\ifx \csname cw:#1\endcsname \relax - \expandafter\get:href\last:haddr -% - \else - \expandafter\expandafter\expandafter\get:href\csname - cw:#1\endcsname -% - \fi -"#2>}} -\def\html:PortTitle#1{\hbox{% - \disable: - \bgroup \def\:Sp{\space}% - \html:addr - \ifx\:AppendSign\empty - \HCode{<\tag:A\:newlnch \NAME:"\get:htag\last:haddr-">}% - \expandafter\expandafter\expandafter\global\expandafter\edef - \csname \clearcode:id 9:#1\endcsname{0}% - \else - \HCode{<\tag:A\:newlnch \HREF:"\expandafter\get:href - \csname \space\clearcode:id P:#1\endcsname-" - \NAME:"\get:htag\last:haddr-">}% - \fi - \ttl:del{<..}\HCode{</\tag:A>}% - \expandafter\expandafter\expandafter\global\expandafter\let - \csname \space\clearcode:id P:#1\endcsname=\last:haddr -\egroup -% - \bgroup \def\:Sp{\space}% - \ifx\:AppendSign\empty - \Tag{)\clearcode:id P:#1}{\last:haddr}% - \fi - \frag:href{)\clearcode:id Z:#1}{\ifx \:LastCodeLabel\empty \else - \expandafter\html:codeid\:LastCodeLabel</\tag:A>\fi -% -}% -\egroup -#1\HCode{</\tag:A>}% -% - \:nextlink{\clearcode:id 9:#1}{..}% -% - }} -\def\:HRefCode#1\<#2\>{{% - \let\clearcode:id=\clearcode::id - \expandafter\ifx\csname - cw:#1#2\endcsname\relax - \HCode{<\tag:A>}\else - \HCode{<\tag:A\:newlnch \HREF:"}\expandafter\get:href - \csname cw:#1#2\endcsname - -\HCode{">}% - \fi}} -\def\:nextlink#1#2{% - \bgroup \def\:Sp{\space}% - \def\:lbl{)\the\tmp:cnt :#1}% - \tmp:cnt=\csname #1\endcsname\space - \html:addr - \Tag{\:lbl}{\last:haddr}% - \advance\tmp:cnt by 1\space - \expandafter\xdef\csname #1\endcsname{\the\tmp:cnt}% - \expandafter\ifx\csname cw:\:lbl\endcsname\relax - \HCode{<\tag:A\:newlnch - \NAME:"\expandafter\get:htag\last:haddr-">}% - \else - \HCode{<\tag:A\:newlnch - \NAME:"\expandafter\get:htag\last:haddr-"\space - \HREF:"\expandafter\expandafter\expandafter - \get:href\:LikeRef{\:lbl}-">}% - \fi - \ttl:del{#2>}\HCode{</\tag:A>}% - \egroup -} -\def\:LikeRef#1{\csname cw:#1\endcsname} -\let\html:ShowCode=\ShowCode -\def\ShowCode{\par \html:ShowCode} -\let\html:ModifyShowCode=\ModifyShowCode -\def\ModifyShowCode#1{% - \def\%##1\%{\c:protex##1\d:protex}% - \html:ModifyShowCode{#1}% - \let\PortTitle=\html:PortTitle - \let\:FrontTitle=\frnt:ttl - \def\:BackTitle{\b:protex\par}% - \let\:CodeSkip=\empty - \def\:TopTitle##1{{\:FrontTitle{##1}}}% - \def\:BottomTitle{\:BackTitle}% - \let\html:ModifyShowLastCode=\ModifyShowLastCode -\ifx\:ModifyShowLastCode\:UnDeF \def\:CntLines##1{}\else - \def\:CntLines{\:CountLines}\fi -\def\ModifyShowLastCode##1{% - \ifx \:test\:minus - \def\:CodeSkip{{\par\parindent=0pt\leftskip=0pt - \everypar{}\b:protex\par}% - \global\:removeindenttrue}% - \leavevmode\a:protex\par - \else \global\:removeindenttrue \fi - \html:ModifyShowLastCode{##1}% - \everypar{\e:protex \:CntLines {\it \:ShowLineCount \quad}}% -}% -\f:protex -% - } -\def\frnt:ttl#1{{\htmlprotex:par - {\expandafter\ifx \csname ListCounter\endcsname\relax - \else \:removeindentfalse \fi \leavevmode}% - \PortTitle{#1}\:AppendSign}\a:protex - }% -\def\a:protex{% -% \ifvmode \csname IgnorePar\endcsname -% \else \hfil\break\fi -% \csname EndP\endcsname - \HCode{\ifx \:test\:minus \else <br />\fi - \html:src<span class="ShowCode" - style="font-family:monospace;white-space:nowrap;" - >\html:invisible}% - \nobreak % \hskip\leftskip \hskip\parindent -} -\def\b:protex{\HCode{\html:BackTitle\html:src</span>}} -\def\e:protex{\HCode{<br />\html:invisible}} -\def\c:protex{\HCode{<i>}} -\def\d:protex{\HCode{</i>}} -\def\f:protex{\def\:Sp{\HCode{\string }}} -\long\def\c:ShowCode:#1#2#3#4#5#6{\def\a:protex{#1}% - \def\b:protex{#2}\def\e:protex{#3}\def\c:protex{#4}% - \def\d:protex{#5}\def\f:protex{\def\:Sp{#6}}} -\def\L:Del{<..} -\def\l:Del{<.} -\def\R:Del{..>} -\def\ttl:del#1{\def\:tempa{#1}% - \ifx \:tempa\L:Del \L:del - \else \ifx \:tempa\l:Del \l:del - \else \ifx \:tempa\R:Del \R:del - \else \r:del \fi\fi\fi} -\def\HShowCode#1#2#3#4#5{% - \def\:temp{#1#2}\ifx \:temp\empty \else - \def\L:del{#1}\def\R:del{#2}\fi - \def\:temp{#3#4}\ifx \:temp\empty \else - \def\l:del{#3}\def\r:del{#4}\fi - \def\:temp{#5}\ifx \:temp\empty \else - \def\html:BackTitle{#5}\fi -} -\bgroup -\catcode`\_=12 -\gdef\:temp{\HShowCode{<..}{..>}{<.}{.>}{-_-_-}} \aftergroup\:temp -\egroup -\let\html:ProTexMssg=\ProTexMssg -\def\ProTexMssg{% - {\let\:gobble=\empty\def\:TagCs{\:FileName}\:WriteTrc{FileName}}% - \html:ProTexMssg } -\catcode`\^^I=13\catcode`\ =13\catcode`\^^M=13% -\def\:ObeyIn{\CodeFont\parindent=0pt% - \parskip=0pt\everypar{}% - \:NoSpecials{12}{0}{255}\catcode`\ =13% - \catcode`\^^M=13\catcode`\^^I=13% - \def^^M{\leavevmode\e:protex\par}\def^^I{ }% - \def {\leavevmode\:Sp}}% -\catcode`\^^M=5\catcode`\ =10\catcode`\^^I=10 - -\def\ShowFile#1{{\:ObeyIn \openin15=#1 - \ifeof15 \:warn{\string\ShowFile{#1}?}\else - \a:ShowFile\input #1 \b:ShowFile \fi \closein15 }} -\def\a:ShowFile{\ifvmode \csname IgnorePar\endcsname\fi - \csname EndP\endcsname - \HCode{<div class="ShowFile" - style="font-family:monospace;white-space:nowrap;" - >\html:src\html:invisible}\hfill\break - \f:protex } -\def\b:ShowFile{\HCode{</div>\html:src}} -\long\def\c:ShowFile:#1#2{\def\a:ShowFile{#1}\def\b:ShowFile{#2}} -\def\html:codeid#1Q#2"#3</\tag:A>{ \NAME: - "Q#2"} -\ifx \aXrefFile\:UnDef \let\aXrefFile=\empty \fi - -\def\CodeId#1#2{\expandafter\ifx - \csname cw:)F\aXrefFile \file:id - \empty F-\endcsname\relax - \else\:LikeRef{)F\aXrefFile \file:id\empty F-}\fi - \:sharp Q\make:addr{#2}"#1% - \ifx \CodeInputLineNo\:UnDef \the\inputlineno \else \CodeInputLineNo\fi} -\let\showttl:WriteTrc=\:WriteTrc -\def\:WriteTrc#1{% - \def\:temp{#1}\def\:tempa{ShowCode}\ifx\:temp\:tempa - \def\:TagCs{\expandafter\trc:shw\:LastCodeLabel\trc:shw}% - \else \ifx \id:WriteTrc\:Undef - \def\:tempa{ShowTitle}\ifx\:temp\:tempa - \expandafter\def\expandafter\:TagCs\expandafter - {\:TagCs.\the\:CodeNumber}% - \fi \fi \fi - \showttl:WriteTrc{#1}} -\def\trc:shw#1"#2\trc:shw{#2 "#1"} -\def\HREF:{ href=} -\def\tag:A{a} -\def\NAME:{ name=} -\def\make:addr#1{% - \ifnum\clearcode:id>0 \romannumeral\clearcode:id Q\else PrTx\fi - #1} -\ifx\clearcode:id\:UnDef - \def\clearcode::id{0} \def\clearcode:id{0} -\fi -\ifx \html:par\:UnDef \def\html:par{\HCode{<p>}} \fi -\def\html:invisible{<!--x-->\string } -\expandafter\ifx\csname htmlprotex:par\endcsname\relax - \ifx\:removeindenttrue\:UnDef - \def\:removeindenttrue{\let\:Undef=\:Undef} - \fi - \def\htmlprotex:par{{\everypar{}\csname - HtmlPar\endcsname}\HCode{\html:src}} -\fi -\ifx\html:addr\:UnDeF - \immediate\write16{--- needs --- tex4ht \jobname\space ---}% -\ifx\tmp:cnt\:UnDeF \csname newcount\endcsname\tmp:cnt \fi -\def\g:advance#1{\bgroup \def\:temp{#1}% - \tmp:cnt=#1\afterassignment\:gplus \advance\tmp:cnt} -\def\:gplus{\expandafter\xdef\:temp{\the\tmp:cnt}\egroup} -\def\html:lbl{1} -\def\html:addr{\xdef\last:haddr{\file:id-\html:lbl}% - \g:advance\html:lbl by 1\relax } -\ifx \file:id\:UnDef - \gdef\file:id{1} - \global\let\maxfile:id=\file:id -\fi -\hbadness=10000 \vbadness=10000 -\:CheckOption{fussy} \if:Option \else - \hfuzz=99in \vfuzz=\hfuzz -\fi -\hyphenpenalty=1000 \exhyphenpenalty=1000 -\def\html:rightskip{\rightskip = 0pt plus 0.5\hsize minus0.5\hsize } -\html:rightskip -\ifx \documentstyle\:UnDef - \footline={\hfil} \headline={\hfil} -\fi -\ifx \ht:special\:UnDef - \let\ht:special=\special -\fi -\def\HCode#1{\ifx \EndPicture\:UnDef - \ifvmode\leavevmode\fi\ht:special{t4ht=#1}\fi} -\let\:HCode=\HCode -\def\NewLineChar{\bgroup \catcode`\^=7 \:NewLineChar} -\def\:NewLineChar#1{\egroup \def\:newlnch{ #1}} -\NewLineChar{^^J} -\def\::HRef[#1]{\get:attr{#1}\::hRef\:::HRef} -\def\::HRefTag[#1]{\get:attr{#1}\::hRefTag\:::HRefTag} -\def\get:attr#1{\edef\:attr{\noexpand\get:atr #1 !*?: }\:attr} -\def\get:atr#1 #2!*?: #3#4{\def\:attr{\space#2}% - \def\:te:mpa{#1}\ifx \:te:mpa\empty \let\:te:mpa#4\else - \def\:te:mpa{#3[#1]}\fi \:te:mpa} -\def\H:Tag#1#2{\:TagHTag{#2}\HCode{<\tag:A\:newlnch - \NAME:"#2"\empty:lnk>}} -\def\::hRef[#1]#2{% - \HCode{<\tag:A\:newlnch \if\relax#1#2\relax \NOHREF: \else - \HREF:"#1\if\relax#1\relax \else\:sharp #2\fi"\fi - \:attr \empty:lnk>}} -\def\:::HRef#1{% - \HCode{<\tag:A\:newlnch \if\relax#1\relax \NOHREF: \else - \HREF:"\get:hfile{#1}\:sharp #1"\fi \:attr \empty:lnk>}} -\def\::hRefTag[#1]#2#3{% - \if\relax#3\relax\else\:TagHTag{#3}\fi - \HCode{<\tag:A\:newlnch \if\relax#1#2\relax \NOHREF: \else - \HREF:"#1\if\relax#2\relax \else\:sharp #2\fi"\fi - \if\relax#3\relax\else\space \NAME:"#3"\fi - \:attr \empty:lnk>}} -\def\:::HRefTag#1#2{% - \if\relax#2\relax\else\:TagHTag{#2}\fi - \HCode{<\tag:A\:newlnch \if\relax#1\relax \NOHREF: - \else\HREF:"\get:hfile{#1}\:sharp #1"\fi - \if\relax#2\relax\else\space \NAME:"#2"\fi - \:attr \empty:lnk>}} -\let\empty:lnk=\empty -\let\NOHREF:=\space -\def\:TagHTag#1{\ifx -\let:val\else \Tag{)Q\aXrefFile #1}{\file:id}\fi} -\def\get:href{\expandafter\get::href} -\def\get::href#1-#2-{\ifnum #1=\file:id\space \else - \:LikeRef{)F\aXrefFile #1\empty F-}\fi - \:sharp \make:addr{#2}} -\def\get:htag{\expandafter\get::htag} -\def\get::htag#1-#2-{\make:addr{#2}} -\ifx \aXrefFile\:UnDef \let\aXrefFile=\empty \fi - -\def\get:hfile#1{% - \expandafter\ifx\csname - cw:)Q\aXrefFile #1\endcsname\relax - \get@hfile{#1}% - \else - \expandafter\expandafter\expandafter\get::hfile - \csname cw:)Q\aXrefFile #1\endcsname,//% - \fi } -\def\get::hfile#1,#2//{% - \ifnum \file:id=0#1 \else - \expandafter\ifx - \csname cw:)F\aXrefFile #1% - \empty F-\endcsname\relax \else - \:LikeRef{)F\aXrefFile #1\empty F-}% -\fi % - \fi } -\ifx\get@hfile\:Undef \let\get@hfile=\:gobble \fi - \let\html:src=\empty -\catcode`\#=12 \def\:sharp{#} \catcode`\#=6 - - \Htmltrue -\fi - - -\fi\:CheckOption{_^} \if:Option -\def\du:cc{\catcode`\_=13 \catcode`\^=13 \let\du:cc=\:UnDef} -\let\:sub=_ \let\:sup=^ -\catcode`\_=13 \catcode`\^=13 -\def_{\ifmmode \:sub \else \string_\fi} -\def^{\ifmmode \:sup \else \string^\fi} -\:CheckOption{html} - \if:Option \else \:CheckOption{xhtml}\fi -\if:Option - \append:def\SUBOn{\def_{\ifmmode \:sub \else \string_\fi}} - \append:def\SUPOn{\def^{\ifmmode \:sup \else \string^\fi}} -\fi - - \fi\:CheckOption{pdf} -\if:Option - \ifx \hyper:link\:UnDef \let\:temp=\hyper:target -\else \let\:temp=\:UnDef \fi - \ifx \:temp\:UnDef -\def\hyper:link{\hyperlink} -\def\hyper:target{\hypertarget} -\def\:temp{\ifx\pdfstartlink\:UnDef - \let\pdfstartlink\pdfannotlink - \fi - \ifx \pdfstartlink\:UnDef - \long\def\hyper:target##1##2{\special - {html:<a name="##1">}\special{html:</a>}}% - \long\def\hyper:link##1##2{\special - {html:<a href="##1">}##2\special{html:</a>}}% - \else - \long\def\hyper:target##1##2{\pdfdest name {##1} xyz}% - \long\def\hyper:link##1##2{% - \leavevmode \pdfstartlink goto name {##1}##2\pdfendlink } % - \fi -} -\ifx \hyperlink\:UnDef \:temp -\else \ifx \hypertarget\:UnDef \:temp \fi \fi - \fi -\let\hyper::WindowTitle=\WindowTitle -\def\WindowTitle#1{\bgroup - \def\WindowTitle##1{##1}% - \xdef\:temp{\noexpand\H:WindowTitle{#1}}\egroup \:temp} - -\def\H:WindowTitle#1{\leavevmode\hbox{% - \expandafter\ifx\csname \clearcode:id W-#1\endcsname\relax - \ttl:del{<.}% - \else - \hyper:link{\expandafter\get:href - \csname \clearcode:id W-#1\endcsname -}{\ttl:del{<.}}% - \fi - \html:addr - \hyper:target{\expandafter\get:htag\last:haddr -}{}% - \expandafter\expandafter\expandafter\global\expandafter\let - \csname \clearcode:id W-#1\endcsname=\last:haddr - \expandafter\ifx\csname \clearcode:id :cw:#1\endcsname\relax - \expandafter\expandafter\expandafter\global - \expandafter\def\csname \clearcode:id :cw:#1\endcsname{0}% - \Tag{)\clearcode:id Z:#1}{\last:haddr}% - \fi - \def\:temp##1{\leavevmode \hbox{$\triangleleft - \triangleleft$}~##1~\hbox{$\triangleright \triangleright$}}% - \ifx \:temp \hyper::WindowTitle \def\hyper::WindowTitle##1{~##1~}\fi - \hyper::WindowTitle{\frag:href{)\clearcode:id P:#1}{#1}}% - \:nextlink{\clearcode:id :cw:#1}{.>}% - }} -\let\hyper::ModifyShowCode=\ModifyShowCode -\def\ModifyShowCode#1{% - \hyper::ModifyShowCode{#1}% - \let\H:PortTitle=\PortTitle - \let\PortTitle=\hyper::PortTitle - } -\let\hyper::PortTitle=\PortTitle -\def\hyper::PortTitle#1{\hbox{% - \bgroup - \html:addr - \hyper:target{\get:htag\last:haddr-}{}% - \ifx\:AppendSign\empty - \expandafter\expandafter\expandafter\global\expandafter\edef - \csname \clearcode:id 9:#1\endcsname{0}% - \ttl:del{<..}% - \else - \hyper:link{\expandafter\get:href - \csname \space\clearcode:id P:#1\endcsname-}{\ttl:del{<..}}% - \fi - \expandafter\expandafter\expandafter\global\expandafter\let - \csname \space\clearcode:id P:#1\endcsname=\last:haddr - \egroup - \bgroup - \ifx\:AppendSign\empty - \Tag{)\clearcode:id P:#1}{\last:haddr}% - \fi - \def\:temp##1{\leavevmode \hbox{$\triangleright - \triangleright$}~##1~\hbox{$\triangleleft \triangleleft$}}% - \ifx \:temp\H:PortTitle \def\H:PortTitle##1{~##1~}\fi - \H:PortTitle{\frag:href{)\clearcode:id Z:#1}{#1}}% - \egroup - \:nextlink{\clearcode:id 9:#1}{..}% -}} -\def\frag:href#1#2{% - \hyper:link{% - \expandafter\ifx \csname cw:#1\endcsname \relax - \expandafter\get:href\last:haddr -% - \else - \expandafter\expandafter\expandafter - \get:href\csname cw:#1\endcsname -% - \fi}{#2}} -\def\:nextlink#1#2{% - \bgroup \def\:Sp{\space}% - \def\:lbl{)\the\tmp:cnt :#1}% - \tmp:cnt=\csname #1\endcsname\space - \Tag{\:lbl}{\last:haddr}% - \advance\tmp:cnt by 1\space - \expandafter\xdef\csname #1\endcsname{\the\tmp:cnt}% - \expandafter\ifx\csname cw:\:lbl\endcsname\relax - \ttl:del{#2}% - \else - \hyper:link{\expandafter\expandafter\expandafter - \get:href\:LikeRef{\:lbl}-}{\ttl:del{#2}}% - \fi - \egroup -} -\let\:sharp=\empty \def\clearcode::id{0} \def\clearcode:id{0} -\def\file:id{1} -\def\get:href{\expandafter\get::href} -\def\get::href#1-#2-{\ifnum #1=\file:id\space \else - \:LikeRef{)F\aXrefFile#1\empty F-}\fi - \:sharp \make:addr{#2}} -\def\get:htag{\expandafter\get::htag} -\def\get::htag#1-#2-{\make:addr{#2}} -\def\get:hfile#1{% - \expandafter\ifx\csname - cw:)Q\aXrefFile#1\endcsname\relax - \get@hfile{#1}% - \else - \expandafter\expandafter\expandafter\get::hfile - \csname cw:)Q\aXrefFile#1\endcsname,//% - \fi } -\ifx \aXrefFile\:UnDef \let\aXrefFile=\empty \fi -\def\get::hfile#1,#2//{% - \ifnum \file:id=0#1 \else - \expandafter\ifx - \csname cw:)F\aXrefFile#1% - \empty F-\endcsname\relax \else - \:LikeRef{)F\aXrefFile#1\empty F-}% -\fi % - \fi } -\ifx\get@hfile\:Undef \let\get@hfile=\:gobble \fi -\def\L:Del{<..} -\def\l:Del{<.} -\def\R:Del{..>} -\def\ttl:del#1{\def\:tempa{#1}% - \ifx \:tempa\L:Del \L:del - \else \ifx \:tempa\l:Del \l:del - \else \ifx \:tempa\R:Del \R:del - \else \r:del \fi\fi\fi} -\def\HShowCode#1#2#3#4#5{% - \def\:temp{#1#2}\ifx \:temp\empty \else - \def\L:del{#1}\def\R:del{#2}\fi - \def\:temp{#3#4}\ifx \:temp\empty \else - \def\l:del{#3}\def\r:del{#4}\fi - \def\:temp{#5}\ifx \:temp\empty \else - \def\html:BackTitle{#5}\fi -} -\HShowCode{$\triangleleft\triangleleft$} - {$\triangleright\triangleright$} - {$\triangleright\triangleright$} - {$\triangleleft\triangleleft$} {} -\ifx\tmp:cnt\:UnDeF \csname newcount\endcsname\tmp:cnt \fi -\def\g:advance#1{\bgroup \def\:temp{#1}% - \tmp:cnt=#1\afterassignment\:gplus \advance\tmp:cnt} -\def\:gplus{\expandafter\xdef\:temp{\the\tmp:cnt}\egroup} -\def\html:lbl{1} -\def\html:addr{\xdef\last:haddr{\file:id-\html:lbl}% - \g:advance\html:lbl by 1\relax } -\def\make:addr#1{% - \ifnum\clearcode:id>0 \romannumeral\clearcode:id Q\else PrTx\fi - #1} - -\def\:LikeRef#1{\csname cw:#1\endcsname} - -\fi \def\AlProTex{\:warn{AlProTex already loaded}} -\let\:InitAlProTex=\:undefined -\let\:CheckOption=\:undefined -\let\:GetOptions=\:undefined - -\def\:temp{ \let\:temp=\:undefined - \csname :notex\endcsname \csname :getpseducodeII\endcsname - \endinput} -\:RestoreCatcodes -\csname :temp\endcsname - diff --git a/Master/texmf-dist/tex/generic/dratex/AlDraTex.sty b/Master/texmf-dist/tex/latex/dratex/AlDraTex.sty index 505aa496425..dc44afbcab9 100644 --- a/Master/texmf-dist/tex/generic/dratex/AlDraTex.sty +++ b/Master/texmf-dist/tex/latex/dratex/AlDraTex.sty @@ -14,8 +14,8 @@ % with a directive of the form % % \message{signature} % % % -% gurari@cis.ohio-state.edu % -% http://http://www.cis.ohio-state.edu/~gurari/ % +% gurari@cse.ohio-state.edu % +% http://http://www.cse.ohio-state.edu/~gurari/ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \expandafter\edef\csname :RestoreCatcodes\endcsname{% \catcode`\noexpand\noexpand\noexpand \^=\the\catcode`\^% @@ -47,7 +47,8 @@ \def\:DefineExt#1{% \Define#1{\begingroup \:DraCatCodes \csname .:\string#1\endcsname}% - \expandafter\Define\csname .:\string#1\endcsname}\IntVar\:C \IntVar\:Ca + \expandafter\Define\csname .:\string#1\endcsname} +\IntVar\:C \IntVar\:Ca \IntVar\:Cb \IntVar\:Cc \newtoks\:tk \DecVar\Va \DecVar\Vb \DecVar\:Vc \DecVar\:Vd \DecVar\:Ve @@ -391,10 +392,12 @@ \IF \LtDec(\:C,\:Vd) \THEN \:C+1; \FI \IF \LtInt(\:C,0) \THEN \edef\:GrdLn{ - \ifx\:AddBarDepth\:AddBarDp\:HflipMY{\noexpand\Move}(-\:HBarx,\:VBarx) \fi + \ifx\:AddBarDepth\:AddBarDp\:HflipMY{\noexpand\Move}(-\:HBarx,\:VBarx) + \fi { \noexpand\:BsLn } \:GrdLn { \PenSize(\:TicTh) - \noexpand\Do(-1,\Val\:C){ \:Hflip{\noexpand\Move}(0,-\:BarGrdDist) + \noexpand\Do(-1,\Val\:C){ + \:Hflip{\noexpand\Move}(0,-\:BarGrdDist) { \:HflipMY{\noexpand\Line}(10,0) } }} } \:GridLoc(Min) @@ -1608,7 +1611,7 @@ \FI \FI \:GridEntries} - \Define\:GridEntries{\begingroup \:Spaces \::GridEntries} + \Define\:GridEntries{\begingroup\:Spaces\::GridEntries} \Define\::GridEntries(1){\endgroup \:bgDiTags @@ -1676,7 +1679,8 @@ \immediate\write16{\Val\:C..\Val\:Ca\space\space\the\:tk}}} \:GetEntrySizeA(#1,) \FI }\Define\:GetEntrySizeA(3){ \def\:Temp{\:tk=} \:AddBaseEdges(#3) - \:PolyShapes(0,99){\:GetEntrySizeB(#1,#2)}} \Define\:Temp{ + \:PolyShapes(0,99){\:GetEntrySizeB(#1,#2)}} + \Define\:Temp{ \def\:GetEntrySizeB(##1,##2)(##3,##4){ \IF \EqText(,##2) \THEN \ELSE \IF \EqText(##1,##3) \THEN diff --git a/Master/texmf-dist/tex/generic/dratex/DraTex.sty b/Master/texmf-dist/tex/latex/dratex/DraTex.sty index 31cc870ae73..2a3f3e1e584 100644 --- a/Master/texmf-dist/tex/generic/dratex/DraTex.sty +++ b/Master/texmf-dist/tex/latex/dratex/DraTex.sty @@ -1,4 +1,4 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% v 1.5 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% v 1.6 % DraTex % % Copyright (C) 1992 by Eitan M. Gurari % % % @@ -14,8 +14,8 @@ % with a directive of the form % % \message{signature} % % % -% gurari@cis.ohio-state.edu % -% http://www.cis.ohio-state.edu/~gurari % +% gurari@cse.ohio-state.edu % +% http://www.cse.ohio-state.edu/~gurari % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \expandafter\edef\csname :RestoreCatcodes\endcsname{% \catcode`\noexpand\noexpand\noexpand \^=\the\catcode`\^% @@ -80,6 +80,12 @@ \:Opt(){\:Define#1}0} \def\:DraCatCodes{\catcode`\ 9 \catcode`\^^M9 + \expandafter\ifx \csname ;catcode\endcsname\relax % + \expandafter\edef \csname ;catcode\endcsname{% + \catcode`;\the\catcode`\;}% +\fi % +\catcode`;12 % +% \catcode`\^^I9 \catcode`\&13 \catcode`\~13 } \def\:Define#1(#2){\begingroup \:DraCatCodes \::Define#1(#2)} @@ -258,7 +264,8 @@ \def\:DefineData#1#2{\endgroup \let\:temp~ \def~{\noexpand~} - \edef#1{\noexpand\:DoPoly\expandafter\noexpand\csname :\string#1\endcsname} + \edef#1{\noexpand\:DoPoly\expandafter\noexpand\csname + :\string#1\endcsname} \expandafter\edef \csname :\string#1\endcsname ##1{\noexpand\ifcase##1(#2)\noexpand\fi} \let~\:temp \:DoNextPoly \:DoNextPoly} @@ -409,7 +416,7 @@ \ifdim \:IIIexpandafter\:fieldB#1 = \:IIIexpandafter\:fieldB#2 \def\:temp{ \:FixTria } - \fi \fi } + \fi \fi } \def\:FixTria{ @@ -621,7 +628,7 @@ { \:setpaint\:PaintOvOv<> } \:FxLx \:setpaint\:PntLeftOvOv>< \:Usrch \:PaintMidOvLn\:LastOvDir\:FirstOvDir \else \ifdim \:yyy>\:CVXXX - { \:FxLx \:setpaint\:PaintOvOv<> } \:setpaint\:PntLeftOvOv>< + { \:FxLx \:setpaint\:PaintOvOv<> } \:setpaint\:PntLeftOvOv>< \:Dsrch \:PaintMidOvLn\:LastOvDir\:FirstOvDir \else \:xxx-\:xxx \advance\:xxx \:CCCVX \ifdim \:yyy<\:xxx @@ -1309,7 +1316,8 @@ \vtop\bgroup \edef\DoReg{\the\DoReg} \hyphenpenalty\@M \exhyphenpenalty\@M \catcode`\ 10 \catcode`\^^M13 \catcode`\^^I10 - \catcode`\&4 \let~\space + \catcode`\&4 \let~\space \csname ;catcode\endcsname % +% \:Text} \catcode`\^^M13 % \def\:Text(--#1--){% \:SetLines#1\hbox{}^^M--)^^M % @@ -1342,6 +1350,8 @@ \expandafter#1\:temp} \catcode`\^^M13 \def\:TextPar#1{\begingroup \catcode`\&4 % + \csname ;catcode\endcsname % +% \catcode`\ 10 \catcode`\^^M13 \catcode`\^^I10 % \:TPar{#1}} \catcode`\^^M9 % diff --git a/Master/texmf-dist/tex/generic/dratex/TeXProject.sty b/Master/texmf-dist/tex/latex/dratex/TeXProject.sty index 056e9eca835..79bcbb789f6 100644 --- a/Master/texmf-dist/tex/generic/dratex/TeXProject.sty +++ b/Master/texmf-dist/tex/latex/dratex/TeXProject.sty @@ -14,8 +14,8 @@ % with a directive of the form % % \message{signature} % % % -% Stephane.Bressan@ecrc.de gurari@cis.ohio-state.edu % -% http://www.cis.ohio-state.edu/~gurari/ % +% Stephane.Bressan@ecrc.de gurari@cse.ohio-state.edu % +% http://www.cse.ohio-state.edu/~gurari/ % % Needs: % % DraTex.sty and AlDraTex.sty % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/latex/dratex/wotree.sty b/Master/texmf-dist/tex/latex/dratex/wotree.sty new file mode 100644 index 00000000000..78ec73999d5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/dratex/wotree.sty @@ -0,0 +1,106 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% wotree.sty 2000-06-29-20:18 % +% Copyright (C) 2000 Eitan M. Gurari % +% % +% This program can redistributed and/or modified under % +% the terms of the LaTeX Project Public License % +% Distributed from CTAN archives in directory % +% macros/latex/base/lppl.txt; either version 1 of the % +% License, or (at your option) any later version. % +% % +% However, you are allowed to modify this program % +% without changing its name, if you modify its % +% signature. Changes to the signature can be introduced % +% with a directive of the form % +% \message{signature} % +% % +% gurari@cse.ohio-state.edu % +% http://www.cse.ohio-state.edu/~gurari % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\immediate\write-1{version 2000-06-29-20:18} + +\expandafter\edef\csname wo:recall\endcsname{\catcode`:=\the\catcode`:} +\catcode`\:=11 + +\Define\WO:GetY(2){\Vb=#2;} + +\Define\WOEdge(2){ + \CSeg\WO:GetY(#2,EdgeGuide) + \IF \GtDec(\Vb,0) + \MoveToNode(#2,0,-1) + \ELSE + \MoveToNode(#2,0,1) + \FI + \MarkLoc(*1) \Move(10,0) \MarkLoc(*2) + \MoveToLoc(EdgeGuide) \Move(0,10) \MarkLoc(*3) + \MoveToLL(*1,*2)(EdgeGuide,*3) \MarkLoc(*3) + \MoveToNode(#1,1,0) \Move(5,0) \LineToLoc(EdgeGuide) + \LineToLoc(*3) \CSeg[2]\Line(*1,#2) +} +\def\WOTree#1{% + \let\WO:tree=\empty + \def\:queue{\init:count#1,,//}\put:queue + \TreeSpec()()(\WOEdge) + \TreeAlign(H,-1,0)(0,0,0)% + \WO:TreeSpace + \def\wo:temp{\Tree()(}% + \expandafter\wo:temp\expandafter{\WO:tree}) + } + +\def\put:queue{% + \let\put:woitem=\empty + \ifx \WO:tree\empty \else + \expandafter\def\expandafter\WO:tree\expandafter{\WO:tree//}% + \fi + \ifx \:queue\empty \def\wo:temp##1{}\else + \let\wo:temp=\:queue \let\:queue=\empty \fi + \wo:temp\put:queue } + +\def\init:count#1,{% + \def\WO:root{#1}\I=0;\WO:count} + +\edef\wo:temp{\catcode`\noexpand\&=\the\catcode`\&} +\catcode`\&=13 + +\def\WO:count#1,{% + \def\wo:temp{#1}\ifx \wo:temp\empty + \expandafter\checkWO:root\WO:root//% + \edef\wo:temp{\put:woitem\Val\I,\beforeWO:root}% + \def\put:woitem{\noexpand&}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\WO:root + \expandafter\expandafter\expandafter + {\expandafter\wo:temp\WO:root}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\WO:tree + \expandafter\expandafter\expandafter + {\expandafter\WO:tree \WO:root}% + \def\WO:root##1//{}\expandafter\WO:root + \else + \expandafter\def\expandafter\:queue + \expandafter{\:queue\init:count#1,,//}% + \I+1;\expandafter\WO:count + \fi } + +\wo:temp + +\def\checkWO:root{\futurelet\wo:temp\ckWO:root} +\def\ckWO:root#1//{\edef\beforeWO:root{\ifx \wo:temp\WO \else + \ifx \WO:tree\empty\else + \noexpand\noexpand\noexpand\WO{}\fi\fi}} + +\def\WO#1{\csname :WO:#1\endcsname} +\def\defWO#1#2{\expandafter\def\csname :WO:#1\endcsname{#2}} + +\defWO{}{\llap{$\triangleright$ }} +\defWO{not}{\hrulefill~~\WO{}} +\defWO{or}{~$\bigoplus$} +\defWO{plus}{~$+$} +\defWO{xor}{~$\bigotimes$} + +\Define\WOSpace(2){\def\WO:TreeSpace{\TreeSpace(C,#1,#2)}} +\WOSpace(10,20) + +\wo:recall +\endinput + diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index eb5504fc7e4..2b6801a582f 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -71,7 +71,7 @@ my @WorkingTLP = qw( doc-pictex docmfp doi doipubmed dotarrow dottex doublestroke dpfloat dprogress drac draftcopy - draftwatermark dramatist dtxgallery + draftwatermark dramatist dratex dtxgallery dtxtut duerer-latex dvdcoll dviasm dviincl dvipdfmx-def dvipsconfig dyntree ean13isbn easy ebong ebsthesis eCards ecc ecclesiastic economic |