summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/dratex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-09-20 00:38:11 +0000
committerKarl Berry <karl@freefriends.org>2008-09-20 00:38:11 +0000
commit4047de0425ceb45ea0b331e48efe2c6937a4a961 (patch)
tree62cdcb17409b431cbf1d56c887ddf71689c0911d /Master/texmf-dist/doc/generic/dratex
parent4be602aabb747be11a542f7d567a76e126ecef88 (diff)
interim dratex update
git-svn-id: svn://tug.org/texlive/trunk@10648 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/dratex')
-rw-r--r--Master/texmf-dist/doc/generic/dratex/Examples.tex2058
-rw-r--r--Master/texmf-dist/doc/generic/dratex/README2
2 files changed, 0 insertions, 2060 deletions
diff --git a/Master/texmf-dist/doc/generic/dratex/Examples.tex b/Master/texmf-dist/doc/generic/dratex/Examples.tex
deleted file mode 100644
index ade0a511abb..00000000000
--- a/Master/texmf-dist/doc/generic/dratex/Examples.tex
+++ /dev/null
@@ -1,2058 +0,0 @@
-%\def\TexFiles{}
-\def\ext{Changeable}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Compile this file with TeX and review the document. %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\hfill 15 Apr. 94
-\bigskip
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Code of examples and exercises from %
-% %
-% TeX and LaTeX: Drawing and Literate Programming %
-% %
-% gurari@cis.ohio-state.edu %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-\immediate\write16{<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<}
-\immediate\write16{<<< tex Examples.tex <<<<<<<<<<<}
-\immediate\write16{<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%
- %%
-\input ProTex.sty %%%%%%%%%%%%%%%%%%%%
-
-
-\expandafter\def\csname :warn\endcsname#1{}
-\Code\top{}{\immediate\write16{<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<}
-\immediate\write16{<<<<< \op \name.\ext}
-\immediate\write16{<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<}
-
-% \com
-}
-
- \ifx \TexFiles\empty %%%%%%%%%%%%%%%%%%%%%%%%
-\def\tex{tex}
-
-\def\DEFEND{\% LaTeX requires a {\tt\string\Defend} here \%}
-
-\Code\Open{}{\files
-\startInput
-}
-
-\Code\Close{}{
-\endInput
-\\bye}
- \else %%%%%%%%%%%%%%%%%%%%%%%%
-\def\tex{latex}
-
-\Code\DEFEND{{\it LaTeX requires a {\tt\string\Defend}
- here}}{\% LaTeX requires a \string\Defend here \%\string\Defend}
-
-\Code\Open{}{\\documentstyle{book}
-\files
-\\begin{document}
-\startInput}
-
-\Code\Close{}{
-\endInput
-\\end{document}}
- \fi %%%%%%%%%%%%%%%%%%%%%%%%
-
-\Code\fileD{}{
-\\input DraTex.sty }
-
-\Code\fileAD{}{
-\\input DraTex.sty
-\\input AlDraTex.sty }
-
-\Code\fileP{}{
-\\input ProTex.sty }
-
-\Code\startInput{}{\\Draw}
-\Code\endInput{}{\\EndDraw}
-
-\AlProTex{\ext,<<<>>>,[],list,|,ShowFile,NoShow} %%%%%%%%%%%%%%%%%%%%
-
-\let\SC=\ShowCode
-\Code\execute{}<<<
->>>
-
-\newcount\exron
-\def\nop#1{\ifnum \exron>0 #1 \fi}
-
-\catcode`\^^M=13 \catcode`\#=12 %
-\def\<<<{%
- \edef\temp{%
- \noexpand\AppendCode\noexpand\execute<<<
- \nop#\op\space\space \name.\ext\space\space\space # \com
- \nop#xdvi\space\space \name.dvi
- >>>}\ShowOff\temp\ShowOn%
- \def\ShowCode{%
- \expandafter\OutputCode\csname\name\endcsname \def\top
- {} \global\let\ShowCode=\SC \ShowCode}%
- \expandafter\Code\csname\name\endcsname{}<<<
- \top}%
-\catcode`\^^M=5 \catcode`\#=6
-
-\def\newpage{\def\newpage{\par\vfill\break}}
-\newcount\1 \newcount\2 \newcount\3
-
-\def\ForTex{tex}
-
-\def\Ex#1#2#3{\global\advance\exron by -1
- \edef\op{#1}
- \edef\For{for \ifx \op\ForTex \else La\fi TeX}
- \def\com{#2}
- \def\name{#3} \hrule
- \medskip\noindent$\underline{\hbox{#1\quad\name.\ext}}$
- \qquad{\it #2\/} {\rm(\For)}\medskip}
-
-\def\Exr#1#2#3{\global\exron=2
- \setbox0=\hbox{\global\1#1 \global\2#2 \global\3#3}
- \Ex{\tex}{Exercise \the\1.\the\2.\the\3}{exr#1#2#3}}
-
-\def\Lib#1{\newpage\hrule
- \noindent\hfil{\bf \strut#1}\hrule}
-
-\hbadness=10000 \vbadness=10000 \hfuzz=99in \vfuzz=99in
- %%
- %%
- %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\noindent NOTES
-
-(a) If you want to get TeX files instead of LaTeX files, remove `\%'
-from the first line of file `{\tt Examples.tex}'.%%% first line of this file
-
-
-(b) If you want different extensions in the files' names,
-change the definition of {\tt\string\ext} in the second line
-of file `{\tt Examples.tex}'.%%% second line of this file
-
-(c) Files carrying names that start with `exr' have been retrieved
-from exercises. Many of these files are incomplete, and they expect
-that the reader will provide the missing code. (La)TeX will prompt you
-with `?' on incomplete files. In such cases, type `x' followed by
-RETURN.
-
-\bigskip \Lib{DraTeX} \def\files{\fileD}
-
-\Ex{tex}{First example in section 6.2}{sec62a}
-
-\<<<
-\input DraTex.sty
-\Draw
- \LineAt(0.1, 0,-18,-10)
- \LineAt(-18,-10,- 6, 26)
- \LineAt(- 6, 26, 18,- 4)
- \LineAt( 18,- 4, 12,-40)
- \LineAt( 18,- 4, 24,-40)
- \LineAt( 18,- 4, 58,- 4)
- \LineAt( 58,- 4, 52,-40)
- \LineAt(58,-4,64,-40) \LineAt(58,-4,66,4)
-\EndDraw
-\bye >>>
-
-\Ex{latex}{First example in section 6.2}{sec62b}
-
-\<<<
-\documentstyle{report}
- \input DraTex.sty
-\begin{document}
-\Draw
- \LineAt(0.1, 0,-18,-10)
- \LineAt(-18,-10,- 6, 26)
- \LineAt(- 6, 26, 18,- 4)
- \LineAt( 18,- 4, 12,-40)
- \LineAt( 18,- 4, 24,-40)
- \LineAt( 18,- 4, 58,- 4)
- \LineAt( 58,- 4, 52,-40)
- \LineAt(58,-4,64,-40) \LineAt( 58,-4,66,4)
-\EndDraw
-\end{document}>>>
-
-
-\Ex{latex}{First example in section 6.2---second version}{sec62c}
-
-\<<<
-\documentstyle[DraTex]{report}
-\begin{document}
-\Draw
- \LineAt(0.1, 0,-18,-10)
- \LineAt(-18,-10,- 6, 26)
- \LineAt(- 6, 26, 18,- 4)
- \LineAt( 18,- 4, 12,-40)
- \LineAt( 18,- 4, 24,-40)
- \LineAt( 18,- 4, 58,- 4)
- \LineAt( 58,- 4, 52,-40)
- \LineAt(58,-4,64,-40) \LineAt(58,-4,66,4)
-\EndDraw
-\end{document}>>>
-
-
-
-\Exr672
-
-\<<<
-|Open
- \MarkLoc(a) \Move(50,0)
- \MarkLoc(A) \Move(50,0)
- \MarkLoc(b) \Move(-30,30)
- \MarkLoc(B) \Move(-30,30)
- \MarkLoc(c) \Move(-20,-30)
- \MarkLoc(C)
- \Curve(A,b,b,B)
- \Curve(B,c,c,C)
- \Curve(C,a,a,A)
-|Close>>>
-
-
- \Ex{tex}{First example in section 6.1}{sec61}
-
-\<<<
-\input DraTex.sty
-
-We can draw clocks of
-different styles and sizes.
-
-\Draw
- \Move(0,20) \Line(0,-50) \Line(50,0)
- \PenSize(1.5pt) \Line(0,50) \Line(-50,0)
- \Move(5,-25) \Text(--9--)
- \Move(20,-18) \Text(--6--)
- \Move(20,18) \Text(--3--)
- \Move(-20,18) \Text(--12--)
- \Move(0,-18) {\RotateTo(60) \LineF(19)}
- \RotateTo(210) \LineF(14)
-\EndDraw
-
-We can draw people of
-different shapes and looks.
-
-\Draw(0.6pt,0.6pt)
- \DrawOvalArc(30,45)(0,180)
- \DrawOvalArc(30,12)(180,360)
- \DrawOvalArc(60,25)(140,400)
- \Move(0,5)
- \DrawOvalArc(30,60)(225,315)
- \DrawOvalArc(20,52)(260,280)
- \Move(-10,-37) {\Text(--$\cdotp$--)} \Text(--o--)
- \Move(20,0) {\Text(--$\cdotp$--)} \Text(--o--)
-\EndDraw
-
-And we can produce many other
-types of drawings. \bye>>>
-
-
-
-\Ex{latex}{First example in section 6.1}{sec61a}
-
-\<<<
-\documentstyle{report}
-\input DraTex.sty
-\begin{document}
-
-We can draw clocks of
-different styles and sizes.
-
-\Draw
- \Move(0,20) \Line(0,-50) \Line(50,0)
- \PenSize(1.5pt) \Line(0,50) \Line(-50,0)
- \Move(5,-25) \Text(--9--)
- \Move(20,-18) \Text(--6--)
- \Move(20,18) \Text(--3--)
- \Move(-20,18) \Text(--12--)
- \Move(0,-18) {\RotateTo(60) \LineF(19)}
- \RotateTo(210) \LineF(14)
-\EndDraw
-
-We can draw people of
-different shapes and looks.
-
-\Draw(0.6pt,0.6pt)
- \DrawOvalArc(30,45)(0,180)
- \DrawOvalArc(30,12)(180,360)
- \DrawOvalArc(60,25)(140,400)
- \Move(0,5)
- \DrawOvalArc(30,60)(225,315)
- \DrawOvalArc(20,52)(260,280)
- \Move(-10,-37) {\Text(--$\cdotp$--)} \Text(--o--)
- \Move(20,0) {\Text(--$\cdotp$--)} \Text(--o--)
-\EndDraw
-
-And we can produce many other
-types of drawings. \end{document}>>>
-
-\Ex{latex}{First example in section 6.1---second version}{sec61b}
-
-\<<<
-\documentstyle[DraTex]{report}
-\begin{document}
-
-We can draw clocks of
-different styles and sizes.
-
-\Draw
- \Move(0,20) \Line(0,-50) \Line(50,0)
- \PenSize(1.5pt) \Line(0,50) \Line(-50,0)
- \Move(5,-25) \Text(--9--)
- \Move(20,-18) \Text(--6--)
- \Move(20,18) \Text(--3--)
- \Move(-20,18) \Text(--12--)
- \Move(0,-18) {\RotateTo(60) \LineF(19)}
- \RotateTo(210) \LineF(14)
-\EndDraw
-
-We can draw people of
-different shapes and looks.
-
-\Draw(0.6pt,0.6pt)
- \DrawOvalArc(30,45)(0,180)
- \DrawOvalArc(30,12)(180,360)
- \DrawOvalArc(60,25)(140,400)
- \Move(0,5)
- \DrawOvalArc(30,60)(225,315)
- \DrawOvalArc(20,52)(260,280)
- \Move(-10,-37) {\Text(--$\cdotp$--)} \Text(--o--)
- \Move(20,0) {\Text(--$\cdotp$--)} \Text(--o--)
-\EndDraw
-
-And we can produce many other
-types of drawings. \end{document}>>>
-
-
-\Exr732
-
-\<<<
-|Open
-\font\ARROWS=line10\space scaled\magstep5
-\font\CIRCLES=lcircle10\space scaled\magstep5
-% \newfont{\ARROWS}{line10\space scaled\magstep5}
-% \newfont{\CIRCLES}{lcircle10\space scaled\magstep5}
-
- \Text(--\CIRCLES \char 10--)
-\Text(--\CIRCLES \char 11--) \Text(--\ARROWS \char 55--)
-\Text(--\CIRCLES \char 110--)\EntryExit(-1,0,-1,0)
-\Text(--\CIRCLES \char 114--)|Close>>>
-
-\Exr741
-
-\<<<
-|Open
-\Ragged(8)
-\Line(10,-10) \Line(10,20)
-\LineTo(0,0)
-|Close>>>
-
-
-\Ex{\tex}{First example in section 8.1}{sec81}
-
-\<<<
-|Open
-\ThreeDim(-150,-60,-600)
- \Line(60,0,0) \Line(0,0,60)
- \Line(-60,0,0) \Line(0,0,-60)
- \LineTo(0,60,0) \Line(60,0,0)
- \Line(0,-60,0)
- \LineAt(0,60,0,0,60,60)
- \Line(0,-60,0)
-\EndThreeDim |Close>>>
-
-
-\Ex{\tex}{Example of USA map in section 9.3}{usa}
-
-\<<<
-|Open(0.9pt,0.9pt)
-\Table\USA{ % California
- -60,-35 & -77,-30 & -80,
- -20 & -90,-15 & -100,40 &
- % Oregon
- -100,50 & -90,80 &
- % Wash
- -90,95 & -78,90 & -75,95 &
- % Minn
- 100,70 & 85,60 &
- % Wisc-Mich
- 95,60 & 105,65 & 102,63 & 110,60 & 125,60 & 110,55 & 110,30 &
- 115,25 & 120,30 & 115,40 & 115,50 & 120,55 & 130,55 & 140,40 &
- 135,25 &
- % Ohio-NY-Vt
- 145,25 & 155,30 & 160,45 & 175,45 & 175,55 & 180,60 & 195,65 &
- % Maine
- 200,75 & 200,85 & 205,90 & 210,90 & 215,80 & 220,75 & 205,60 & 205,50 &
- % Mass--NY
- 210,43 & 208,47 & 215,43 & 190,30 & 202,35 &
- % NJ--Va
- 197,25 & 190,18 & 185,20 & 190,15 & 190,5 & 182,18 & 182,0 & 185,0 &
- % NC
- 190,-8 & 185,-4 & 183,-6 & 186,-6 & 182,-15 &
- 190,-18 & 190,-10 & 192,-10 &
- 195,-18 &
- % Ga-Fl
- 165,-40 & 160,-50 & 175,-80 & 175,-90 & 170,-100 & 165,-100 &
- 155,-80 & 155,-65 & 145,-60 & 140,-62 & 136,-62 & 120,-60 &
- % Alaba--La
- 102,-63 & 107,-67 & 107,-72 & 110,-75 & 90,-65 &
- 78,-65 &
- % Texas
- 62,-78 & 57,-78 & 50,-82 & 53,-92 & 48,-90 & 25,-65 & 15,-65 &
- 15,-68 & -10,-50 &
- % New Mexico
- -40,-50 &
- % Back to California
- -60,-35 }
-{ \USA(0,0){\MoveTo} \USA(1,99){\LineTo} } \Text(--USA--)
-\Scale(0.5,0.5) \USA(46,46){\MoveTo} \USA(47,92){\LineTo}
-\MoveTo(-30,0) \MarkLoc(a) \USA(0,0){\Move} \MarkLoc(b)
-\USA(0,46){{\LineToLoc(b)} \MarkLoc(b) \MoveToLoc(a) \Move}
-|Close>>>
-
-
-\Exr{10}1{1a}
-\<<<
-|Open
-\Text(--Government~%
- Bonds (\%)--)
-\Table\B{Britain,9.59 &
- Canada,7.98 & Japan,5.46 &
- U.S., 6.84 & Mexico,14.9}
-\B(0,4){\PutBar}
-|Close >>>
-
-\Exr{10}1{1b}
-\<<<
-|Open
-\chick(0,75) \Scale(-1,1)
-\chick(0,140)
-|Close >>>
-
-\Exr{10}1{1c}
-\<<<
-|Open
-\Table\x{ 30,40
- & 15,60 & 27,15 & 35,35
- & 50,45 & 25,70 & 20,20
- & 25,75 } \x(0,99){\Tr}
-|Close >>>
-
-\Exr{10}1{1d}
-\<<<
-|Open
-\sqr(-24,0)
-\sqr(0,32)
-\sqr(24,-32)
-|Close >>>
-
-\Exr{10}1{1e}
-\<<<
-|Open
-\engine(90) \MoveTo(50,0)
-\engine(180) \MoveTo(100,0)
-\engine(-30)
-|Close >>>
-
-\Exr{10}1{1f}
-\<<<
-|Open
-\MarkLoc(A)
-\spring(110) \Rotate(70)
-\spring(60) \MarkLoc(B)
-\DSeg\RotateTo(B,A)
-\LSeg\spring(B,A)
-|Close >>>
-
-\Exr{10}21
-\<<<
-|Open
-\new(BODY) \<BODY>(20)
-\LineF(20) \Rotate(55) \LineF(16)
-\new(hand) \<BODY>(140) \LineF(35)
-\new(hand) \<BODY>(90) \LineF(7)
-\new(head) \<BODY>(-60) \LineF(19)
-\new(left-leg) \<BODY>(210) \LineF(12)
-\Rotate(30) \LineF(14) \new(right-leg)
-\Do(1,11){\I+15; \<head>(\Val\I)
-\LineF(11)}
-|Close >>>
-
-
-\Exr{10}22
-
-\<<<
-|Open
-\def\DefineSymbol#1{%
- \Indirect\Define<#1>}
-
-\def\DrawText(--#1--){%
- \let\xNextSym=\xDrawSym \xNextSym#1{}}
-
-\def\xDrawSym#1{\def\temp{#1}%
- \ifx \temp\empty \let \xNextSym=\relax
- \else \Indirect<#1>\fi \xNextSym }
-
-\DefineSymbol A{{ \Line(21,60)
- \Line(21,-60) \Move(-7,20)
- \Line(-28,0) } \Move(52,0) }
-\DefineSymbol B{{ \DrawText(--P--)
- \Move(-25,18)
- \DrawOvalArc(15,18)(-90,90)
- \Move(0,-18) \Line(-25,0)}
- \Move(50,0) } \DefineSymbol P
-{{ \Line(0,60) \Line(25,0)
- \Move(0,-12) \DrawOvalArc(15,12)(-90,90)
- \Move(0,-12) \Line(-25,0) } \Move(50,0) }
- \DefineSymbol C{{ \Move(20,30)
- \DrawOvalArc(20,30)(45,315) } \Move(46.6,0) }
- \DefineSymbol D{{ \Line(0,60) \Line(20,0)
- \Move(0 ,-30) \DrawOvalArc(20,30)(-90,90) \Move(0,-30)
- \Line(-20,0) } \Move(50,0) }
- \DefineSymbol E{{ \DrawText(--F--) \Move(-50,0)
- \Line(40,0) } \Move(50,0) }
- \DefineSymbol F{{ \Line(0,60) \Line(40,0)
- \Move(-40,-30) \Line(30,0) } \Move(50,0) }
- \DefineSymbol G{{ \DrawText(--C--)
- \Move(-10,30) {\Line(-20,0)} \Line(0,-30) }
- \Move(46.6,0) }
- \DefineSymbol H{{ \Line(0,60) \Move(40,0)
- \Line(0,-60) \Move(0,30) \Line(-40,0) } \Move(50,0) }
- \DefineSymbol I{{ \Line(0,60) } \Move(10,0) }
- \DefineSymbol J{{ \Move(20,17) \DrawOvalArc(20,17)(180,360)
- \Move(20,0) \Line(0,43) } \Move(50,0) }
- \DefineSymbol K{{ \Line(0,60) \Move(0,-35)
- \Line(40,35) \Move(-32,-28) \Line(32,-32) } \Move(50,0) }
- \DefineSymbol L{{ { \Line(0,60) } \Line(40,0) } \Move(50,0) }
- \DefineSymbol M{{ \Line(0,60) \Line(25,-60)
- \Line(25,60) \Line(0,-60) } \Move(60,0) }
- \DefineSymbol N{{ \Line(0,60) \Line(40,-60)
- \Line(0,60) } \Move(50,0) }
- \DefineSymbol O{{ \Move(22,30) \DrawOval(22,30) } \Move(54,0) }
- \DefineSymbol P{{ \Line(0,60) \Line(25,0)
- \Move(0,-12) \DrawOvalArc(15,12)(-90,90)
- \Move(0,-12) \Line(-25,0) } \Move(50,0) }
- \DefineSymbol Q{{ \DrawText(--O--) \Move(-10,-5)
- \Line(-15,15) } \Move(55,0) }
- \DefineSymbol R{{ \DrawText(--P--) \Move(-10,0)
- \Line(-15,36) } \Move(50,0) }
- \DefineSymbol S{{ \Move(20,18) \DrawOvalArc(20,18)(-140,90)
- \Move(0,30) \DrawOvalArc(20,12)(40,270) } \Move(50,0) }
- \DefineSymbol T{{ \Move(22,0) \Line(0,60) \Move(-22,0)
- \Line(44,0) } \Move(54,0) }
- \DefineSymbol U{{ \Move(20,15) \DrawOvalArc(20,15)(180,360)
- \Move(-20,0) \Line(0,45) \Move(40,0) \Line(0,-45) }
- \Move(50,0) }
- \DefineSymbol V{{ \Move(0,60) \Line(22,-60)
- \Line(22,60) } \Move(54,0) }
- \DefineSymbol W{{ \Move(0,60) \Line(15,-60)
- \Line(15,60) \Line(15,-60) \Line(15,60) } \Move(70,0) }
- \DefineSymbol X{{ \Line(40,60) \Move(-40,0)
- \Line(40,-60) } \Move(50,0) }
- \DefineSymbol Y{{ \Move(20,0) \Line(0,34) { \Line(-20,26)}
- \Line(20,26) } \Move(50,0) }
- \DefineSymbol Z{{ \Move(0,60) \Line(40,0) \Line(-40,-60)
- \Line(40,0) } \Move(50,0) }
- \DefineSymbol 0{{ \Move(25,30) \DrawOval(25,30) } \Move(60,0) }
- \DefineSymbol 1{{ \Line(0,60) } \Move(10,0) }
- \DefineSymbol 2{{ \MarkLoc(a) \Move(0,10)
- \MarkLoc(a') \Move(40,30) \MarkLoc(b)
- \Move(0,-10) \MarkLoc(b') \Curve(a,a',b',b)
- \Move(-20,10) \DrawOvalArc(20,20)(0,180)
- \Move(-20,-40) \Line(40,0) } \Move(50,0) }
- \DefineSymbol 3{{ \MarkLoc(a') \Move(0,10) \MarkLoc(a)
- \Move(20,-10) \MarkLoc(b) \Move(-10,0) \MarkLoc(b')
- \Curve(a,a',b',b) \Move(22,0) \MarkLoc(b')
- \Move(8,8) \MarkLoc(a') \Move(0,10) \MarkLoc(a)
- \Curve(a,a',b',b) \Move(0,10) \MarkLoc(a')
- \Move(-8,8) \MarkLoc(b') \Move(-10,0)
- \MarkLoc(b) \Curve(a,a',b',b) \Move(-5,0)
- \MarkLoc(b') \Move(-5,-3) \MarkLoc(a')
- \Move(0,-2) \MarkLoc(a) \Curve(a,a',b',b)
- \Line(30,29) \Line(-40,0) } \Move(50,0) }
-\DefineSymbol 4{{ \Move(35,0) \Line(0,60)
- \Line(-35,-35) \Line(45,0)} \Move(55,0) }
- \DefineSymbol 5{{ \Move(15,20) \DrawOvalArc(19,20)(-140,140)
- \Move(-15,10) \Line(0,30) \Line(30,0) } \Move(44,0) }
- \DefineSymbol 6{{ \Move(22,30) \DrawOvalArc(22,30)(70,270)
- \Move(0,-10) \DrawOvalArc(22,15)(0,174)
- \DrawOvalArc(22,20)(270,360) } \Move(54,0) }
- \DefineSymbol 7{{ \Move(0,60) \Line(40,0)
- \MarkLoc(a) \Move(-20,-60) \MarkLoc(b)
- \DSeg\RotateTo(b,a) \Rotate(20) \MoveF(10) \MarkLoc(b')
- \MoveToLoc(a)
- \DSeg\RotateTo(a,b) \Rotate(-20) \MoveF(10) \MarkLoc(a')
- \Curve(a,a',b',b) } \Move(50,0) }
- \DefineSymbol 8{{ \Move(20,17) \DrawOval(20,17)
- \Move(0,30) \DrawOval(20,13) } \Move(50,0) }
- \DefineSymbol 9{{\Move(50,60) \Scale(-1,-1) \DrawText(--6--) } \Move(54,0)
-}
-
-\Scale(0.1,0.1) \Ragged(1)
-\DrawText(--BOLD--)
-\PenSize(0.2pt) \MoveTo(0,-100)
-{ \Scale(-1,1)
- \DrawText(--BACKWARD--) }
-\MoveTo(0,-200) \RotatedAxes(0,75) \DrawText(--SLANTED--)
-\EndRotatedAxes \MoveTo(0,-300) \RotatedAxes(-45,45)
-\DrawText(--ROTATED--) \EndRotatedAxes
-|Close>>>
-
-\Ex{\tex}{Last example in section 11.2}{boxes}
-
-\<<<
-|Open
-\Object\ch(1){\Text(--#1--)
- \MoveToExit(-1,-1)
- \FigSize\Q\R{\Text(--#1--)}
- \DrawRect(\Val\Q,\Val\R) }
-\Define\chrs(1){\font\f=#1\space scaled\magstep4 \f
- \Table\chrs{A & l & l & ~ & i & n & ~ &
- b & o & x & e & s & .} \chrs(0,99){\ch} }
-\PenSize(0.2pt) \EntryExit(-1,-1,1,-1)
-{\chrs(cmtt10)} \Move(0,-20) \chrs(cmsl10)
-|Close>>>
-
-\Exr{11}21
-\<<<
-|Open
-\Define\side(3){
- \ProjectedAxes(#1,#2)(#1,#3)
- \DrawRect(1,1) \Move(0.5,0.5)
- \DrawCircle(0.5)
- \EndProjectedAxes }
-\ThreeDim(80,70,-40) \MarkPLoc(a)
- \Move(0,-50,0) \MarkPLoc(b)
- \Move(0,50,25) \MarkPLoc(c)
- \Move(-25,0,-25) \MarkPLoc(d)
- \side(a,b,d) \side(a,b,c) \side(a,c,d)
-\EndThreeDim
-|Close >>>
-
-
-\Exr{11}24
-
-\<<<
-|Open
-\Define\Spline(1){
- \MarkLoc(0) \MoveTo(0,0) \MarkLoc(00)
- \Table\P{#1} \Define\Count(1){\K+1;} \K=-4;
- \P(0,999){\Count}
- \Do(0,\Val\K){
- \GetCoefficients
- \MoveTo(\Val\Ao,\Val\Bo) \CSeg\Move(00,0)
- \MarkLoc(o) \f \MarkLoc(x)
- \Do(1,30){
- \T=\DoReg; \T/30;
- \X=\Aiii; \X*\T; \X+\Aii; \X*\T; \X+\Ai; \X*\T;
- \Y=\Biii; \Y*\T; \Y+\Bii; \Y*\T; \Y+\Bi; \Y*\T;
- \MoveToLoc(o) \Move(\Val\X,\Val\Y) \f
- {\LineToLoc(x)} \MarkLoc(x) }}
- \MoveToLoc(0)}
-
-\Define\f{}
-\DecVar\Ao \DecVar\Ai \DecVar\Aii \DecVar\Aiii \DecVar\X
-\DecVar\Bo \DecVar\Bi \DecVar\Bii \DecVar\Biii \DecVar\Y
-
-\Define\GetCoefficients{
- \I=\DoReg; \P(\Val\I,\Val\I){\First}
- \I+1; \P(\Val\I,\Val\I){\Second}
- \I+1; \P(\Val\I,\Val\I){\Third}
- \I+1; \P(\Val\I,\Val\I){\Fourth} }
-\Define\First(2){\Ao=#1; \Ai=-#1; \Aii=#1; \Aiii=-#1;
- \Bo=#2; \Bi=-#2; \Bii=#2; \Biii=-#2;}
-\Define\Second(2){
- \T=#1; \T* 4; \Ao +\T; \T=#2; \T* 4; \Bo +\T;
- \T=#1; \T*-2; \Aii+\T; \T=#2; \T*-2; \Bii+\T;
- \T=#1; \T* 3; \Aiii +\T; \T=#2; \T* 3; \Biii +\T;}
-\Define\Third(2){ \Ao +#1; \Ao /6; \Bo +#2; \Bo /6;
- \Ai +#1; \Ai /2; \Bi +#2; \Bi /2;
- \Aii+#1; \Aii/2; \Bii+#2; \Bii/2;
- \T=#1; \T*-3; \Aiii+\T; \T=#2; \T*-3; \Biii+\T;}
-\Define\Fourth(2){
- \Aiii+#1; \Aiii/6; \Biii+#2; \Biii/6;}
-
-\Spline(0,15 & 30,-70
- & 40,-50 & 10,0 & 15,30
- & 50,5 &60,10 & 8,45 &
- 8,55 & 30,70 & 0,80 &
- -30,70 &-8,55 & -8,45 &
- -60,10 &-50,5 & -15,30 &
- -10,0 &-40,-50 &-30,-70 &
- 0,15 & 30,-70 & 40,-50 )
-\Define\ShowPoint(2){
- \MoveToLoc(0) \Move(#1,#2)
- \Text(--$\circ$--)}
-\P(0,99){\ShowPoint}
-
-\Define\TEX{
- \Spline(0,-15 & 0,-15 &
- 0,-15 & 0, 15 &
- 0, 15 & 0, 15 )
- \Spline(-10,15 &
- -10,15 & -10,15 & 10,15 &
- 10,15 & 10,15)
- \Move(12,0)
- \Spline(0,0 & 0,0 & 0,0 & 14,0 & 14,0 & 14,0)
- \Spline( 20,15 &20,15 &20,15 & 0,15 & 0,15
- & 0,-15 & 0,-15 & 20,-15 &20,-15&20,-15)
- \Move(32,0) \Spline( -10,-15 & -10,-15 &
- -10,-15 & 10,15 & 10,15 & 10,15)
- \Spline( -10,15 &
- -10,15 & -10,15 & 10,-15 & 10,-15 & 10,-15) }
-\TEX \MoveTo(0,0) \F
-\TEX \MoveTo(0,-35) \G
-\TEX
-|Close >>>
-
-
-\Exr{11}31
-\<<<
-|Open
-\Define\put(2){
- \IF \EqText(,#1) \THEN
- \top \Define\put(1){}
- \ELSE \push(#1) \FI \put(#2)}
-\Define\stack(1){
- {\put(#1,,)} \Move(0,-13)}
-\Table\x{ & 1& 1, 2&
-1, 2, 3& 1, 2, 3, 4&
-1, 2, 3, 4, *& 1, 2, 12&
-1, 2, 12,+& 1, 14& 1, 14,+& 15}
-\x(0,100){\stack}
-|Close >>>
-
-
-\Exr{11}32
-\<<<
-|Open
-\Table\g{
- 16 & 8 & 4 & 2 & 1 &
- 20 & 16 & 8 & 4 & 2 &
- 17 & 12 & 16 & 8 & 4 &
- 23 & 20 & 12 & 13 & 17 }
-\ThreeDim(160,75,-70)
- \Scale(20,5,20)
- \g(0,140){\surface}
-\EndThreeDim
-|Close >>>
-
-
-
-
-
-
-\Ex{\tex}{NEW OPTION FOR {\tt\char92}ThreeDim}{NewThreeDim}
-
-
-
-{\tt\string\ThreeDim($x_e$,$y_e$,$z_e$)} perspective projections (old option)
-
-{\tt\string\ThreeDim($\alpha_{xy}$,$\alpha_z$)} parallel projections (new additional option):
-$\alpha_{xy}$ --- direction within xy plane,
-$\alpha_z$ --- direction with respect to xy plane.
-
- e.g., {\tt\string\ThreeDim(30,60)} or
-{\tt\string \ThreeDim(45,60)}
-
-
-\<<<
-|Open
-\Define\cube{
- \Line(50,0,0){\Line(0,0,50)}
- \Line(0,50,0){\Line(0,0,50)}
- \Line(-50,0,0){\Line(0,0,50)}
- \Line(0,-50,0) \Move(0,0,50)
- \Move(50,0,0) \Line(0,50,0)
- \Line(-50,0,0) }
-\ThreeDim(80,80,-100) \cube \EndThreeDim
-\MoveTo(0,-130)
-\ThreeDim(45,60) \cube \EndThreeDim
-\MoveTo(0,-260)
-\ThreeDim(30,60) \cube \EndThreeDim
-|Close>>>
-
-\Lib{AlDraTeX} \def\files{\fileAD}
-
-
-\Ex{tex}{Example in section 13.2}{sec132}
-
-\<<<
-\input DraTex.sty
-\input AlDraTex.sty
-\Draw
- \Scale(1,0.5)
- \PieChartSpec(1,50,20)()
- \PieChart(15 & 10 & 30)
- \Move(0,-6)
- \DrawOvalArc(50,50)(180,360)
-\EndDraw
-\bye>>>
-
-\Ex{tex}{Example in section 13.2---second version}{sec132a}
-
-\<<<
-\input DraTex.sty
- \def\AlDraTex{pie}
-\input AlDraTex.sty
-\Draw
- \Scale(1,0.5)
- \PieChartSpec(1,50,20)()
- \PieChart(15 & 10 & 30)
- \Move(0,-6)
- \DrawOvalArc(50,50)(180,360)
-\EndDraw
-\bye>>>
-
-
-\Ex{latex}{Example in section 13.2}{sec132b}
-
-\<<<
-\documentstyle{report}
- \input DraTex.sty
- \input AlDraTex.sty
-\begin{document}
-\Draw
- \Scale(1,0.5)
- \PieChartSpec(1,50,20)()
- \PieChart(15 & 10 & 30)
- \Move(0,-6)
- \DrawOvalArc(50,50)(180,360)
-\EndDraw
-\end{document}>>>
-
-\Ex{latex}{Example in section 13.2---second version}{sec132c}
-
-\<<<
-\documentstyle[DraTex,AlDraTex]{report}
-\begin{document}
-\Draw
- \Scale(1,0.5)
- \PieChartSpec(1,50,20)()
- \PieChart(15 & 10 & 30)
- \Move(0,-6)
- \DrawOvalArc(50,50)(180,360)
-\EndDraw
-\end{document}>>>
-
-\Ex{latex}{Example in section 13.2---third version}{sec132d}
-
-\<<<
-\documentstyle{report}
- \input DraTex.sty
- \def\AlDraTex{pie}
- \input AlDraTex.sty
-\begin{document}
-\Draw
- \Scale(1,0.5)
- \PieChartSpec(1,50,20)()
- \PieChart(15 & 10 & 30)
- \Move(0,-6)
- \DrawOvalArc(50,50)(180,360)
-\EndDraw
-\end{document}>>>
-
-\Ex{latex}{Example in section 13.2---forth version}{sec132e}
-
-\<<<
-\def\AlDraTex{pie}
-\documentstyle[DraTex,AlDraTex]{report}
-\begin{document}
-\Draw
- \Scale(1,0.5)
- \PieChartSpec(1,50,20)()
- \PieChart(15 & 10 & 30)
- \Move(0,-6)
- \DrawOvalArc(50,50)(180,360)
-\EndDraw
-\end{document}>>>
-
-\Ex{\tex}{Chemical diagram in section 16.1}{sec161}
-
-\<<<
-|Open
-\Define\ChemEdge(3){{
- \MoveToNodeDir(#2,#1)
- \MarkLoc(b) \MoveToNodeDir(#1,#2)
- \MarkLoc(a) \DSeg\RotateTo(a,b)
- \Rotate(-90)\Q=#3; \Q/2; \Q-0.5;
- \Q*2.2; \MoveF(\Val\Q)
- \Do(1,#3){ {\CSeg\Line(a,b)}
- \MoveF(-2.2) } }}
-\Do(1,6){ \MoveF(30)
- \Node(\DoReg)(--C--) \MoveF(20) \Node(x)(--H--)
- \ChemEdge(\DoReg,x,1) \MoveTo(0,0) \Rotate(60) }
-\ChemEdge(1,2,2) \ChemEdge(2,3,1) \ChemEdge(3,4,2)
-\ChemEdge(4,5,1) \ChemEdge(5,6,2) \ChemEdge(6,1,1)
-|Close >>>
-
-
-\Ex{\tex}{Finite automaton in last example of chapter 17}{FA}
-
-\<<<
-|Open
-\NewCIRCNode(\StateNode,106,)
-\NewCIRCNode(\AStateNode,106,103)
-\Define\StateAt(3){ \MoveTo(#2,#3)
- \StateNode(#1)(--$q_{#1}$--)}
-\Define\AStateAt(3){
- \MoveTo(#2,#3)
- \AStateNode(#1)(--$q_{#1}$--)}
-\DiagramSpec(\StateAt&
- \AStateAt&\TransEdge)
-\ArrowHeads(1) \Diagram
- ( 0,0,0 & 1,50,50 &
- 3,90,-50 & 4,20,-50 )(2,75,0)
- (0,1,a,b & 1,2,a, & 0,2, ,b & 2,2,0,b & 0,4,a, & 4,3,a,b )
-\CurvedEdgeAt(3,1,0,1,1,0)(20,0.3,0,0.5) \EdgeLabel[+](--a--)
-|Close>>>
-
-
-\noindent\dotfill\
-
-New commands in AlDraTeX for setting spread diagrams (add to end of ch
-17)
-
-\noindent\dotfill\
-
-\begingroup
-\leftskip= 1.5em
-\parindent = -\leftskip
-
-\def\item{\medskip\leavevmode\hbox to \leftskip{$\circ$\hss}}
-
-\item
- `{\tt\string\DefNode}'. A prefix to a node-generating command. The
-prefix asks that the command will produce an invisble node. The
-invisible node is assigned addresses but is not drawn into the
-figure.
-
-
-\item
- `{\tt\string\PutNode(N)}'. This command realizes, according to the current
-conditions, a specified invisible node that has been defined earlier
-by `{\tt\string\DefNode}'.
-
-\item
- `{\tt\string\ZeroNodesDim}'. Sets the pseudovariables `{\tt\string\WidthX}',
-`{\tt\string\WidthY}', `{\tt\string\MaxX}', and `{\tt\string\MaxY}' to 0.
-
-\item
- `{\tt\string\AddNodeDim(N)}'. Inserts the horizontal and vertical
-dimensions of node N to the pseudovariables `{\tt\string\Widthx}' and
-`{\tt\string\Widthy}', respectively. Adds these values to the
-pseudovariables `{\tt\string\WidthX}' and `{\tt\string\WidthY}',
-respectively. In addition, half the horizontal dimension of node N is
-stored in `{\tt\string\MaxX}' if the pseudovariable contains a smaller
-value, and a similar outcome holds for the vertical dimension with
-respect to the pseudovariable `{\tt\string\MaxY}'.
-\par\endgroup
-
-\Ex{\tex}{}{newA}
-
-\<<<
-|Open
-\DefNode\CircleNode(a)(--Two--)
-\MoveToNode(a,0,0) \MarkLoc(A)
-\MoveToNode(a,1,0) \MarkLoc(B)
-\LSeg\R(A,B) \MoveTo(0,0)
-\OvalNode(b)(--Touching Nodes--)
-\RotateTo(19.5) \MoveF(5) \MarkLoc(A)
-\MoveToNodeDir(b,A) \MarkLoc(A)
-\MoveToNode(b,0,0)
-\RotateTo(20.5) \MoveF(5) \MarkLoc(B)
-\MoveToNodeDir(b,B) \MarkLoc(B)
-\RotateTo(20) \MoveF(5) \MarkLoc(C)
-\MoveToNode(b,0,0) \MoveToNodeDir(b,C)
-\DSeg\RotateTo(A,B) \Rotate(-90)
-\MoveF(\Val\R) \PutNode(a)
-|Close>>>
-
-
-\Ex{\tex}{}{newB}
-
-\<<<
-|Open
-
-\def\Dist#1(#2,#3,#4){\MarkLoc(a*)%
- \MoveToNode(#2,0,0)\MarkLoc(b*)%
- \MoveToNode(#2,#3,#4)\MarkLoc(c*)%
- \LSeg#1(b*,c*)\MoveToLoc(a*)}
-
-\EntryExit(1,1,1,-1.5)
-\Object\G(3){
- \RectNode(a)(--#1--)
- \DefNode\RectNode(b)(--#2--)
- \DefNode\RectNode(c)(--#3--)
- \Dist\T(a,1,0) \Dist\R(b,1,0) \Dist\Q(c,1,0)
- \R+\Q; \T-\R; \T*2;
- \ZeroNodesDim \AddNodeDim(b)
- \AddNodeDim(c) \Q=\MaxY;
- \Dist\R(a,0,1) \Q+\R;
- \Q+20; \EntryExit(-1,0,1,0)
- \IF \GtDec(\T,40) \THEN
- \T+40; \T/3;
- \SetNodes(20,\Val\T)
- \ELSE \T=-\T; \T+60; \T/2;
- \SetNodes(\Val\T,20) \FI
- \Edge(b,c) \ArrowHeads(1)
- \VHEdge(A,c) \VHEdge(B,b) }
-\Define\SetNodes(2){
- \MoveToNode(a, 1,0) \Line( #1,0) \FcNode(A)
- \MoveToNode(a,-1,0) \Line(-#1,0) \FcNode(B)
- \Move(#2,-\Val\Q) \PutNode(b)
- \Move(#2, 0) \PutNode(c) }
-\G(short~~and~~deep,d~~e~~e~~p,shallow)
-\G(very~very~long~node,shallow,d~~e~~e~~p)
-|Close>>>
-
-
-\Ex{\tex}{}{newC}
-
-
-
-
-\<<<
-|Open
-\Define\Vertex(2){
- \IF \EqText(r,#1) \THEN \Define\NodeType{\RectNode}
- \ELSE \IF \EqText(d,#1) \THEN \Define\NodeType{\DiamondNode}
- \ELSE \IF \EqText(o,#1) \THEN \Define\NodeType{\OvalNode}
- \ELSE \Define\NodeType{\Node}
- \FI\FI\FI
- \DefNode\NodeType(\Val\I..\Val\J)(--#2--)
- \AddNodeDim(\Val\I..\Val\J) }
-\Define\DefRow(1){
- \IF \EqText({},{#1}) \THEN \Define\g{\MoveToLoc(start)}
- \ELSE \ZeroNodesDim \J=-1;
- \Table\x{#1} \x(0,99){\J+1; \Vertex}
- \Move( 0,-\MaxY) \MarkLoc(\Val\I) \Move(5,0) \MarkLoc(\Val\I')
- \Move(-5,-\MaxY) \Move(0,-\Sy) \I+1;
- \FI \g }
-
-\Define\ProjectToRow(1){
- \MarkLoc(x) \Move(0,5) \MarkLoc(x')
- \MoveToLL(#1,#1')(x,x') }
-
-\Define\VSpace(1){ \Define\Sy{#1} }
-\VSpace(15)
-
-\Define\DefRowDiagram{
- \MarkLoc(start) \I=0; \Define\g{\DefRow} \g}
-
-\DefRowDiagram
- ( o, An~ approach~~ for~ setting~~ flow~ diagrams
- & r, Use~~ {\tt\char92DefineRowDiagram}~~
- to~ define~~ the~ rows~~ of~ nodes
- )( r, Derive~~ x~ coordinate~~ for~ N~ then~
- call~~ {\tt\char92ProjectToRow}
- & r, Choose~~ nonrealized~~ node~ N
- & d, More~ nodes~~ to~ realize?
- )( r, Realize~ N~~ with~ {\tt\char92PutNode}
- & o, Done
- )()
-\ProjectToRow(0) \EntryExit(0,0,-1,0) \PutNode(0..0)
-\ProjectToRow(2) \MarkLoc(A)
-\ProjectToRow(1) \EntryExit(-1,0,1,0) \PutNode(1..0)
-\Move(20,0) \PutNode(1..1) \Move(20,0)
-\EntryExit(-1,0,0,0) \PutNode(1..2)
-\ProjectToRow(0) \EntryExit(0,0, 0,0) \PutNode(0..1)
-\ProjectToRow(2) \EntryExit(0,0,-1,0) \PutNode(2..1)
-\MarkLoc(B) \CSeg[0.5]\Move(B,A) \PutNode(2..0)
-\ArrowHeads(1) \Edge(0..0,0..1) \Edge(0..1,1..2)
- \Edge(1..2,1..1) \EdgeLabel(--Yes--)
- \Edge(1..2,2..1) \EdgeLabel(--No--)
-\Edge(1..1,1..0) \VHEdge(1..0,2..0)
-\EdgeFrom(2..0,1,0,1..2)
-|Close>>>
-
-\begingroup
- \def\startInput{}
- \def\endInput{}
-
-\Ex{\tex}{}{newD}
-
-\<<<
-|Open
-\Define\DefNd(1){
- \DefNode\RectNode(\Val\I)(--#1--)
- \AddNodeDim(\Val\I) \I+1; }
-\Define\D(1){
- \IF \EqText({},{#1}) \THEN \Define\g{}
- \ELSE \ZeroNodesDim \J=-1;
- \Table\x{#1} \x(0,99){\J+1; \DefNd}
- \T=\J; \T*15; \T+\WidthX; \T/\F;
- \Move(0,-\MaxY) \MarkLoc(a) \Move(\Val\T,0)
- \K=\I;
- \Do(0,\Val\J){ \K-1; \PutNode(\Val\K) \Move(-15,0) }
- \MoveToLoc(a) \Move(0,-\MaxY) \Move(0,-15)
- \FI \g }
-\Define\G(1){\I=0; \EntryExit(1,0,-1,0)
- \Define\g{\D} \Define\F{#1} \g}
-
-\Draw
-\G(2)(first & diagram)
- (centers & of~~rows~~on & vertical~~line )
- (distance~=~15 & between~~rows)
- ()
-\Table\x{0,2 & 0,3 & 1,3 & 1,4 & 2,5 & 3,5 & 3,6 & 4,6}
-\x(0,99){\Edge}
-\EndDraw
-
-\Draw\Move(0,-15)
-\G(1)(new~diagram)
- (left~~margins & for~rows) ()
-\Edge(0,1) \Edge(1,2) \Edge(2,0)
-\EndDraw
-
-\Draw
-\Move(0,-15)
-\G(10000)(new~diagram)
- (right~margins & for~~rows) ()
-\Edge(0,1) \Edge(1,2) \Edge(2,0)
-\EndDraw
-|Close>>>
-
-
-\Ex{\tex}{}{newE}
-
-\<<<
-|Open
-\Define\DefNd(1){
- \DefNode\RectNode(\Val\I..\Val\J)(--#1--)
- \AddNodeDim(\Val\I..\Val\J) }
-\Define\DefG(1){
- \IF \EqText({},{#1}) \THEN \Define\g{\PutG}
- \ELSE \ZeroNodesDim \J=-1;
- \Table\x{#1} \x(0,99){\J+1; \DefNd}
- \Indirect\let<\Val\I.width>=\WidthX
- \Indirect\edef<\Val\I.size>{\Val\J}
- \T=\J; \T*\Sx; \T+\WidthX;
- \IF \GtDec(\T,\Q) \THEN \Q=\T; \FI
- \Move(0,-\MaxY) \MarkLoc(\Val\I)
- \Move(0,-\MaxY) \Move(0,-\Sy) \I+1;
- \FI \g }
-\Define\PutG(1){ \I-1; \EntryExit(-1,0,1,0)
- \Do(0,\Val\I){ \MoveToLoc(\DoReg)
- \R=\Q; \Indirect{\R-}<\DoReg.width>;
- \Indirect{\J=}<\DoReg.size>; \K=\J;
- \DiagType
- \IF \GtDec(\Q,\T) \THEN
- \K+2; \R/\K; \Move(\Val\R,0)
- \ELSE
- \IF \GtInt(\J,0) \THEN \R/\K; \FI
- \FI
- \I=\DoReg;
- \Do(0,\Val\J){ \J=\DoReg;
- \PutNode(\Val\I..\Val\J) \Move(\Val\R,0) }
- }
- \Table\x{#1} \x(0,99){\Edge} }
-\Define\G{ \I=0; \Q=0;
- \Define\g{\DefG} \g}
-
-\Define\FillDiagram{
- \Define\DiagType{\T=\Q;}
- \G}
-\Define\MarginsDiagram{
- \Define\DiagType{\T=\J; \T*\Sx; \Indirect{\T+}<\DoReg.width>;}
- \G}
-\Define\HVSpaces(2){ \Define\Sx{#1} \Define\Sy{#2} }
-\HVSpaces(15,15)
-
-\Draw
-\FillDiagram(Fill & Diagram)
- (fixed & distances & between~~rows)
- (uniform & spaces &within~~each &row)
- ()
- ( 0..0,1..0 & 0..0,1..1 & 0..1,1..1 & 0..1,1..2
- & 1..0,2..0 & 1..0,2..1 & 1..1,2..1 & 1..1,2..2
- & 1..2,2..2 & 1..2,2..3)
-\EndDraw
-
-\Draw \HVSpaces(25,15)
-\MarginsDiagram(Margins & Diagram)
- (fixed & distances &between~~rows)
- (uniform~~spaces&between~nodes&within~~each~row)
- ()
- ( 0..0,1..0 & 0..0,1..1 & 0..1,1..1 & 0..1,1..2
- & 1..0,2..0 & 1..0,2..1 & 1..1,2..1 & 1..1,2..2
- & 1..2,2..2 )
-
-\EndDraw
-|Close>>>
-
-\endgroup
-\noindent\dotfill\
-
-End new commands for setting spread diagrams (end of ch 17)
-
-\noindent\dotfill\
-
-
-
-\Ex{\tex}{Commutative diagram in last example of section 18.3}{CM}
-
-\<<<
-|Open
-\GridDiagramSpec()(\MyEdge)
-\Define\L(4){,+#1..+#2\,L\,#3\,#4}
-\Define\D(4){,+#1..+#2\,D\,#3\,#4}
-\Define\MyEdge(5){
- \IF \EqText(#3,D) \THEN\EdgeSpec(D)
- \ELSE \EdgeSpec(L) \FI
- \IF \EqText(#1,#2) \THEN
- \RotateTo(#4) \CycleEdge(#1)
- \EdgeLabel(--$#5$--)
- \ELSE\Edge(#1,#2)
- \IF \EqText(,#4) \THEN \EdgeLabel(--$#5$--)
- \ELSE \EdgeLabel[#4](--$#5$--) \FI
- \FI}
-\ArrowHeads(1)
-\GridDiagram(3,3)()()({
-& T \D(0,1,,f) \D(2,0,,h) & N \L(2,0,,\sigma)//
-S \L(0,0,180,t) \L(-1,1,,f) \L(1,1,+,g\circ f)//
-& W \L(0,1,,f) & X \D(0,0,-45,r)//})
-|Close >>>
-
-
-\Ex{\tex}{Second example in section 20.2}{sec202}
-
-\<<<
-|Open
-\NewNode(\MyNode,\MoveToRect){
- \Move(-24,-8) \DrawRect(48,16)
- \Move(16,0) {\Line(0,16)}
- \Move(16,0) \Line(0,16) }
-\Define\MyEdge(2){
- \CSeg\FindSign(#1,#2)
- \EdgeAt(#1,\sign 0.66,0,#2,0,1)}
-\Define\FindSign(2){
- \IF \GtDec(#1,0) \THEN
- \Define\sign{}
- \ELSE \Define\sign{-} \FI}
-\TextNode(2){ \Text(--$#2$--)
- \IF \EqInt(#1,0) \THEN {
- \Move(-16,0) \Text(--$\Lambda$--)
- \Move(32,0) \Text(--$\Lambda$--)
- }\FI }
-\ArrowHeads(1)
-\TreeSpace(D,10,20)
-\TreeSpec(\MyNode)()(\MyEdge)
-\Tree()(2,2,A// 0,0,B&2,2,C// 2,2,D&0,0,E// 0,0,F&0,0,G//)
-|Close >>>
-
-
-\Ex{\tex}{Last example in section 20.2}{LR}
-
-\<<<
-|Open
-\GridDiagramSpec(\RNode)(\MyEdge)
-\GridSpace(10,10) \ArrowSpec(F,5,3,3)
-\ArrowHeads(1) \CycleEdgeSpec(-30,20)
-\NewNode(\RNode,\MoveToOval){
- \GetNodeSize \Va+4; \Vb+4;
- \SetMinNodeSize \Move(0,3)
- \DrawOval(\Val\Va,\Val\Vb) }
-\Define\MyEdge(3){
- \IF \EqText(#1,#2) \THEN
- \RotateTo(45) \LabelPos(+0.5;,3)
- \CycleEdge(#1)
- \ELSE \DSeg\Q(#1,#2)
- \IF \GtDec(\Q,180) \THEN
- \LabelPos(+0.4;,3) \ELSE \LabelPos(0.5;,3)
- \FI \Edge(#1,#2) \FI \EdgeLabel(--$#3$--) }
-\baselineskip=9pt \Define\NEXT(3){,#1..#2\,#3}
-\def\/#1/#2.#3;{\hbox{$\scriptstyle#1\rightarrow #2\cdotp#3$}~~}
-\GridDiagram(3,3)()()({
-& \/S'/ S. ; \/A / S.a; $I_1$ \NEXT(+0,+1,a)
-& \/A / Sa.; $I_2$
-// \/S'/ .S ; \/S / .AS; \/ / .b ;
- \/A / .Sa; \/ / .a ; $I_0$ \NEXT(-1,+1,S) \NEXT(+0,+1,A)
- \NEXT(+1,+1,b) \NEXT(+1,+0,a)
-& \/S /A.S ; \/S /.AS ; \/ /.b ;
- \/A /.Sa ; \/ /.a ; $I_3$ \NEXT(+0,+1,S) \NEXT(+0,+0,A)
-& \/A/ S.a ; $I_4$ \NEXT(+1,+0,a)
-//
- \/A/a.; $I_5$
-& \/S/ b. ; $I_6$
-& \/A/ Sa. ; $I_7$
-//
-})
-|Close >>>
-
-
-
-\Ex{\tex}{Last example in chapter 20}{TM}
-
-
-\<<<
-|Open
-\NewCIRCNode(\StateNode,104,)
-\NewCIRCNode(\AStateNode,104,102)
-\Define\StateAt(3){ \MoveTo(#2,#3)
- \StateNode(#1)(--$q_{#1}$--)}
-\Define\AStateAt(3){\MoveTo(#2,#3)
- \AStateNode(#1)(--$q_{#1}$--)}
-\LabelSpec(4){\PictLabel{
- { \Move(1,-5) \Line(8,20) }
- { \Move(4,10) { \EntryExit(1,0,0,0)
- \Text(--\strut$#1$--) } \Move(6,0)
- \EntryExit(-1,0,0,0) \Text(--\strut$#3$--) }
- { \EntryExit( 1,0,0,0) \Text(--\strut$#2$--) }
- \Move(6,0) \EntryExit(-1,0,0,0) \Text(--\strut$#4$--) }}
-\DiagramSpec(\StateAt&\AStateAt&\TransEdge) \ArrowHeads(1)
-\Diagram( 0,0,0 & 1,80,0 )(2,80,-60)(
- 0,0,90,{a,B,+1,a{,+}1} &
- 0,1, {a,B,+1,a{,+}1}, {b,B,0,B{,-}1} &
- 1,2, {|DEFEND\$,B,0,B{, }0}, )
-|Close >>>
-
-
-
-
-
-\Lib{ProTeX and AlProTex} \def\files{\fileP} \def\LLL{>>>}
-
-\let\startInput=\empty
-
-\let\endInput=\empty
-
-NOTE. The La\TeX{} files of this part put the
-{\tt\string\AlProTex....} command after the
-{\tt\string\begin\string{document\string}} command. This is not a nice
-style for files.
-
-\Exr{22}2{2a}
-\<<<
-|Open
-\AlProTex{awk,<<<|LLL,@,%
- list,title,[]}
-\catcode`\@=0
-
-An Awk program for deriving
-the distribution of words.
-
-@<dist@><<<
-BEGIN {print"words\t lines"}
-@<count the words@>
-END { i=0
- while (i<=m)
- {if (c[i]>0)
- {print i "\t " c[i]}
- i=i+1 }}
-|LLL
-
-NF is a built-in variable
-that holds the number of
-words in the current input
-line.
-
-@<count the words@><<<
-{ c[NF]=c[NF]+1
- {if (NF>m) m=NF} }
-|LLL \OutputCode@<dist@>
-|Close >>>
-
-
-\Exr{22}2{2b}
-\<<<
-|Open
-\AlProTex{awk,<<<|LLL,@,%
- list,title,[]}
-
-An Awk program for deriving
-the distribution of words.
-
-\<dist\><<<
-BEGIN {print"words\t lines"}
-@<count the words@>
-END { i=0
- while (i<=m)
- {if (c[i]>0)
- {print i "\t " c[i]}
- i=i+1 }}
-|LLL
-
-NF is a built-in variable
-that holds the number of
-words in the current input
-line.
-
-\<count the words\><<<
-{ c[NF]=c[NF]+1
- {if (NF>m) m=NF} }
-|LLL \OutputCode\<dist\>
-|Close >>>
-
-
-\Exr{22}2{3}
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,%
- title,list,[]}
-
-\<prog\><<<
-PROGRAM prog;|LLL
-
-\<body\><<<
-{ comment } |LLL
-
-\<prog\><<<
-BEGIN
- \<body\>
-END.|LLL
-
-\OutputCode\<prog\>
-|Close >>>
-
-\Exr{22}2{4a}
-
-\<<<
-|Open
-\AlProTex{p,list,%
- <<<|LLL,title,[]}
-
-\<\><<<
-PROGRAM prog;|LLL
-
-\<body\><<<
-{ comment } |LLL
-
-\<\><<<
-BEGIN
- \<body\>
-END.|LLL
-
-\OutputCode\<\>
-|Close >>>
-
-\Exr{22}2{4b}
-
-\<<<
-|Open
-\AlProTex{p,%
- <<<|LLL,title,[]}
-
-\<\><<<
-PROGRAM prog;|LLL
-\ShowCode-\<\>
-
-\<body\><<<
-{ comment } |LLL
-\ShowCode\<body\>
-
-\<\><<<
-BEGIN
- \<body\>
-END.|LLL
-\ShowCode\<\>
-\OutputCode\<\>
-|Close >>>
-
-\Exr{22}2{4c}
-
-\<<<
-|Open
-\AlProTex{p,%
- <<<|LLL,title,[]}
-
-\<\><<<
-PROGRAM prog;|LLL
-
-\<body\><<<
-{ comment } |LLL
-
-\<\><<<
-BEGIN
- \<body\>
-END.|LLL
-
-\OutputCode\<\>
-|Close >>>
-
-
-
-\Exr{22}2{5a}
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,%
- title,list,[]}
-
-\<myprog\><<<
-PROGRAM prog;|LLL
-
-\<body\><<<
-{ comment } |LLL
-
-\<myprog\><<<
-BEGIN
- \<body\>
-END.|LLL
-\OutputCode\<myprog\>
-
-|Close >>>
-
-\Exr{22}2{5b}
-
-\<<<
-|Open
-\AlProTex{p,title,list,[]}
-
-\<myprog\>{PROGRAM prog;}
-
-\<body\>{ \{ comment \} }
-
-\<myprog\>{BEGIN
- \<body\>
-END.}
-\OutputCode\<myprog\>
-
-|Close >>>
-
-
-
-
-\Exr{22}2{6a}
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,[],%
- title,list}
-\<myprog\><<<
-PROGRAM prog;
-BEGIN
- \<body\>
-END.|LLL
-
-\<body\><<<
-{ comment: \\@||` } |LLL
-|Close >>>
-
-\Exr{22}2{6b}
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,[],%
- title,list,@}
-\<myprog\><<<
-PROGRAM prog;
-BEGIN
- @<body@>
-END.|LLL
-
-\<body\><<<
-{ comment: \@@||` } |LLL
-|Close >>>
-
-\Exr{22}2{6c}
-
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,[],%
- title,list,||}
-\<myprog\><<<
-PROGRAM prog;
-BEGIN
- ||<body||>
-END.|LLL
-
-\<body\><<<
-{ comment: \@||||` } |LLL
-|Close >>>
-
-
-\Exr{22}2{6d}
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,[],%
- title,list,`}
-\<myprog\><<<
-PROGRAM prog;
-BEGIN
- `<body`>
-END.|LLL
-
-\<body\><<<
-{ comment: \@||`` } |LLL
-|Close >>>
-
-\Exr{22}2{7}
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,[],%
- title,list,||}
-
-\<temp\><<<
-\<prog\><<<
-PROGRAM prog;
-BEGIN
- ||||<body||||>
-END.>||empty>>
-
-\<body\><<<
-{comment: \@||||||||} >||empty>>
-
-\OutputCode\<prog\> |LLL
-
-\OutputCode[prg]\<temp\>
-\input temp.prg
-|Close >>>
-
-
-\Exr{22}2{8a}
-
-\<<<
-|Open
-\Code\myprog{my
- program}{PROGRAM prog;}
-\ShowCode-\myprog
-
-\AppendCode\myprog{BEGIN
- \body
-END.}
-\Code\body{body}{}
-\ShowCode-\myprog
-
-\AppendCode\body{\{comment\}}
-\ShowCode\body
-
-Code of title \myprog{}
-linearized within
-the paragraph:
-`\ShowCode-\myprog'.
-
-\OutputCode\myprog
-|Close >>>
-
-\Exr{22}2{8b}
-
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,list,@}
-
-\Code\myprog{my program}<<<
-PROGRAM prog;|LLL
-
-\Code\body{body}<<<
-|LLL
-\AppendCode\myprog<<<
-BEGIN
- @body
-END.|LLL
-
-\AppendCode\body<<<
- {comment} |LLL
-
-Code of title \myprog{}
-linearized within the
-paragraph:
-`\ShowCode-\myprog'.
-
-\OutputCode\myprog
-|Close >>>
-
-
-\Exr{22}2{9}
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,%
- title,list,[]}
-
-\<myprog\><<<
-PROGRAM prog;|LLL
-
-\<body\><<<
-{ comment } |LLL
-
-\<myprog\><<<
-BEGIN
- \<body\>
-END.|LLL
-
-\OutputCode\<myprog\>
-|Close >>>
-
-\Exr{22}2{10a}
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,title,%
- list,[],enumerate}
-
-See lines \RefLine[*].
-
-\<myprog\><<<
-PROGRAM prog;\TagLine[*] |LLL
-
-\<body\><<<
-{comment: see \RefLine[*]}|LLL
-
-\<myprog\><<<
-BEGIN
- \<body\> \TagLine[*] |LLL
-
-\ResetLineCount
-\<myprog\><<<
-END.|LLL \OutputCode\<myprog\>
-|Close >>>
-
-\Exr{22}2{10b}
-
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,title,%
- list,[]}
-\def\CodeRef[#1]{\Ref{#1}}
-\def\CodeTag[#1][#2]{%
- \Tag{#1}{#2}}
-
-See lines \Ref{*}.
-
-\<myprog\><<<
-PROGRAM prog;\CodeTag[*][1]|LLL
-
-\<body\><<<
-{comment: see \CodeRef[*]}|LLL
-
-\<myprog\><<<
-BEGIN
- \<body\> \CodeTag[*][2]|LLL
-
-\ResetLineCount \Tag{*}{3}
-\<myprog\><<<
-END.|LLL \OutputCode\<myprog\>
-|Close >>>
-
-
-
-
-\Exr{22}2{11}
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,title,%
- list,[],ShowIndex}
-
-\<myprog\><<<
-PROGRAM prog;|LLL
-
-\<body\><<<
-{ comment } |LLL
-\TextIndex{Tracing}
-\SecIndex{***}
-
-\<myprog\><<<
-BEGIN
- \<body\>
-END.|LLL
-
-\def\BeforeIndex{Index}
-\ShowIndex
-|Close >>>
-
-
- \Exr{22}2{12}
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,%
- title,[],ShowTop}
-
-\<my prog\><<<
-PROGRAM prog;
-BEGIN \<body\>
-END.|LLL
-\<body\><<<
-{ comment 1}
-|LLL
-\<body\><<<
-\<subbody\>
-|LLL
-\<subbody\><<<
-{ comment 2 } |LLL
-\ShowTop\<body\>
-
-\def\ShowSep{(* ***** *)\par}
-\ShowTop\<body\>
-|Close >>>
-
- \Exr{22}2{13}
-
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,title,%
- list,[],NoShow}
-
-First piece of text.
-
-\<myprog\><<<
-PROGRAM prog; |LLL
-
-\ShowOff Second piece of text.
-
-\<body\><<<
-{ comment } |LLL
-
-\Note Third piece of
-text. \EndNote\ShowOn
-
-\<myprog\><<<
-BEGIN
- \<body\>
-END.|LLL
-
-Last piece of text.
-|Close >>>
-
- \Exr{22}2{14}
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,title,%
- list,ShowIndex,ClearCode}
-
-Chapter 1
-
-\<progA\><<<
-PROGRAM prog;
-|LLL
-\<progA\><<<
-BEGIN
- { comment 1 }
-END.|LLL \ShowIndex
- \ClearCode
-\vfil\break Chapter 2
-
-\<progB\><<<
-PROGRAM prog;
-|LLL
-\<progB\><<<
-BEGIN
- { comment 2 }
-END.|LLL \ShowIndex
-|Close >>>
-
-\begingroup
-\def\tex{tex}\let\op=\ForTex \Exr{22}2{15}\par\nobreak
-
-\<<<
-\hsize=2.5in \noindent{\bf
-LITERATE PROGRAM IN WEB}
-\medskip We compute a
-two-dimensional view of a
-three-dimensional point.
-
-@* The mapping. The view
- {\tt (x,y)} is on the
- {\tt Z=0} plane.
-@<map(x,y) := mapping of
- (X,Y,Z)@>=
- x := X * D DIV (D + Z);
-
-@ The viewer is located
- at {\tt (0,0,-D)}.
-@<CONST + VAR @>=
- CONST D=100;
- VAR X {x}, Z: INTEGER;
-
-@
-@<map...@>=
- y := Y * D DIV (D + Z);
-
-@
-@<CON...@>=Y {y}: INTEGER;
-
-@* Main program.
-@p PROGRAM D2view;
- @<CON...@>
- BEGIN read(X,Y,Z);
- @<map...@>
- write(x,y)
- END.
-\bye>>>
-\endgroup
-
-
-\Ex{\tex}{NEW OPTION `[[]]' FOR {\tt\char92}AlProTex}{NewAlPrOptionA}
-
-An extension of `[]' which frame also the code fragments.
-
-\<<<
-|Open
-\AlProTex{p,<<<|LLL,%
- title,list,[[]]}
-
-Foooo...
-
-\<myprog\><<<
-PROGRAM prog;|LLL
-
-Foooo...
-
-\<body\><<<
-{ comment } |LLL
-
-Foooo...
-
-\<myprog\><<<
-BEGIN
- \<body\>
-END.|LLL
-
-Foooo...
-
-\OutputCode\<myprog\>
-|Close >>>
-
-\begingroup
-\def\tex{latex}\let\op=\ForTex
-
-
-\Ex{\tex}{NEW OPTION `basic' FOR {\tt\char92}AlProTex}{NewAlPrOptionB}
-
-
-An option that requires compilation by latex. The following
-are the only available commands.
-
-
-A. References to code segments: \hfill {\tt\string\<code title\string\>}
-
-B. Definitions of code fragments: \hfill {\tt\string\<code title\string\><<<
-
-\hfill code fragment>>>}
-
-B. Output file of code (`[{\it extension}]' is optional):
- \hfill{\tt\string\o[{\it extention}]\string\<code title\string\>}
-
-
-C. The character `{\tt\char92}' \hfill{\tt\string\\}
-
-D. End of source program \hfill{\tt\string\e}
-
-E. Logical partitioning of prose (chapters, sections, subsections, and verbatim):
-\hfill\hbox{\tt\string\c, \string\s, \string\u, \string\v{$\cdots$}{\char92}}
-
-\noindent\phantom{E.} A title
-must be delimited by an empty line.
-
-F. Reference to {\tt\string\ClearCode} \hfill {\tt\string\c}
-
-
-
-
-\<<<
-\input ProTex.sty
-\AlProTex{foo,basic}
-
-\cFirst Chapter
-
-Foooo...
-
-\sSsssss...
-
-Foooo.
-
-\uUuuuuuu.....
-
-\vVerbatim
-verbatim\
-\<myprog\><<<
-PROGRAM prog;|LLL
-\cCccc...
-
-Foooo...
-
-\<body\><<<
-{ comment } |LLL
-
-Foooo...
-
-\<myprog\><<<
-BEGIN
- \<body\>
-END.|LLL
-
-Foooo...
-
-\o\<myprog\>
-
-\e
- >>>
-
-\Ex{\tex}{variant of `basic'}{NewAlPrOptionC}
-
-The options `{\tt @}', `{\tt|}', and `{\tt`}' ask that the listed
-characters will be used instead of `{\tt\char92}', respectively,
-within the commands of option `{\tt basic}'.
-
-\<<<
-\input ProTex.sty
-\AlProTex{foo,@,basic}
-
-@cFirst Chapter
-
-Foooo...
-
-@sSsssss...
-
-Foooo.
-
-@uUuuuuuu.....
-
-@vVerbatim
-verbatim@
-
-@<myprog@><<<
-PROGRAM prog;|LLL
-@cCccc...
-
-Foooo...
-
-@<body@><<<
-{ comment } |LLL
-
-Foooo...
-
-@<myprog@><<<
-BEGIN
- @<body@>
-END.|LLL
-
-Foooo...
-
-@o@<myprog@>
-
-@e
->>>
-
-\endgroup
-
-\newpage \OutputCode[me]\execute
-
-
- On a Unix system containing the xdvi application, the instructions of
- the following file can be executed with the compound command
- `chmod 777 execute.me ; execute.me'.
-
- \bigskip
- \ShowFile{execute.me}
-
-\write16{<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<}
-\write16{<< Please review the document <<}
-\write16{<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<}
-
-\bye
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