diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/feyn')
-rw-r--r-- | Master/texmf-dist/tex/latex/feyn/feyn.sty | 250 |
1 files changed, 215 insertions, 35 deletions
diff --git a/Master/texmf-dist/tex/latex/feyn/feyn.sty b/Master/texmf-dist/tex/latex/feyn/feyn.sty index ab49e7f276d..59207ad9361 100644 --- a/Master/texmf-dist/tex/latex/feyn/feyn.sty +++ b/Master/texmf-dist/tex/latex/feyn/feyn.sty @@ -6,7 +6,7 @@ %% %% feyn.dtx (with options: `package') %% Feyn: package to manage the font feyn10 -%% This software is copyright, 1991, 1994, 2001, Norman Gray. +%% This software is copyright, 1991, 1994, 2001, 2002, 2005, 2008, Norman Gray. %% %% This program is free software; you can redistribute it and/or %% modify it under the terms of the GNU General Public License @@ -27,16 +27,10 @@ %% %% See the file LICENCE for a copy of the GPL. %% You can also find an online copy at http://www.gnu.org/copyleft/gpl.html . -%% RCS Info $Id: feyn.dtx,v 1.11 2002/04/23 11:26:15 norman Exp $ -\def\ParseRCSDate$#1: #2 #3 ${\def\FEYN@Date{#2}} -\ParseRCSDate$Date: 2002/04/23 11:26:15 $ -\def\filename{feyn} -\def\fileversion{0.1} %%VERSION%% -\def\filedate{\FEYN@Date} -\def\docdate{\FEYN@Date} +%% RCS Info $Id: feyn.dtx.in,v 1.18 2008/02/29 20:45:59 norman Exp $ \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{feyn}[\filedate\space\fileversion\space textpos] -\typeout{Package: `feyn' \fileversion\space<\filedate>} +\ProvidesPackage{feyn}[2008/02/29 \space0.3.1\space textpos] +\typeout{Package: `feyn' 0.3.1\space<2008/02/29 >} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -52,39 +46,224 @@ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} +\newif\ifFeyn@globalbang +\@ifpackageloaded{amsmath}{\Feyn@globalbangtrue}{\Feyn@globalbangfalse} +\DeclareOption{globalbang}{\Feyn@globalbangtrue} +\DeclareOption{noglobalbang}{\Feyn@globalbangfalse} +\ProcessOptions \DeclareFontFamily{OMS}{feyn}{\skewchar\font'000} \DeclareFontShape{OMS}{feyn}{m}{n}{% <-10.5>feyn10% <10.5-11.5>feyn11% -<11.5->feyn12% +<11.5-15>feyn12% + <15-21>feyn18% + <21->feyn24% }{} \DeclareFontFamily{OMS}{textfeyn}{\skewchar\font'000} \DeclareFontShape{OMS}{textfeyn}{m}{n}{% <-10.5>feyntext10% <10.5-11.5>feyntext11% -<11.5->feyntext12% +<11.5-15>feyntext12% + <15-21>feyntext18% + <21->feyntext24% }{} \DeclareSymbolFont{feynman}{OMS}{feyn}{m}{n} -\DeclareSymbolFontAlphabet{\feyn}{feynman} +\DeclareSymbolFontAlphabet{\feyn@alphabet}{feynman} \DeclareSymbolFont{textfeynman}{OMS}{textfeyn}{m}{n} -\DeclareSymbolFontAlphabet{\Feyn}{textfeynman} +\DeclareSymbolFontAlphabet{\Feyn@alphabet}{textfeynman} +\ifFeyn@globalbang + \catcode`\!=\active + \def!{\char`\!} % ! produces this character everywhere + \def\feyn{\begingroup + \let!\momentum % ...except within \feyn + \feyn@} + \def\Feyn{\begingroup + \let!\momentum % ...or \Feyn + \Feyn@} +\else + {\catcode`\!=\active % only make ! active within \feyn + \gdef\feyn{% + \begingroup % ends in \feyn@ + \catcode`\!=\active + \let!=\momentum + \feyn@} + \gdef\Feyn{% + \begingroup % ends in \Feyn@ + \catcode`\!=\active + \let!=\momentum + \Feyn@}} +\fi +\def\feyn@#1{\feyn@alphabet{#1}\endgroup} +\def\Feyn@#1{\Feyn@alphabet{#1}\endgroup} \DeclareMathSymbol{\FeynSpaceChar}{\mathord}{feynman}{"7F} \setbox0=\hbox{$\FeynSpaceChar$} -\newdimen\FEYN@module \FEYN@module=2\wd0 -\newdimen\FEYN@maxis \FEYN@maxis=\ht0 -\def\Diagram#1{\setbox0=\hbox{\vbox{\offinterlineskip \let\\\cr +\newdimen\feyn@mfmodule \feyn@mfmodule=\wd0 +\newdimen\feyn@module \feyn@module=2\wd0 +\newdimen\feyn@maxis \feyn@maxis=\ht0 +{\catcode`\!=\active + \gdef\Diagram{% + \begingroup % ends in \Diagram@ + \catcode`\!=\active + \let!\momentum + \Diagram@}} +\def\Diagram@#1{\setbox0=\hbox{\vbox{\offinterlineskip \let\\\cr \halign{&$\displaystyle\feyn{##}$\cr #1\crcr}}}% \@tempdima=\ht0 - \advance\@tempdima by 2\FEYN@maxis \ht0=\@tempdima - \vcenter{\box0}} -\def\maxis#1{\raise\FEYN@maxis \hbox{$#1$}} + \advance\@tempdima by 2\feyn@maxis \ht0=\@tempdima + \vcenter{\box0}% + \endgroup}% end group begun in \Diagram +\def\maxis#1{\raise\feyn@maxis \hbox{$#1$}} +\newdimen\feyn@nudge \feyn@nudge=\feyn@mfmodule \divide\feyn@nudge by 3 +\def\feyn@pos@top#1#2#3{% top + \leavevmode + \@tempdima=#2\feyn@mfmodule \advance\@tempdima\feyn@nudge + \setbox1=\hbox{\raise \@tempdima\hbox to 0pt{% + \hskip #1\feyn@mfmodule + \hbox to 0pt{\hss$\scriptstyle #3$\hss}\hss}}% + \ht1=0pt \dp1=0pt \box1} +\def\feyn@pos@urt#1#2#3{% urt + \leavevmode + \@tempdima=#2\feyn@mfmodule \advance\@tempdima\feyn@nudge + \setbox1=\hbox{\raise \@tempdima\hbox to 0pt{% + \hskip #1\feyn@mfmodule \hskip\feyn@nudge $\scriptstyle #3$\hss}}% + \ht1=0pt \dp1=0pt \box1} +\def\feyn@pos@lrt#1#2#3{% lrt + \leavevmode + \setbox0=\hbox to 0pt{\hskip\feyn@nudge $\scriptstyle #3$\hss}% + \@tempdima=#2\feyn@mfmodule + \advance\@tempdima -\ht0 + \advance\@tempdima-\feyn@nudge + \setbox1=\hbox{\raise \@tempdima\hbox to 0pt{% + \hskip #1\feyn@mfmodule \box0\hss}}% + \ht1=0pt \dp1=0pt \box1} +\def\feyn@pos@bot#1#2#3{% bot + \leavevmode + \setbox0=\hbox to 0pt{\hss$\scriptstyle #3$\hss}% + \@tempdima=#2\feyn@mfmodule + \advance\@tempdima -\ht0 + \advance\@tempdima-\feyn@nudge + \setbox1=\hbox{\raise \@tempdima\hbox to 0pt{% + \hskip #1\feyn@mfmodule \box0\hss}}% + \ht1=0pt \dp1=0pt \box1} +\def\feyn@pos@llft#1#2#3{% llft + \leavevmode + \setbox0=\hbox to 0pt{\hss$\scriptstyle #3$\hskip\feyn@nudge}% + \@tempdima=#2\feyn@mfmodule + \advance\@tempdima -\ht0 + \advance\@tempdima-\feyn@nudge + \setbox1=\hbox{\raise \@tempdima\hbox to 0pt{% + \hskip #1\feyn@mfmodule \box0\hss}}% + \ht1=0pt \dp1=0pt \box1} +\def\feyn@pos@ulft#1#2#3{% ulft + \leavevmode + \@tempdima=#2\feyn@mfmodule \advance\@tempdima\feyn@nudge + \setbox1=\hbox{\raise \@tempdima\hbox to 0pt{% + \hskip #1\feyn@mfmodule + \hbox to 0pt{\hss$\scriptstyle #3$\hskip\feyn@nudge}\hss}}% + \ht1=0pt \dp1=0pt \box1} +\def\feyn@annotation#1#2#3#4{% + \expandafter\def\csname feyn@ann@#1\endcsname##1{% + \csname feyn@pos@\ifx\@tempa\@empty #4\else\@tempa\fi\endcsname + {#2}{#3}{##1}% + #1}} +\feyn@annotation{f}{0.99974}{0.35}{top}% "f" +\feyn@annotation{fA}{0.99974}{0.35}{top}% "F" +\feyn@annotation{fV}{0.99974}{0.35}{top}% 6 +\feyn@annotation{fu}{0.70692}{0.95692}{ulft}% "e" +\feyn@annotation{fuA}{0.70692}{0.95692}{ulft}% "E" +\feyn@annotation{fuV}{0.70692}{0.95692}{ulft}% 5 +\feyn@annotation{fd}{0.70692}{0.95692}{urt}% "d" +\feyn@annotation{fdA}{0.70692}{0.95692}{urt}% "D" +\feyn@annotation{fdV}{0.70692}{0.95692}{urt}% 4 +\feyn@annotation{fv}{0}{1.24974}{urt}% "b" +\feyn@annotation{fvA}{0}{1.24974}{urt}% "B" +\feyn@annotation{fvV}{0}{1.24974}{urt}% 2 +\feyn@annotation{m}{0.99974}{0.32802}{top}% "m" +\feyn@annotation{mA}{0.99974}{0.32802}{top}% "M" +\feyn@annotation{mV}{0.99974}{0.32802}{top}% 13 +\feyn@annotation{ms}{0.49986}{0.32802}{top}% 11 +\feyn@annotation{fl}{0}{1.85}{top}% "l" +\feyn@annotation{flA}{0}{1.85}{top}% "L" +\feyn@annotation{flV}{0}{1.85}{top}% 12 +\feyn@annotation{flu}{0}{-1.35}{bot}% "n" +\feyn@annotation{fluA}{0}{-1.35}{bot}% "N" +\feyn@annotation{fluV}{0}{-1.35}{bot}% 14 +\feyn@annotation{flS}{0}{1.23335}{top}% "o" +\feyn@annotation{flSA}{0}{1.23335}{top}% "O" +\feyn@annotation{flSV}{0}{1.23335}{top}% 15 +\feyn@annotation{flSu}{0}{-0.90001}{bot}% "w" +\feyn@annotation{flSuA}{0}{-0.90001}{bot}% "W" +\feyn@annotation{flSuV}{0}{-0.90001}{bot}% 23 +\feyn@annotation{g}{0.99974}{0.45}{top}% "g" +\feyn@annotation{gA}{0.99974}{0.45}{top}% "G" +\feyn@annotation{gV}{0.99974}{0.45}{top}% 7 +\feyn@annotation{gu}{0.70692}{0.95692}{ulft}% "u" +\feyn@annotation{guA}{0.70692}{0.95692}{ulft}% "U" +\feyn@annotation{guV}{0.70692}{0.95692}{ulft}% 21 +\feyn@annotation{gd}{0.70692}{0.95692}{urt}% "v" +\feyn@annotation{gdA}{0.70692}{0.95692}{urt}% "V" +\feyn@annotation{gdV}{0.70692}{0.95692}{urt}% 22 +\feyn@annotation{gv}{0}{1.24974}{urt}% "}" +\feyn@annotation{gvA}{0}{1.24974}{urt}% "]" +\feyn@annotation{gvV}{0}{1.24974}{urt}% 29 +\feyn@annotation{g1}{-1.41422}{1.66422}{ulft}% "q" +\feyn@annotation{g1A}{-1.41422}{1.66422}{ulft}% "Q" +\feyn@annotation{g1V}{-1.41422}{1.66422}{ulft}% 17 +\feyn@annotation{g2}{1.41422}{1.66422}{urt}% "r" +\feyn@annotation{g2A}{1.41422}{1.66422}{urt}% "R" +\feyn@annotation{g2V}{1.41422}{1.66422}{urt}% 18 +\feyn@annotation{g3}{1.41422}{-1.16422}{lrt}% "s" +\feyn@annotation{g3A}{1.41422}{-1.16422}{lrt}% "S" +\feyn@annotation{g3V}{1.41422}{-1.16422}{lrt}% 19 +\feyn@annotation{g4}{-1.41422}{-1.16422}{llft}% "t" +\feyn@annotation{g4A}{-1.41422}{-1.16422}{llft}% "T" +\feyn@annotation{g4V}{-1.41422}{-1.16422}{llft}% 20 +\feyn@annotation{gl}{0}{2.25}{urt}% "y" +\feyn@annotation{glA}{0}{2.25}{urt}% "Y" +\feyn@annotation{glV}{0}{2.25}{urt}% 25 +\feyn@annotation{glu}{0}{-1.75}{llft}% "z" +\feyn@annotation{gluA}{0}{-1.75}{llft}% "Z" +\feyn@annotation{gluV}{0}{-1.75}{llft}% 26 +\feyn@annotation{glB}{0}{2.91667}{urt}% "{" +\feyn@annotation{glBA}{0}{2.91667}{urt}% "[" +\feyn@annotation{glBV}{0}{2.91667}{urt}% 27 +\feyn@annotation{glS}{0}{1.5833}{llft}% "|" +\feyn@annotation{glSA}{0}{1.5833}{llft}% "\" +\feyn@annotation{glSV}{0}{1.5833}{llft}% 28 +\feyn@annotation{h}{0.99974}{0.25}{top}% "h" +\feyn@annotation{hA}{0.99974}{0.25}{top}% "H" +\feyn@annotation{hV}{0.99974}{0.25}{top}% 8 +\feyn@annotation{hu}{0.70464}{0.95464}{ulft}% "i" +\feyn@annotation{huA}{0.70464}{0.95464}{ulft}% "I" +\feyn@annotation{huV}{0.70464}{0.95464}{ulft}% 9 +\feyn@annotation{hd}{0.70464}{0.95464}{urt}% "j" +\feyn@annotation{hdA}{0.70464}{0.95464}{urt}% "J" +\feyn@annotation{hdV}{0.70464}{0.95464}{urt}% 10 +\feyn@annotation{hs}{0.49986}{0.25}{top}% "K" +\feyn@annotation{c}{0.65044}{0.90044}{top}% "c" +\feyn@annotation{p}{0.65}{0.9}{top}% "p" +\feyn@annotation{P}{0.65044}{0.90044}{top}% "P" +\feyn@annotation{x}{0}{0.55641}{top}% "x" +\def\momentum{\@ifnextchar[\momentum@{\momentum@[]}} +\def\momentum@[#1]#2#3{% + \def\@tempa{#1} + \ifx\@tempa\@empty \else + \@ifundefined{feyn@pos@#1} + {\@latex@error{No annotation position #1}% + {You cannot call \string\momentum[#1]{...}^^J(must be one + of top, urt, lrt, bot, llft, ulft)}% + #2}% + \fi + \@ifundefined{feyn@ann@#2}% + {\@latex@error{No annotation defined for #2}% + {You cannot call \string\momentum{#2}{...}}% + #2}% + {\csname feyn@ann@#2\endcsname{#3}}} \def\vertexlabel#1#2{\setbox0=\hbox to 0pt{\hss$\scriptstyle #2$\hss} \ifcat #1^ - \vbox to 0pt{\vss\box0\nointerlineskip\kern2\FEYN@maxis} - %\vbox to 0pt{\vss\box0\nointerlineskip\kern6pt} + \vbox to 0pt{\vss\box0\nointerlineskip\kern2\feyn@maxis} \else\ifcat #1_ - \vbox to 0pt{\kern\FEYN@maxis\nointerlineskip\box0\vss} - %\vbox to 0pt{\kern2pt\nointerlineskip\box0\vss} + \vbox to 0pt{\kern\feyn@maxis\nointerlineskip\box0\vss} \else \PackageError{feyn} {Bad arguments for \string\vertexlabel} @@ -92,24 +271,25 @@ \fi\fi } \def\annotate#1#2#3{\vcenter to 0pt{\vss - \hbox to 0pt{\hskip #1\FEYN@module\hbox to 0pt{\hss$\scriptstyle #3$\hss}\hss - }\vskip #2\FEYN@module}} + \hbox to 0pt{\hskip #1\feyn@module\hbox to 0pt{\hss$\scriptstyle #3$\hss}\hss + }\vskip #2\feyn@module}} \def\tannotate#1#2#3{\vcenter to 0pt{\vss - \hbox to 0pt{\hskip #1\FEYN@module\hbox to 0pt{\hss #3\hss}\hss - }\vskip #2\FEYN@module}} + \hbox to 0pt{\hskip #1\feyn@module\hbox to 0pt{\hss #3\hss}\hss + }\vskip #2\feyn@module}} \def\feynstrut#1#2{\setbox\strutbox=\hbox{\vrule -height #1\FEYN@module depth #2\FEYN@module width 0pt}} -\def\arrow#1#2#3{\@tempcnta="28 \advance\@tempcnta by #3\vcenter to 0pt{\vss - \hbox to 0pt{\hskip #1\FEYN@module\hbox to 0pt{$\feyn{\char\@tempcnta}$}\hss - }\vskip #2\FEYN@module}} +height #1\feyn@module depth #2\feyn@module width 0pt}} +\def\arrow#1#2#3{\@latex@error{Do not use the \string\arrow macro any more}{}} \DeclareMathSymbol{\wfermion}{0}{feynman}{"64} \DeclareMathSymbol{\hfermion}{0}{feynman}{"6B} \DeclareMathSymbol{\shfermion}{0}{feynman}{"6C} \DeclareMathSymbol{\whfermion}{0}{feynman}{"6D} \DeclareMathSymbol{\gvcropped}{0}{feynman}{"07} -\DeclareMathSymbol{\bigbosonloop}{0}{feynman}{"21} -\DeclareMathSymbol{\Bigbosonloop}{7}{feynman}{"21} -\DeclareMathSymbol{\smallbosonloop}{0}{feynman}{"20} +\DeclareMathSymbol{\bigbosonloop}{0}{feynman}{"7B} +\DeclareMathSymbol{\smallbosonloop}{0}{feynman}{"7C} +\DeclareMathSymbol{\bigbosonloopA}{0}{feynman}{"5B} +\DeclareMathSymbol{\smallbosonloopA}{0}{feynman}{"5C} +\DeclareMathSymbol{\bigbosonloopV}{0}{feynman}{"1B} +\DeclareMathSymbol{\smallbosonloopV}{0}{feynman}{"1C} \endinput %% %% End of file `feyn.sty'. |