summaryrefslogtreecommitdiff
path: root/info/components-of-TeX/figtotal.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/components-of-TeX/figtotal.tex
Initial commit
Diffstat (limited to 'info/components-of-TeX/figtotal.tex')
-rw-r--r--info/components-of-TeX/figtotal.tex174
1 files changed, 174 insertions, 0 deletions
diff --git a/info/components-of-TeX/figtotal.tex b/info/components-of-TeX/figtotal.tex
new file mode 100644
index 0000000000..1cd47b1e9d
--- /dev/null
+++ b/info/components-of-TeX/figtotal.tex
@@ -0,0 +1,174 @@
+% figtotal.tex 25 Mar 91
+%------------------------------------------------------------
+% (c) 1991 by J.Schrod (TeXsys).
+
+%
+% Picture of the components and used file types of TeX (data flow)
+% (thanks to Nico Poppelier who contributed this better structured version)
+%
+% LaTeX picture
+
+
+% check if \OutputInFigtotal and \DriverInFigtotal is defined
+
+\ifx \OutputInFigtotal\undefined
+ \errhelp{It should be defined as the term `output' in the used language}
+ \errmessage{You must define \string\OutputInFigtotal}
+ \def\OutputInFigtotal{output}
+\fi
+\ifx \DriverInFigtotal\undefined
+ \errhelp{It should be defined as the term `driver' in the used language}
+ \errmessage{You must define \string\DriverInFigtotal}
+ \def\DriverInFigtotal{\DVI{} driver}
+\fi
+
+
+
+\def\file#1{\framebox(3,2){\tt \uppercase{#1}}}
+\def\prog(#1)#2{%
+ \oval(#1,2)%
+ \makebox(0,0){#2}%
+ }
+
+
+% X and Y variables
+
+\newcount\X \newcount\Y % needed for \Program
+
+% macros for objects
+
+\def\File(#1,#2)#3{%
+ \put(#1,#2){\framebox(20,10){\tt\uppercase{#3}}}}
+\def\CopyFile(#1,#2)#3{%
+ \put(#1,#2){\dashbox{2}(20,10){#3}}}
+\def\Program(#1,#2)#3{%
+ \X=#1 \Y=#2 \advance\X by 15 \advance\Y by 5
+ \put(\X,\Y){\oval(30,10)}%
+ \put(#1,#2){\makebox(30,10){#3}}}
+\def\Device(#1,#2)#3{%
+ \put(#1,#2){\line(1,2){5}} \put(#1,#2){\line(1,0){25}}
+ \X=#1 \Y=#2 \advance\X by 30 \advance\Y by 10
+ \put(\the\X,\the\Y){\line(-1,-2){5}} \put(\the\X,\the\Y){\line(-1,0){25}}
+ \put(#1,#2){\makebox(30,10){#3}}}
+
+
+% don't ask me why it's 0.7mm, that's from Nico! -js
+
+\unitlength=0.7mm
+
+
+\begin{picture}(260,160)(80,0)
+
+% this code provides a dotted grid that makes modification easier
+
+%\multiput( 70, 0)(10,0){20}{%
+% \vbox to 160\unitlength{%
+% \leaders
+% \vbox to 2.5\unitlength{%
+% \vfill
+% \hbox{\fivrm .}%
+% \vfill
+% }%
+% \vfill
+% }%
+% }
+%\multiput( 70, 0)(0,10){17}{%
+% \hbox to 190\unitlength{%
+% \leaders
+% \hbox to 2.5\unitlength{%
+% \hfill
+% \hbox{\fivrm .}%
+% \hfill
+% }%
+% \hfill
+% }%
+% }
+
+
+%
+% IniTeX block
+%
+ \File( 75,145){tfm} \File(105,145){hyp} \File(135,145){mac}
+ \File(165,145){pool}
+\multiput( 85,145)(30,0){4}{\line(0,-1){5}}
+ \put( 85,140){\line(1,0){90}}
+ \put(115,140){\vector(0,-1){5}}
+ \Program(100,125){\INITeX}
+ \put(115,125){\line(0,-1){5}}
+ \put(100,120){\line(1,0){30}}
+\multiput(100,120)(30,0){2}{\vector(0,-1){5}}
+ \File( 90,105){log}
+ \File(120,105){fmt} \File(150,105){tex}
+ \File(180,105){sty} \File(210,105){mac} \File(240,105){tfm}
+
+%
+% TeX block
+%
+\multiput(130,105)(30,0){5}{\line(0,-1){5}}
+ \put(130,100){\line(1,0){120}}
+ \put(175,100){\vector(0,-1){5}}
+ \Program(160, 85){\TeX82}
+ \put(175, 85){\line(0,-1){5}}
+ \put(130, 80){\line(1,0){90}}
+\multiput(130, 80)(30,0){4}{\vector(0,-1){5}}
+ \File(120, 65){dvi} \File(150, 65){log}
+ \File(180, 65){idx} \File(210, 65){aux}
+% loop back to TeX
+ \put(230, 70){\line(1,0){10}}
+ \put(240, 70){\vector(0,1){10}}
+ \put(240, 80){\line(0,1){10}}
+
+%
+% BibTeX block
+%
+ \File(195, 45){bib} \File(225, 45){bst}
+\multiput(205, 45)(30,0){2}{\line(0,-1){5}}
+ \put(205, 40){\line(1,0){30}}
+ \put(220, 65){\vector(0,-1){30}}
+ \Program(205, 25){\BibTeX}
+ \put(220, 25){\line(0,-1){5}}
+ \put(205, 20){\line(1,0){30}}
+\multiput(205, 20)(30,0){2}{\vector(0,-1){5}}
+ \File(195, 5){blg} \File(225, 5){bbl}
+% loop back to TeX
+ \put(245, 10){\line(1,0){10}}
+ \put(255, 10){\vector(0,1){10}}
+ \put(255, 20){\line(0,1){70}}
+
+%
+% MakeIndex block
+%
+ \File(150, 45){ist}
+ \put(190, 65){\line(0,-1){20}}
+\multiput(160, 45)(30,0){2}{\line(0,-1){5}}
+ \put(160, 40){\line(1,0){30}}
+ \put(175, 40){\vector(0,-1){5}}
+ \Program(160, 25){\MakeIndex}
+ \put(175, 25){\line(0,-1){5}}
+ \put(145, 20){\line(1,0){30}}
+\multiput(145, 20)(30,0){2}{\vector(0,-1){5}}
+ \File(135, 5){ilg} \File(165, 5){ind}
+% loop back to TeX
+ \put(175, 5){\line(0,-1){5}}
+ \put(175, 0){\line(1,0){85}}
+ \put(260, 0){\vector(0,1){10}}
+ \put(260, 10){\line(0,1){80}}
+ \put(260, 90){\vector(-1,0){70}}
+
+%
+% device driver block
+%
+ \File( 90, 65){fnt}
+\multiput(100, 65)(30,0){2}{\line(0,-1){25}}
+ \put(100, 40){\line(1,0){30}}
+ \put(115, 40){\vector(0,-1){5}}
+ \Program(100, 25){\DriverInFigtotal}
+ \put(115, 25){\vector(0,-1){10}}
+ \Device(100, 5){\OutputInFigtotal}
+
+
+\end{picture}
+
+
+\endinput
+