summaryrefslogtreecommitdiff
path: root/info/digests/texline/no14/article.tex
diff options
context:
space:
mode:
Diffstat (limited to 'info/digests/texline/no14/article.tex')
-rw-r--r--info/digests/texline/no14/article.tex210
1 files changed, 210 insertions, 0 deletions
diff --git a/info/digests/texline/no14/article.tex b/info/digests/texline/no14/article.tex
new file mode 100644
index 0000000000..22e08f30c7
--- /dev/null
+++ b/info/digests/texline/no14/article.tex
@@ -0,0 +1,210 @@
+
+\title{Notes on graphics in \TeX}
+Getting pictures onto the printed page is a problematic process,
+basically because the quality you can achieve depends so heavily on
+the cost of the hardware at your disposal. This militates against
+portability, and is one of the reasons why \TeX\ (the ultimately
+portable DTP system) has trouble with graphics. What follows is
+in no sense state-of-the-art graphics typesetting. It is simply an
+account of how a \TeX\ {\it user}, having a variety of types of
+picture and needing to transport files between different machines,
+came up with some {\it ad hoc} solutions. Probably nobody else will
+have exactly the same requirements as I had, but the opportunities
+may have wider relevance.
+
+\section{Diagrams}
+There is a deep structure underlying large areas of mathematics, and
+manifesting itself in various ways, which is conventionally described
+by diagrams called {\it Coxeter-Dynkin diagrams}. Most of these
+consist of a number of nodes in a line, consecutive nodes joined by
+single or double bonds. However, there are some diagrams which have a
+three-way branch (one of the arms having length~1), such as $E_6$,
+which looks like this:
+$$\esix$$
+The straight-line diagrams can be drawn easily enough, using the
+{\tt\char`\\circ} character for nodes and rules for the arcs joining them.
+I found that some kerning was necessary. This had to be done by trial
+and error, with the disadvantage that what looks right on the screen
+may not do so on the laser printer (presumably a defect in the \dvi\
+drivers). Perhaps this could be improved by turning off the glue; but
+I decided that what I had was good enough.
+
+Recently, geometers have begun using these and similar diagrams to
+describe strange new geometries. It has become customary to attach
+labels to both nodes and arcs; in the case of nodes, different labels
+above and below carry different information. In Norbert Schwarz's {\sl
+Introduction to \TeX\ }[2], I found a macro for optional arguments.
+(There it is also used for superscripts and subscripts, though the
+details of the printing are a bit different). Using it, I can print
+diagrams like this one (a bit cluttered, for demonstration purposes):
+$$\node^{\rm point}_s \darc \node^{\rm line}_t \arc
+\node^{\rm quad}_q \stroke{L} \node^{\rm symp}_r$$
+Here, the superscripts and subscripts on the nodes are entered in the
+standard \TeX\ manner: for example, the input for the above diagram is
+\begintt
+$$\node^{\rm point}_s \darc
+ \node^{\rm line}_t \arc
+ \node^{\rm quad}_q \stroke{L}
+ \node^{\rm symp}_r$$
+\endtt
+
+This also enables the production of the three-way branching diagrams
+like $E_6$; just subscript a node with a little construction
+consisting of a vertical line with a node at the end.
+
+It's not perfect. Better kerning, and the possibility of changing
+the node character (e.g.\ to a filled or crossed circle) would be
+desirable.
+
+
+
+\section{Figures}
+Elementary geometry requires figures consisting of lines and circles
+intersecting in various ways. Graph theory needs figures a bit like
+the diagrams just discussed, but with much greater flexibility about
+where the nodes are placed and the slopes of the lines.
+
+\LaTeX\ provides a {\tt picture} environment for drawing such
+diagrams. It doesn't handle circles adequately (only very small sizes are
+available), but accurate lines are drawn. The difficulty is the famous
+restriction on the slopes of the lines. Any line which is not
+horizontal or vertical must have rational slope with numerator and
+denominator between 1 and 6 inclusive (possibly negative). Thus, just
+48 slopes are allowed.
+
+For simple pictures, this is OK: draw the picture in rough, choose
+slopes for the lines from the allowed set, and then work out where the
+points must be, by elementary coordinate geometry. There are a couple
+of programs available which take all the calculation out: you draw
+your picture using the mouse, and it is automagically compiled into
+\LaTeX\ source. But for more complicated figures, mathematical insight
+or computational power may be required. For example, consider the
+following ruled quadric.
+
+
+$$\hbox{%
+\setlength{\unitlength}{0.02mm}
+\picture(1200,1800)(-600,-100)
+\put(707,-141){\Line(0,1){1697}}
+\put(-707,-141){\Line(0,1){1697}}
+\put(-834,-110){\Line(1,6){282}}
+\put(834,-110){\Line(-1,6){282}}
+\put(-552,-167){\Line(-1,6){282}}
+\put(552,-167){\Line(1,6){282}}
+\put(-929,-74){\Line(1,3){558}}
+\put(929,-74){\Line(-1,3){558}}
+\put(-371,-186){\Line(-1,3){558}}
+\put(371,-186){\Line(1,3){558}}
+\put(-986,-33){\Line(1,2){822}}
+\put(986,-33){\Line(-1,2){822}}
+\put(-164,-197){\Line(-1,2){822}}
+\put(164,-197){\Line(1,2){822}}
+\put(69,-200){\Line(-2,3){1067}}
+\put(-69,-200){\Line(2,3){1067}}
+\put(-998,14){\Line(2,3){1067}}
+\put(998,14){\Line(-2,3){1067}}
+\put(1000,0){\Line(-5,6){1338}}
+\put(-1000,0){\Line(5,6){1338}}
+\put(338,-188){\Line(-5,6){1338}}
+\put(-338,-188){\Line(5,6){1338}}
+\put(924,-76){\Line(-1,1){1631}}
+\put(-924,-76){\Line(1,1){1631}}
+\put(707,-141){\Line(-1,1){1631}}
+\put(-707,-141){\Line(1,1){1631}}
+\endpicture}$$
+
+The obvious way to draw this is to take two horizontal circles, one
+above the other; take equally spaced points on one, and join them to
+the points a fixed angle in front or behind on the other, and then
+work out the plane projection in the usual way. With \LaTeX, it is
+necessary to work out a formula for the angle which will give the
+projected line a given slope, and solve it for various admissible
+slopes.
+
+An added complication here is that my first serious use of this
+mechanism was for a book [1] for which my co-author sent me his part
+(by email) in \AmSTeX. Converting it to plain \TeX\ was straightforward,
+but took time; I was not prepared to take the further step to
+\LaTeX. Malcolm Clark had told me that it was easy enough to convert
+the \LaTeX\ picture commands to plain \TeX; I couldn't find his
+version in the Aston archive, so I took him at his word and did it
+myself. Look at the book and judge the result!
+
+I learnt too late that \PiCTeX\ might have helped me here. But I
+believe that simpler tools have their place.
+
+\section{Pictures}
+Suppose you want to include in your document a picture not made up of
+geometric elements. If you are a \PS\ programmer or a \dvi\
+wizard, anything is possible; but the result will not be portable. I
+would like to be able to preview, print in draft on a 9-pin dot matrix
+printer, and send the file over the network to the laser printer.
+
+My terminal and my machine at home are both Atari STs. The commonest
+picture format for DTP on this machine, also used in the PC world, is
+the dreaded {\tt.img}. After combing the public domain for information on
+the {\tt.img} file format, I wrote a program to translate a {\tt.img} file into
+\TeX\ input consisting of long sequences of boxes and rules.
+
+It doesn't work on all inputs (I've never met anyone who claims to
+have a program which handles all {\tt.img} files!), but seems fine on mono
+screen snapshots. The \TeX\ file is liable to be very big, so this is
+only recommended for small images (logos, signatures, etc.) The result
+is (of course) as portable as any plain \TeX\ input, and can be re-%
+scaled by setting two pixel size parameters at the start of the file.
+Here, for example, is an image probably familiar to all GEM-based
+computer users.
+
+\input tiger
+$$\tiger$$
+
+{\frenchspacing
+\def\item#1{\par\hangindent1.5em\hangafter1{\noindent
+\hbox to 1.5em{#1\hfil}}}
+\def\bibitem#1#2{\item{{#1}}{#2}}
+\section{Bibliography}
+\bibitem{1}{{\sc P J Cameron \& J H van Lint,} {\sl Designs, Graphs, Codes and their
+Links}, London Math. Soc. Student Texts {\bf 22}, Cambridge Univ. Press,
+1991.}
+\bibitem{2}{{\sc Norbert Schwarz,} {\sl Introduction to \TeX}\ (transl. {\sc J Krieger}),
+Addison-Wesley, 1990.}
+\author{Peter Cameron}}
+
+
+\endinput Cameron}
+}
+
+
+\endinput90.}}
+
+\author{Peter Cameron}
+\endinputtle to be very big, so this is
+only recommended for small images (logos, signatures, etc.) The result
+is (of course) as portable as any plain \TeX\ input, and can be re-%
+scaled by setting two pixel size parameters at the start of the file.
+Here, for example, is an image probably familiar to all GEM-based
+computer users.
+
+\input tiger
+
+$$\tiger$$
+
+\medbreak
+
+\noindent{\sl References}
+\frenchspacing
+
+1. P. J. Cameron \& J. H. van Lint, {\sl Designs, Graphs, Codes and their
+Links}, London Math. Soc. Student Texts {\bf 22}, Cambridge Univ. Press,
+1991.
+
+2. N. Schwarz, {\sl Introduction to \TeX}\ (transl. J. Krieger),
+Addison-Wesley, 1990.
+
+\medskip
+
+\line{\hfill\sl Peter Cameron}
+
+\bye
+
+