% Appendix B of FEYNMANDOC \appendix \addtocounter{chapter}{1} \chapter{Syntax and Features} This appendix summarizes the features available in \FEYNMAN\ and their usage. \section{Lines} \subsection{Arguments and Syntax of the \ddrawline\ command} The \ddrawline\ command: \begin{verbatim} \drawline |type| [|direction| |style|] (|starting x-co-ord|,|y-co-ord|)[|length|] \fermion \N \REG (integer,integer) extent (cpt) \scalar \NE \FLIPPED (variable,integer) # segments \photon \E \CURLY (integer,variable) # half-wiggles \gluon \SE \FLIPPEDCURLY (variable,variable) # loops \especial \S \FLAT ALL IN CENTIPOINTS # units \SW \FLIPPEDFLAT (1000 cpt = 1/3 cm) (integer/ \W \CENTRAL variable) \NW \FLIPPEDCENTRAL \LONGPHOTON \FLIPPEDLONG \SQUASHED \end{verbatim} Where the length corresponds to the particle {\em type} in the same column. Not all combination of directions and styles are permitted. Fermions, for instance, only appear in the \verb@\REG@ style. Integer-valued positions and lengths will be in {\em centipoints} (cpt) with approximate extent of $\frac{1}{3000}\ cm$ or $\frac{1}{7000}\ in$. Variables may either be user-defined (see next section) or \FEYNMAN-defined, such as \verb@\pmidx@, \verb@\gluonlengthy@, \verb@\gaplength@, or \verb@\fermioncount@. Examples: \begin{verbatim} \drawline\photon[\E\FLIPPEDFLAT](\particlebackx,25000)[9] \drawline\fermion[\SW\REG](\vertexfourx,\vertexfoury)[\fermionlengthy] \end{verbatim} \subsection{Line Modifiers} The following is a list of modifiers which can be used to alter or embellish particle lines. The number in parentheses is the section in which the feature is discussed. \begin{verbatim} \bigphotons (2.9.2) \documentstyle (1.6) \gaplength (2.8.2) \gluoncap (4.3.3) \gluonlink (4.3.1) \linethickness (LaTeX manual section C.13.3) \THICKLINES; \THINLINES; \thicklines; \thinlines (2.4) \seglength (2.8.2) \stemmed,\frontstemmed,\backstemmed (4.3.2) \stemlength (4.3.2) \end{verbatim} \section{Vertices} \subsection{Arguments and Syntax of the \ddrawvertex\ command} The \ddrawvertex\ command: \begin{verbatim} \drawvertex |type| [|direction| |number|] (|starting x-co-ord|,|y-co-ord|)[|length|] \photon \N 3 (integer,integer) # half-wiggles \gluon \NE 4 (variable,integer) # loops \E (integer,variable) \SE (variable,variable) \S ALL IN CENTIPOINTS \SW (1000 cpt = 1/3 cm) (integer/ \W variable) \NW \end{verbatim} Where the length corresponds to the particle {\em type} in the same column. The vertex is drawn starting from the specified (x,y) co-ordinate with either three or four lines. The first line is drawn in the indicated direction, terminating at the hub (midpoint) of the vertex. It is called {\em line one}. The remaining lines are drawn radiating from the vertex and numbered counterclockwise as line two, line three (and line four if `number'=4). Every line will have the same number of gluon loops or photon wiggles. Examples of other vertices, such as a fermion-fermion-photon vertex, are discussed throughout the manual. Examples: \begin{verbatim} \drawvertex\photon[\E 3](\vertexonex,-5000)[5] \drawvertex\gluon[\SW 4](\vertexfourx,\vertexfoury)[4] \end{verbatim} \subsection{Vertex Modifiers} The following is a list of modifiers which can be used to alter or embellish vertices. The number in parentheses is the section in which the feature is discussed. \begin{verbatim} \bigphotons (2.9.2) \documentstyle (1.6) \flipvertex (3.7) \THICKLINES; \THINLINES; \thicklines; \thinlines (2.4) \stemlength (4.3.2) \stemvertex, \stemvertices (4.3.2) \vertexcap, \vertexcaps (4.3.3) \vertexlink, \vertexlinks (4.3.1) \end{verbatim} \section{Returned Parameters} The following is a list of all arguments returned by \ddrawline, \ddrawvertex\ and \bs drawloop. Arguments such as \verb@\photonfronty@ will only be returned when a photon is drawn. All returned parameters are {\em globally} defined and immediately supersede the previous value of the variable. Thus if a gluon were drawn (or a gluon vertex) the values of \verb@\pbackx@ and \verb@\gluonlengthx@ would be updated but \verb@\photonfrontx@ would retain its former value. When a vertex or loop is drawn line parameters, such as \bs pmidx, will refer to the {\em last} line or line portion drawn. Parameters commencing with \bs{\bf vertex} are \underline{only} returned by \ddrawvertex. Parameters commencing with \bs{\bf loop} are \underline{only} returned by \bs drawloop. Note that some of these parameters may be altered by stems, caps, links and arrows (see appropriate sections). \begin{verbatim} \boxlengthx,\boxlengthy: The absolute valued (x,y) extent of the line. \fermionbackx,\fermionbacky: The (x,y) co-ordinates of the back of the line. \fermioncount The number of fermions printed thus far. \fermionfrontx,\fermionfronty: The (x,y) co-ordinates of the front of the line. \fermionlength The total length of the fermion line. \fermionlengthx,\fermionlengthy: The (x,y) extent of the line. \gluonbackx,\gluonbacky: The (x,y) co-ordinates of the back of the line. \gluoncount The number of gluons printed thus far. \gluonfrontx,\gluonfronty: The (x,y) co-ordinates of the front of the line. \gluonlengthx,\gluonlengthy: The (x,y) extent of the line. \lastline: The name of the last drawn particle line. \loopbackx,\loopbacky: The (x,y) co-ordinates of the back of the loop. \loopfrontx,\loopfronty: The (x,y) co-ordinates of the front of the loop. \particlebackx,\particlebacky: The (x,y) co-ordinates of the back of the line. \particlefrontx,\particlefronty: The (x,y) co-ords of the front of the line. \particlelengthx,\particlelengthy: The (x,y) extent of the line. \particlemidx,\particlemidy: The (x,y) co-ordinates of the middle of the line. \pbackx,\pbacky: = \particlebackx,\particlebacky \pfrontx,\pfronty: = \particlefrontx,\particlefronty \plengthx,\plengthy: = \particlelengthx,\particlelengthy \pmidx,\pmidy: = \particlemidx,\particlemidy \photoncount The number of photons printed thus far. \photonbackx,\photonbacky: The (x,y) co-ordinates of the back of the line. \photonfrontx,\photonfronty: The (x,y) co-ordinates of the front of the line. \photonlengthx,\photonlengthy: The (x,y) extent of the line. \scalarcount: The total number of scalars printed thus far. \scalarbackx,\scalarbacky: The (x,y) co-ordinates of the back of the scalar. \scalarfrontx,\scalarfronty: The (x,y) co-ordinates of the front of the scalar. \scalarlengthx,\scalarlengthy: The (x,y) extent of the scalar. \unitboxlength,\unitboxheight: The (x,y) extent of one unit of the last line. \unitboxnumber: The `length' of the previous line in `units'. \vertexcount: The number of vertices printed thus far. \vertexonex,\vertexoney: The (x,y) co-ordinates of the back of line one. \vertextwox,\vertextwoy: The (x,y) co-ordinates of the back of line two. \vertexthreex,\vertexthreey: The (x,y) co-ordinates of the back of line three. \vertexfourx,\vertexfoury: The (x,y) co-ordinates of the back of line four. \vertexmidx,\vertexmidy: The (x,y) co-ordinates of the middle of the vertex. \end{verbatim} \section{Arrows and Loops} The other two \bs draw commands in \FEYNMAN\ are \bs drawarrow and \bs drawloop. \subsection{\bs drawarrow} The syntax is: \begin{verbatim} \drawarrow[|direction| |configuration|] (|starting x-co-ord|,|y-co-ord|) \N \ATBASE (integer,integer) \NE \ATTIP (variable,integer) \E (integer,variable) \SE (variable,variable) \S ALL IN CENTIPOINTS \SW (1000 cpt = 1/3 cm) \W \NW \LINEDIRECTION \LDIR \end{verbatim} An arrowhead is produced at the specified (x,y) co-ordinates in the specified direction. If \bs LDIR or \bs LINEDIRECTION is used then the direction will be that of the most recently drawn line in the current picture. If the previous line was drawn by the \ddrawvertex\ command then the {\it initially specified} vertex direction will be used. If \bs ATBASE is used then the specified co-ordinates refer to the {\em base} of the arrow. If \bs ATTIP is used then the specified co-ordinates refer to the {\em tip} of the arrow. The following parameters are returned by \bs drawarrow: \begin{verbatim} \arrowlength The (absolute) length of the arrow drawn (cp). \boxlengthx,\boxlengthy The (x,y) co-ordinatess of the TIP of the arrow. \end{verbatim} Other variables, such as \bs pbackx,y and \bs photonlengthx,y are unaffected by \bs drawarrow. Arrows may be emboldened, via \bs THICKLINES, independently of the line to which they are attached. Arrows will remain invisible in phantom mode. Examples are: \begin{verbatim} \drawarrow[\LDIR\ATTIP](\pmidx,\pmidy) \drawarrow[\S\ATBASE](0,0) \end{verbatim} \subsection{\bs drawloop} This was detailed in section 4.4. The syntax is: \begin{verbatim} \drawloop |type| [|direction| |extent|] (|starting x-co-ord|,|y-co-ord|) \gluon \N 0 (integer,integer) \NE 1 (variable,integer) \E 2 (integer,variable) \SE 3 (variable,variable) \S 4 ALL IN CENTIPOINTS \SW 5 (1000 cpt = 1/3 cm) \W 6 \NW 7 8 \end{verbatim} A {\em central} loop is drawn if the extent is specified as zero (section 4.4.2). Returned parameters are: \begin{verbatim} \loopbackx,\loopbacky co-ords of opposite point of loop (non-central loop) co-ords of right-most point of loop (central loop) \loopfrontx,\loopfronty co-ords of beginning point of loop (non-central loop) co-ords of left-most point of loop (central loop) \loopmidx,\loopmidy co-ords of geometric middle point of loop \pbackx,\pbacky co-ords of end point of loop \gluonbackx,\gluonbacky co-ords of end point of loop (for a gluon loop) \end{verbatim} \bs loopbackx,y and \bs loopmidx,y are only assigned values if at least half of a loop has been drawn, that is if the loop `extent' is 0,4,5,6,7 or 8. Example: \begin{verbatim} \drawloop\gluon[\NE 3](\pbackx,\pbacky) \drawloop\gluon[\E 0](0,0) \end{verbatim} \section{Placement and Storage Features} Placement and storage facilities were discussed in sections 4.1 and 4.2. The following is a list followed by the syntax or typical usage. In cases where the feature is principally discussed in other sections these are listed in parentheses. Parameters such as \bs gluonlengthx and \bs vertexmidx have been listed in appendix B.3. \begin{verbatim} \addtocounter: \addtocounter{} (See 4.1.1) \advance: \global\advance by Example: \global\advance \X by \Y \divide: \global\divide by \double: \double Eg: \double\Yfive. \drawandsaveline: \drawandsaveline `' as \drawoldpic: \drawoldpic(x,y) Eg: \drawoldpic\mygluon(0,\pbacky) \hskip: \hskip (1.6) Used to move pictures around on the page. \lastline: Stored name of previously drawn line. Eg: \drawoldpic\lastline(0,0) \multiply: \global\multiply by Example: \global\multiply \Xtwo by 7 \multroothalf: \multroothalf \negate: \negate eg: \negate\plengthx \newcount: \global\newcount Example: \global\newcount\pmidycopy \global\pmidycopy=\pmidy \newcounter: \newcounter{} (See 4.1.1) \newsavebox: \global\newsavebox{}. Eg: \global\newsavebox{\Bhabha}. \put: \put(,){}. Eg: \put(0,\pmidx){\circle{1000}} (2.11.2). \savebox: \savebox{}(,)[]{} \sbox: \sbox{}{}. Like \savebox. Eg:\savebox{\Mypic}{}. \setcounter: \setcounter{} (See 4.1.1) \startphantom: \startphantom...text...\stopphantom \stopphantom: \startphantom...text...\stopphantom \the: Evaluates a variable (section 4.2.1). \vskip: \vskip (1.6) Used to move pictures around on the page. \Xone: Unassigned variable pre-defined by FEYNMAN. \Xtwo: Unassigned variable pre-defined by FEYNMAN. \Xthree: Unassigned variable pre-defined by FEYNMAN. \Xfour: Unassigned variable pre-defined by FEYNMAN. \Xfive: Unassigned variable pre-defined by FEYNMAN. \Xsix: Unassigned variable pre-defined by FEYNMAN. \Xseven: Unassigned variable pre-defined by FEYNMAN. \Xeight: Unassigned variable pre-defined by FEYNMAN. \Yone: Unassigned variable pre-defined by FEYNMAN. \Ytwo: Unassigned variable pre-defined by FEYNMAN. \Ythree: Unassigned variable pre-defined by FEYNMAN. \Yfour: Unassigned variable pre-defined by FEYNMAN. \Yfive: Unassigned variable pre-defined by FEYNMAN. \Ysix: Unassigned variable pre-defined by FEYNMAN. \Yseven: Unassigned variable pre-defined by FEYNMAN. \Yeight: Unassigned variable pre-defined by FEYNMAN. =: \global=. Eg: \global\X=2. \end{verbatim}