% FEYNMANDOC1 RUN BY BATCH1 OR PRINTDOC
% FEYNMAN DOCUMENTATION - CHAPTER 1 - INTRODUCTION
%\tableofcontents  moved to FEYNMANDOCPRELIMS
%
\pagenumbering{arabic}
\setcounter{page}{1}
\chapter{Introduction}

\section{What is FEYNMAN?}

\FEYNMAN\ is a \LaTeX\ macropackage which allows the user to easily draw
Feynman diagrams as part of the text of a \LaTeX\ document.

\section{What is \LaTeX?}

\LaTeX\ is a \TeX\ macropackage, that is a collection of definitions and
subroutines, which modifies and expands upon
the basic \TeX\ commands by establishing
a series of {\em environments}.  
In your input document these environments have the form
\begin{center}  
\bs begin\{environment name\} \\ 
$ \vdots $ \\
\bs end\{environment name\}  
\end{center} 
The above was produced in the {\em center} environment.

\FEYNMAN\ operates in the {\em picture} environment.  For full details
about this environment, or \LaTeX\ in general, the \LaTeX\ User's
Guide and Reference Manual by Leslie Lamport is most highly recommended.
A basic familiarity with \LaTeX\ will be assumed in this manual.

\section{How is FEYNMAN used?}

Prior to entering the picture environment to draw a Feynman diagram the
%user must (at the time which this document was prepared) issue the statement
user must\footnote{This is true at the time which this document is being
prepared for the Cavendish Laboratories HEP Vax system, Cambridge, England.}
issue the statement
%\begin{center} \bs input HEP0::FEYNMAN \end{center}
\begin{center} \bs input FEYNMAN \end{center}
This may be included at the beginning of the document (following
\bs begin\{document\}) or immediately preceeding the first usage of
\FEYNMAN\ as in
\begin{center}  \bs input FEYNMAN  \\
                \bs begin\{picture\} \\
                $\vdots$\\
                \bs end\{picture\} 
\end{center}
Of course normal picture environment commands may be used in conjunction
with those of \FEYNMAN.

\section{How does FEYNMAN work?}

Basically \FEYNMAN\ pieces together mathematical symbols
and special characters in order to draw the lines and vertices of Feynman
diagrams.  If you are not familiar with what a Feynman diagram is
you probably do not need to use this package in any event.
\LaTeX\ has defined a number of new character fonts.  The ones which are used
in this macropackage draw pieces of lines and circles.  These are then
pieced together in certain modular configurations and stored with the
{\it savebox} facility of \LaTeX.  These pieces are in turn used to
construct more complicated structures and so forth.  Only the basic
\LaTeX\ fonts are required, not the extended sets.  

This latter point was instituted to permit greater compatibility with other
systems.  The disadvantage is that the basic set has an extremely limited
range of characters to play with and thus there is little scope for adjusting
the size and shape of particle lines which one might wish to be be drawn.  
For instance
there are only ten different sized circles and the minimum length of
a diagonal line is about half a centimeter.  A further deficiency of
standard \LaTeX\ (or \TeX\ for that matter) implementations is the small
amount of internal working space which the program permits.
This restricts the volume of text which may be processed at a time.
Since \FEYNMAN\ eats up a lot of internal memory, and a great deal more
is required to store the positions of all of the individual symbols
which go into drawing a complicated diagram, one is restricted in
the maximum size and complexity
of picture which may be drawn.  This, and a possible
remedy, will be further discussed in the ERRORS section at the end.

\section{The Basics}

This manual is divided into essentially three sections.  The first
(chapters two and three) illustrates the basic commands for drawing
particle lines and vertices.  The second (chapter four) details some
advanced features and uses.  The third consists of various appendices
and the solutions to problems posed at random throughout.

In the {\it picture mode} of \LaTeX, in which \FEYNMAN\ operates,
a {\em grid} is established with Cartesian $(x,y)$ co-ordinates on which
the picture is drawn.
The scale of the grid is normally user-defined but \FEYNMAN\ utilizes a
default grid size in which all distances are measured in {\bf centipoints}.
One centipoint is 1/7227 of an inch or 0.14 mils or 0.0035 millimeters
or 3.5 microns.  This is an exceedingly small measure but there is a reason for
this.  All numbers input to \FEYNMAN's parameters, in particular lengths
and positions, must be integers.  You will probably find it most convenient to
think of lengths in terms of thousands of centipoints;
a thousand centipoints equalling one seventh of an
inch or one third of a centimeter.  The eye is quite capable of detecting
displacements of one centipoint (or even less) even if the system printer
is incapable of such resolution.  Printers will, however, round positions to
the nearest pixel and accurate positioning will aid correct rounding.

When drawing a Feynman diagram the user should have a rough sketch of
the picture, including labelling, arrows \etc
He or she should then select a {\em box size}, in centipoints,
into which the picture should be placed.  This will determine size of the block
allocated on your page, possibly between text, equations or other
pictures, which will be given to the current picture.
One then issues the command:\\
\bbeginpic(7000,7000)\\
which enters picture mode and sets the box size to be $7000\times 7000$,
or roughly 1 inch by 1 inch.  Any box size may be used, up to the
declared size of the page.
When \FEYNMAN\ is input it automatically
sets the scale and this will be retained unless re-defined by the user.
{\em This cannot be done while \FEYNMAN\ is in effect or disaster will
ensue.}

Next the user must select a co-ordinate, generally (0,0), from which to
start drawing the diagram.  You need not keep track of the numerical
co-ordinates thereafter, \FEYNMAN\ will do that for you.  In fact that
is the whole point of the program.  You tell it what you want drawn, in which
direction and how long (in some sense) it should be and it will do it.
After drawing a line (or vertex) all of the important positions will be
given names and you can specify {\it these} to tell it where to commence
the next line.  In point of fact you can usually begin your diagram at any
point in it and fill the lines in many different orders.  A little experience
will show that it is usually easiest to start at one end, or branch, and
work your way along.  This way the same position names may be re-used,
superseding the old values.  The details will be given in chapter~2.
When the picture is complete the command:\\
\eendpic\\
is issued.

The basic command for drawing lines is \ddrawline.  With this all
standard line and vertex types may be drawn.  In addition a number
of specialized vertices have been pre-defined.  These are drawn with
the \ddrawvertex\ command which is discussed in chapter three.

\section{Getting Started}

A basic familiarity with \FEYNMAN\ may be obtained by reading chapter one and
sections 2.1-2.7 and 2.9.
The following small sample file illustrates the basic form of a
file utilizing \FEYNMAN.

\begin{verbatim}

\documentstyle[12pt]{article}
\begin{document}
\input FEYNMAN
\textheight 800pt \textwidth 450pt
The gluon then branches into a pair of partons, in this case a quark-antiquark
pair:

\begin{picture}(10000,18000)
\drawline\gluon[\S\REG](0,16000)[8]
\put(2500,\pmidy){Times 3 colours}
\drawline\fermion[\SW\REG](\gluonbackx,\gluonbacky)[2000]
\drawline\fermion[\SE\REG](\gluonbackx,\gluonbacky)[2000]
\end{picture}
\hskip 1.38 in
\begin{picture}(10000,18000)
\drawline\gluon[\S\CENTRALGLUON](0,16000)[8]
\drawline\scalar[\SW\REG](\gluonbackx,\gluonbacky)[5]
\drawline\scalar[\SE\REG](\gluonbackx,\gluonbacky)[5]
\end{picture}

Where the second picture is the interaction with the hypothesized squark.
\end{document}

\end{verbatim}

A few brief points should be made about the above.  The {\em textheight}
and {\em textwidth} set the pagesize, made larger than usual in the above
in order to draw longer and wider pictures.
The \bs{\em put} command is a basic \LaTeX\ command for placing text in 
a picture.  The commands {\em \bs hskip, \bs vskip} may be used for adding
extra space, horizontally and vertically, where needed.  
Any size ([10pt],[11pt] or [12pt]) and style of document may be
specified and the resultant diagrams will be unaffected with one
exception.\footnote{The exception is that when horizontal photons are drawn in
a [12pt] document, that the command ``\bs bigphotons'' must appear 
somewhere between the \bs input FEYNMAN statement and the first
time that such a photon is drawn.}
The reader might
wish to duplicate the above example and run it to see the results.

Running and printing a \LaTeX\ file is a system-dependent operation.
On the Cavendish Labs Vax, where this program was developed,
the syntax is:  LATEX $<$filename$>$\\
with default filetype `TEX'.  To print out the compiled file on the
LN03 laser printer the commands:\\
%\newpage
\vbox{
DVI2LN3 $<$filename$>$.DVI /H=337.5 /V=200 \\
PRINT/QUEUE=LN03 $<$filename$>$.LN3 \\
}
would be issued.  It is generally easier to define a command file,
called PRINTLATEX.COM, or some such, of the form:

\vbox{
\begin{verbatim}

$! To print out a Latex file
$ LATEX 'P1'
$ DVI2LN3 'P1'.DVI /H=337.5 /V=200  ! /s=14 /n=1
$ PRINT/QUEUE=LN03 'P1'.LN3
$ DELETE 'P1'.DVI;*
$ DELETE 'P1'.LIS;*
$ DELETE 'P1'.AUX;*
\end{verbatim}
}
\quad \\
which would be executed by @PRINTLATEX $<$filename$>$ and would further
delete the additional files which \LaTeX\ will place on your disk.
On other computer systems the implementation will be somewhat different.

The syntax of the various \FEYNMAN\ commands will now be presented.
