%                          VERTEX(25)
% CALLED BY FEYNMAN(34).TEX.
% Vertex functions for FEYNMAN drawn via \drawvertex.
%
\global\advance\vertexcount by 1 % Needed and defined in FEYNMAN19&20.
\newsavebox{\vertexbox}
\global\newcount\LDIRcount      % Counts the number of vertices drawn.
\global\newcount\VERTEXNUMBER   % 3 or 4; The number of particles in the
% vertex.
\global\newdimen\VERTEXLINKONE  % And now some switches.
\global\newdimen\VERTEXLINKTWO
\global\newdimen\VERTEXLINKTHREE
\global\newdimen\VERTEXLINKFOUR %\clearvertex  %sets them to zero
\global\newdimen\VERTEXCAPONE   % And now some GLUONCAP switches.
\global\newdimen\VERTEXCAPTWO
\global\newdimen\VERTEXCAPTHREE
\global\newdimen\VERTEXCAPFOUR  %\clearvertex  %sets them to zero
\global\newdimen\STEMVERTEXONE
\global\newdimen\STEMVERTEXTWO
\global\newdimen\STEMVERTEXTHREE
\global\newdimen\STEMVERTEXFOUR %\clearvertex  %sets them to zero
\global\newcount\stemlengthcopy
\global\newcount\vertexonex    \global\newcount\vertexoney
\global\newcount\vertextwox    \global\newcount\vertextwoy
\global\newcount\vertexthreex  \global\newcount\vertexthreey
\global\newcount\vertexfourx   \global\newcount\vertexfoury
\global\newcount\vertexmidx    \global\newcount\vertexmidy
\global\newcount\VERTEXLINE
\global\newcount\FLIPVERTEX    \global\FLIPVERTEX=0
\gdef\flipvertex{\global\FLIPVERTEX=1}  %For drawing vertices with flipped
% lines
\newcount\vertadj              \newcount\negvertadj
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%                         SAMPLE USAGE:
%
% Syntax:  \drawvertex<\particletype[\DIRECTION #particles in vertex (3 or 4)]
%                      (x,y)[\number of loops or half-wiggles]>
% eg:  \drawvertex\gluon[\NE 3}(0,10000)[3]
%  Where the particle type is either \gluon or \photon
%  Direction is \N, \NE, \E...\NW as with drawing lines.
%    This is the direction of the initial vertex line which you give
%    the co-ords of.  For 3-prong vertices the other 2 lines are 90-degrees
%    to each other and `opposite' the initial line forming a `Y'.
%    For 4-prong vertices an `X' or `+' is formed.
%    The initial line begins at co-ords (vertexonex,\vertexoney) and
%    are numbered in a clockwise sense so that the next line ends are
%    (\vertextwox,\vertextwoy) etc.  The point of convergence is at
%    (\vertexmidx,\vertexmidy).
%  The number of particles will be either 3 (eg: WWZ vertex) or 4.
%  Co-ords of directed line as above.
%    These then become (\vertexonex,\vertexoney).
%  The number of loops each line of a gluon vertex has or the number of half-
%    wiggles each line of a general gauge vertex is the final parameter.
%
%  To flip the initial (\vertexone) line configuration for a 3-vertex
%    or ALL of the lines in a 4-vertex  say \flipvertex\drawvertex...
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                           %
%                         CALLING ROUTINES                                  %
%                                                                           %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\gdef\drawvertex#1[#2#3](#4,#5)[#6]{
\global\advance\vertexcount by 1 % Counts number of vertices draw.
\global\LINETYPE=#1           % either \gluon or \photon
\global\LINEDIRECTION=#2
\global\VERTEXNUMBER=#3  % either 3 or 4
\global\vertexonex=#4
\global\vertexoney=#5
\global\unitboxnumber=#6
\global\stemlengthcopy=\stemlength   % Record use-defined value.
%
% SELECT VERTEX:
%
\ifnum\LINETYPE<3 \LINEERROR \fi
\ifnum\LINETYPE=3   %  *** PHOTONS ***
% TEST WHETHER GLUONS HAVE BEEN PREVIOUSLY DRAWN:
\ifnum\gluoncount=0 \def\gluonlink{\relax} \def\gluoncap{\relax} \fi
  \ifnum\VERTEXNUMBER<3 \UNIMPERROR \fi
  \ifnum\VERTEXNUMBER=3 \THREEPHOTON\fi % 3-PHOTON VERTEX
  \ifnum\VERTEXNUMBER=4 \FOURPHOTON \fi % 4-PHOTON VERTEX
  \ifnum\VERTEXNUMBER>4 \UNIMPERROR \fi
\fi
\ifnum\LINETYPE=4   %  *** GLUONS ***
  \ifnum\VERTEXNUMBER<3 \UNIMPERROR \fi
  \ifnum\VERTEXNUMBER=3 \THREEGLUON \fi % 3-GLUON VERTEX
  \ifnum\VERTEXNUMBER=4 \FOURGLUON  \fi % 4-GLUON VERTEX
  \ifnum\VERTEXNUMBER>4 \UNIMPERROR \fi
\fi
\ifnum\LINETYPE>4 \LINEERROR \fi
\clearvertex   %  Resets VERTEXLINKs, VERTEXCAPS etc.
}  % END \drawvertex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                            %
%                            PHOTON VERTICES                                 %
%                                                                            %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\gdef\advtwomodeight#1{
\global\advance\LDIRcount by2\moduloeight\LDIRcount
\diagFOURVERT#1[\LDIRcount]}
%
%                        %%%%%%%%%%%%%%%%%%%%%%%
%                        % Three-Photon Vertex %
%                        %%%%%%%%%%%%%%%%%%%%%%%
\gdef\THREEPHOTON{
\ifcase\LDIR  % N vertex
\setvertexA[\S\REG]
\setvertexB[\NW\CURLY](0,0)[2]  \setvertexB[\NE\FLIPPEDCURLY](0,0)[3]
\or  % NE vertex
\setvertexA[\SW\CURLY]
\setvertexB[\N\REG](70,-100)[2] \setvertexB[\E\FLIPPED](0,0)[3]
\or  % E vertex
\setvertexA[\W0]
\setvertexB[\NE\CURLY](20,0)[2] \setvertexB[\SE\FLIPPEDCURLY](20,0)[3]
\or  % SE VERTEX
\setvertexA[\NW\CURLY]
\setvertexB[\E\REG](0,0)[2] \setvertexB[\S1](20,100)[3]
\or  % S VERTEX
\setvertexA[\N\REG]
\setvertexB[\SE\CURLY](0,0)[2]  \setvertexB[\SW\FLIPPEDCURLY](0,0)[3]
\or  % SW vertex
\setvertexA[\NE\CURLY]
\setvertexB[\S\REG](-20,100)[2]
\setvertexB[\W\FLIPPED](0,0)[3]
\or  % W vertex
\setvertexA[\E\REG]
\setvertexB[\SW\CURLY](0,0)[2]  \setvertexB[\NW\FLIPPEDCURLY](0,0)[3]
\or  % NW vertex
\setvertexA[\SE\CURLY]
\setvertexB[\W\REG](0,0)[2]
\setvertexB[\N\FLIPPED](-40,-100)[3]
\else \DIRECTERROR
\fi
} %end \THREEPHOTON
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%                        %%%%%%%%%%%%%%%%%%%%%%
%                        % Four-Photon Vertex %
%                        %%%%%%%%%%%%%%%%%%%%%%
\gdef\FOURPHOTON{
\ifnum\LDIR>-1
\global\LDIRcount=\LDIR  \global\advance\LDIRcount by 4 \moduloeight\LDIRcount
\setvertexA[\LDIRcount\REG] \advtwomodeight2 \advtwomodeight3 \advtwomodeight4
\else \UNIMPERROR \fi
\global\FLIPVERTEX=0
}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                            %
%                            GLUON VERTICES                                  %
%                                                                            %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%                        %%%%%%%%%%%%%%%%%%%%%%
%                        % Three-Gluon Vertex %
%                        %%%%%%%%%%%%%%%%%%%%%%
\gdef\THREEGLUON{
\vertadj=0   \adjvert  % No special adjustments required for this case.
\ifcase\LDIR  % N vertex
\setvertexA[\S\CENTRAL]
\setvertexB[\NW\REG](0,0)[2]  \setvertexB[\NE\FLIPPED](0,0)[3]
\or  % NE vertex
\setvertexA[\SW\REG]
\setvertexB[\N\CURLY](-170,442)[2] \setvertexB[\E 3](420,-183)[3]
\setvertexC(442,442)[bl]
\or  % E vertex
\setvertexA[\W6]
\setvertexB[\NE\REG](0,0)[2] \setvertexB[\SE\FLIPPED](0,0)[3]
\or  % SE VERTEX
\setvertexA[\NW\REG]
\setvertexB[\E\CURLY](420,183)[2]  \setvertexB[\S3](-183,-442)[3]
\setvertexC(442,-442)[tl]
\or  % S VERTEX
\setvertexA[\N\CENTRAL]
\setvertexB[\SE\REG](0,0)[2]  \setvertexB[\SW\FLIPPED](0,0)[3]
\or  % SW vertex
\setvertexA[\NE\REG]
\setvertexB[\S\CURLY](170,-442)[2]
\setvertexB[\W\FLIPPEDCURLY](-420,183)[3]
\setvertexC(-442,-442)[tr]
\or  % W vertex
\setvertexA[\E\CENTRAL]
\setvertexB[\SW\REG](0,0)[2]  \setvertexB[\NW\FLIPPED](0,0)[3]
\or  % NW vertex
\setvertexA[\SE\REG]
\setvertexB[\W\CURLY](-420,-183)[2]
\setvertexB[\N\FLIPPEDCURLY](170,442)[3]
\setvertexC(-442,442)[br]
\else \DIRECTERROR
\fi
} %end \THREEGLUON
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%                         %%%%%%%%%%%%%%%%%%%%%
%                         % Four-Gluon Vertex %
%                         %%%%%%%%%%%%%%%%%%%%%
%
%
\gdef\FOURGLUON{
\ifodd\LDIR\vertadj=0 \else  \vertadj=412 \fi    \adjvert
\ifcase\LDIR  % N vertex
\setvertexA[\S\CURLY]         \MIDADJUST(\negvertadj,\vertadj)
\WFOURVERT2    \NFOURVERT3    \EFOURVERT4
\or \FOURPHOTON  % NE vertex
\or  % E vertex
\setvertexA[\W\CURLY]         \MIDADJUST(\vertadj,\vertadj)
\NFOURVERT2  \EFOURVERT3  \SFOURVERT4
\or \FOURPHOTON    % SE VERTEX
\or  % S VERTEX
\setvertexA[\N\CURLY]         \MIDADJUST(\vertadj,\negvertadj)
\EFOURVERT2   \SFOURVERT3   \WFOURVERT4
\or \FOURPHOTON    % SW vertex
\or  % W vertex
\setvertexA[\E\CURLY]         \MIDADJUST(\negvertadj,\negvertadj)
\SFOURVERT2  \WFOURVERT3  \NFOURVERT4
\or \FOURPHOTON    % NW vertex
\else \DIRECTERROR
\fi
\global\FLIPVERTEX=0   % reset \FLIPVERTEX to unflipped case.
} % End of \FOURGLUON
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                %                                    %                    %
%                %    FOUR GLUON UTILITY ROUTINES:    %                    %
%                %                                    %                    %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% \MIDADJUST Adjusts the position of the vertex midpoint and draws the
%            central four-gluon pattern.
\gdef\MIDADJUST(#1,#2){
\ifnum\FLIPVERTEX=0
\global\advance\vertexmidx by #1   \global\advance\vertexmidy by #2
\setvertexC(0,\vertadj)[bl]        \setvertexC(0,\negvertadj)[tr]
\setvertexC(\vertadj,0)[tl]        \setvertexC(\negvertadj,0)[br]
\else  % \FLIPPED case
\global\particleadjustx=#1  \global\particleadjusty=#2
\ifnum\LDIR=0 \global\multiply\particleadjustx by -1 \fi
\ifnum\LDIR=2 \global\multiply\particleadjusty by -1 \fi
\ifnum\LDIR=4 \global\multiply\particleadjustx by -1 \fi
\ifnum\LDIR=6 \global\multiply\particleadjusty by -1 \fi
\global\advance\vertexmidx by \particleadjustx
\global\advance\vertexmidy by \particleadjusty
\setvertexC(0,\negvertadj)[tl]        \setvertexC(0,\vertadj)[br]
\setvertexC(\negvertadj,0)[tr]        \setvertexC(\vertadj,0)[bl]
\fi
}
%
\gdef\NFOURVERT#1{
  \ifnum\FLIPVERTEX=0 \setvertexB[\N\CURLY](\negvertadj,\vertadj)[#1]
  \else \setvertexB[\N\FLIPPEDCURLY](\vertadj,\vertadj)[#1] \fi}
\gdef\SFOURVERT#1{
  \ifnum\FLIPVERTEX=0 \setvertexB[\S\CURLY](\vertadj,\negvertadj)[#1]
  \else \setvertexB[\S\FLIPPEDCURLY](\negvertadj,\negvertadj)[#1] \fi}
\gdef\EFOURVERT#1{
  \ifnum\FLIPVERTEX=0 \setvertexB[\E\CURLY](\vertadj,\vertadj)[#1]
  \else \setvertexB[\E\FLIPPEDCURLY](\vertadj,\negvertadj)[#1] \fi}
\gdef\WFOURVERT#1{
  \ifnum\FLIPVERTEX=0 \setvertexB[\W\CURLY](\negvertadj,\negvertadj)[#1]
  \else \setvertexB[\W\FLIPPEDCURLY](\negvertadj,\vertadj)[#1] \fi}
\gdef\diagFOURVERT#1[#2]{\setvertexB[#2\FLIPVERTEX](0,0)[#1]}
%for\NE,\SE,\SW\NW
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                            %
%          Utility Routines Used in Setting Up General Vertices              %
%                                                                            %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
\gdef\setvertexA[#1#2]{
\global\savebox\vertexbox(0,0){
\begin{picture}(0,0)
%eg: \drawline\LINETYPE[\S\CENTRAL](0,0)[\unitboxnumber]
\global\adjx=#2
\ifnum\FLIPVERTEX=1 \global\advance\adjx by 1
      \ifnum\VERTEXNUMBER=3 \global\FLIPVERTEX=0 \fi
  \fi  %  Checks for flipped vertex and then Resets \FLIPVERTEX in 3-glue case.
\ifdim\STEMVERTEXONE=1pt\backstemmed \fi
\drawline\LINETYPE[#1\adjx](0,0)[\unitboxnumber]
\global\stemlength=\stemlengthcopy  % Re-set to use-defined value.
\ifdim\VERTEXLINKONE=1pt\gluonlink \fi % For linking external gluons to vertex
\ifdim\VERTEXCAPONE=1pt\gluoncap \fi % For capping external gluons to vertex
\global\vertexmidx=\particlebackx  \global\vertexmidy=\particlebacky
\end{picture}
}%end of \savebox
\global\multiply\vertexmidx by -1  \global\multiply\vertexmidy by -1
\global\advance\vertexmidx by \vertexonex
\global\advance\vertexmidy by \vertexoney
%eg: \drawline\LINETYPE[\S\CENTRAL](\vertexmidx,\vertexmidy)[\unitboxnumber]
\ifdim\STEMVERTEXONE=1pt\backstemmed \fi
\drawline\LINETYPE[#1\adjx](\vertexmidx,\vertexmidy)[\unitboxnumber]
\global\stemlength=\stemlengthcopy  % Re-set to use-defined value.
\ifdim\VERTEXLINKONE=1pt\gluonlink \fi % For linking external gluons to vertex
\ifdim\VERTEXCAPONE=1pt\gluoncap \fi % For capping external gluons to vertex
} %End of \setvertexA
%
%
\gdef\setvertexB[#1#2](#3,#4)[#5]{
\global\adjx=\vertexmidx   \global\adjy=\vertexmidy
\global\advance\adjx by #3   \global\advance\adjy by #4
\VERTEXLINE=#5
\ifcase\VERTEXLINE\UNIMPERROR  %=0
\or \UNIMPERROR  %line 1                      %%%%%%%%%%%%%%%%%%%%%
\or \ifdim\STEMVERTEXTWO=1pt\backstemmed \fi  %  For stemming     %
\or \ifdim\STEMVERTEXTHREE=1pt\backstemmed\fi %  external gluons  %
\or \ifdim\STEMVERTEXFOUR=1pt\backstemmed\fi  %  to vertex        %
\else \UNIMPERROR                             %%%%%%%%%%%%%%%%%%%%%
\fi
\drawline\LINETYPE[#1#2](\adjx,\adjy)[\unitboxnumber]
\global\stemlength=\stemlengthcopy  % Re-set to use-defined value.
\ifcase\VERTEXLINE\UNIMPERROR  %=0
\or \UNIMPERROR  %line 1
\or \ifdim\VERTEXLINKTWO=1pt\gluonlink \fi % For linking external gluons to
% vert
    \ifdim\VERTEXCAPTWO=1pt\gluoncap \fi % For capping external gluons to
% vertex
    \global\vertextwox=\particlebackx  \global\vertextwoy=\particlebacky
\or \ifdim\VERTEXLINKTHREE=1pt\gluonlink\fi %For linking external gluons to
% vert
    \ifdim\VERTEXCAPTHREE=1pt\gluoncap\fi %For capping external gluons to
% vertex
    \global\vertexthreex=\particlebackx  \global\vertexthreey=\particlebacky
\or \ifdim\VERTEXLINKFOUR=1pt\gluonlink\fi % For linking external gluons to
% vert
    \ifdim\VERTEXCAPFOUR=1pt\gluoncap\fi % For capping external gluons to
% vertex
    \global\vertexfourx=\particlebackx  \global\vertexfoury=\particlebacky
\else \UNIMPERROR
\fi
}
\gdef\setvertexC(#1,#2)[#3#4]{
\global\adjx=\vertexmidx   \global\adjy=\vertexmidy
\global\advance\adjx by #1   \global\advance\adjy by #2
\absstemlength=1250  % Default for 3-gluon vertex; \absstemlength unused var.
\ifnum \VERTEXNUMBER=4 \absstemlength=\vertadj\double\absstemlength \fi
\ifnum\phantomswitch=0
   \put(\adjx,\adjy) {\oval(\absstemlength,\absstemlength)[#3#4]}\fi
}
\gdef\adjvert{\negvertadj=\vertadj  \multiply\negvertadj by -1}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                           %
%                        LINKING GLUONS TO VERTICES                         %
%                                                                           %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\gdef\vertexlink#1{
\global\VERTEXLINE=#1
\ifcase\VERTEXLINE\UNIMPERROR
\or \global\VERTEXLINKONE=1pt    \or \global\VERTEXLINKTWO=1pt
\or \global\VERTEXLINKTHREE=1pt  \or \global\VERTEXLINKFOUR=1pt
\else\UNIMPERROR\fi}
\gdef\vertexlinks{
\global\VERTEXLINKONE=1pt     \global\VERTEXLINKTWO=1pt
\global\VERTEXLINKTHREE=1pt  \global\VERTEXLINKFOUR=1pt  }
% counters cleared by \clearvertex now defined in STEM section below.
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                           %
%                        CAPPING GLUONS ON VERTICES                         %
%                                                                           %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\gdef\vertexcap#1{
\global\VERTEXLINE=#1
\ifcase\VERTEXLINE\UNIMPERROR
\or \global\VERTEXCAPONE=1pt    \or \global\VERTEXCAPTWO=1pt
\or \global\VERTEXCAPTHREE=1pt  \or \global\VERTEXCAPFOUR=1pt
\else\UNIMPERROR\fi}
\gdef\vertexcaps{
\global\VERTEXCAPONE=1pt     \global\VERTEXCAPTWO=1pt
\global\VERTEXCAPTHREE=1pt  \global\VERTEXCAPFOUR=1pt  }
% counters cleared by \clearvertex now defined in STEM section below.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                           %
%                         LINKING STEMS TO VERTICES                         %
%                                                                           %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
\gdef\stemvertex#1{
\global\VERTEXLINE=#1
\ifcase\VERTEXLINE\UNIMPERROR
\or \global\STEMVERTEXONE=1pt    \or \global\STEMVERTEXTWO=1pt
\or \global\STEMVERTEXTHREE=1pt  \or \global\STEMVERTEXFOUR=1pt
\else\UNIMPERROR\fi}
\gdef\stemvertices{
\global\STEMVERTEXONE=1pt     \global\STEMVERTEXTWO=1pt
\global\STEMVERTEXTHREE=1pt  \global\STEMVERTEXFOUR=1pt  }
\gdef\clearvertex{
\global\STEMVERTEXONE=0pt    \global\STEMVERTEXTWO=0pt
\global\STEMVERTEXTHREE=0pt  \global\STEMVERTEXFOUR=0pt
\global\VERTEXLINKONE=0pt    \global\VERTEXLINKTWO=0pt
\global\VERTEXLINKTHREE=0pt  \global\VERTEXLINKFOUR=0pt
\global\VERTEXCAPONE=0pt    \global\VERTEXCAPTWO=0pt
\global\VERTEXCAPTHREE=0pt  \global\VERTEXCAPFOUR=0pt
\global\stemlength=275}  % Re-set default.
\global\stemlengthcopy=\stemlength
\clearvertex  %set them to zero initially.
\global\stemlength=\stemlengthcopy
