From 26b5af90d7132dc6c5d514d589adfca8502d62c0 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 3 Mar 2008 01:10:05 +0000 Subject: feyn font 0.3.1 git-svn-id: svn://tug.org/texlive/trunk@6809 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/fonts/feyn/LICENCE | 340 ++++++ Master/texmf-dist/doc/fonts/feyn/README | 62 ++ Master/texmf-dist/doc/fonts/feyn/VERSION | 1 + Master/texmf-dist/doc/fonts/feyn/exercise-font.pdf | Bin 0 -> 97322 bytes Master/texmf-dist/doc/fonts/feyn/exercise-font.tex | 233 +++++ Master/texmf-dist/doc/fonts/feyn/feyn.pdf | Bin 0 -> 184719 bytes Master/texmf-dist/doc/fonts/feyn/feyn10.mf | 41 + Master/texmf-dist/doc/fonts/feyn/feyn11.mf | 41 + Master/texmf-dist/doc/fonts/feyn/feyn12.mf | 41 + Master/texmf-dist/doc/fonts/feyn/feyn18.mf | 41 + Master/texmf-dist/doc/fonts/feyn/feyn24.mf | 41 + Master/texmf-dist/doc/fonts/feyn/feyntext10.mf | 41 + Master/texmf-dist/doc/fonts/feyn/feyntext11.mf | 41 + Master/texmf-dist/doc/fonts/feyn/feyntext12.mf | 41 + Master/texmf-dist/doc/fonts/feyn/feyntext18.mf | 41 + Master/texmf-dist/doc/fonts/feyn/feyntext24.mf | 41 + Master/texmf-dist/doc/fonts/feyn/overheads.pdf | Bin 0 -> 53046 bytes Master/texmf-dist/doc/fonts/feyn/overheads.tex | 30 + Master/texmf-dist/doc/latex/feyn/README | 58 -- Master/texmf-dist/doc/latex/feyn/feyn.pdf | Bin 171476 -> 0 bytes Master/texmf-dist/fonts/source/public/feyn/feyn.mf | 654 +++++++++--- .../texmf-dist/fonts/source/public/feyn/feyn10.mf | 37 - .../texmf-dist/fonts/source/public/feyn/feyn11.mf | 37 - .../texmf-dist/fonts/source/public/feyn/feyn12.mf | 37 - .../texmf-dist/fonts/source/public/feyn/feynmac.mf | 218 ++-- .../fonts/source/public/feyn/feyntext10.mf | 37 - .../fonts/source/public/feyn/feyntext11.mf | 37 - .../fonts/source/public/feyn/feyntext12.mf | 37 - Master/texmf-dist/fonts/tfm/public/feyn/feyn10.tfm | Bin 796 -> 996 bytes Master/texmf-dist/fonts/tfm/public/feyn/feyn11.tfm | Bin 796 -> 996 bytes Master/texmf-dist/fonts/tfm/public/feyn/feyn12.tfm | Bin 796 -> 996 bytes Master/texmf-dist/fonts/tfm/public/feyn/feyn18.tfm | Bin 0 -> 996 bytes Master/texmf-dist/fonts/tfm/public/feyn/feyn24.tfm | Bin 0 -> 996 bytes .../fonts/tfm/public/feyn/feyntext10.tfm | Bin 796 -> 976 bytes .../fonts/tfm/public/feyn/feyntext11.tfm | Bin 796 -> 976 bytes .../fonts/tfm/public/feyn/feyntext12.tfm | Bin 796 -> 976 bytes .../fonts/tfm/public/feyn/feyntext18.tfm | Bin 0 -> 976 bytes .../fonts/tfm/public/feyn/feyntext24.tfm | Bin 0 -> 976 bytes Master/texmf-dist/source/fonts/feyn/feyn.drv | 77 ++ Master/texmf-dist/source/fonts/feyn/feyn.dtx | 1099 ++++++++++++++++++++ Master/texmf-dist/source/fonts/feyn/feyn.ins | 14 + Master/texmf-dist/source/latex/feyn/LICENCE | 271 ----- Master/texmf-dist/source/latex/feyn/VERSION | 1 - Master/texmf-dist/source/latex/feyn/feyn.drv | 84 -- Master/texmf-dist/source/latex/feyn/feyn.dtx | 669 ------------ Master/texmf-dist/source/latex/feyn/feyn.ins | 14 - Master/texmf-dist/tex/latex/feyn/feyn.sty | 250 ++++- Master/tlpkg/bin/tlpkg-ctan-check | 2 +- 48 files changed, 3073 insertions(+), 1636 deletions(-) create mode 100644 Master/texmf-dist/doc/fonts/feyn/LICENCE create mode 100644 Master/texmf-dist/doc/fonts/feyn/README create mode 100644 Master/texmf-dist/doc/fonts/feyn/VERSION create mode 100644 Master/texmf-dist/doc/fonts/feyn/exercise-font.pdf create mode 100644 Master/texmf-dist/doc/fonts/feyn/exercise-font.tex create mode 100644 Master/texmf-dist/doc/fonts/feyn/feyn.pdf create mode 100644 Master/texmf-dist/doc/fonts/feyn/feyn10.mf create mode 100644 Master/texmf-dist/doc/fonts/feyn/feyn11.mf create mode 100644 Master/texmf-dist/doc/fonts/feyn/feyn12.mf create mode 100644 Master/texmf-dist/doc/fonts/feyn/feyn18.mf create mode 100644 Master/texmf-dist/doc/fonts/feyn/feyn24.mf create mode 100644 Master/texmf-dist/doc/fonts/feyn/feyntext10.mf create mode 100644 Master/texmf-dist/doc/fonts/feyn/feyntext11.mf create mode 100644 Master/texmf-dist/doc/fonts/feyn/feyntext12.mf create mode 100644 Master/texmf-dist/doc/fonts/feyn/feyntext18.mf create mode 100644 Master/texmf-dist/doc/fonts/feyn/feyntext24.mf create mode 100644 Master/texmf-dist/doc/fonts/feyn/overheads.pdf create mode 100644 Master/texmf-dist/doc/fonts/feyn/overheads.tex delete mode 100644 Master/texmf-dist/doc/latex/feyn/README delete mode 100644 Master/texmf-dist/doc/latex/feyn/feyn.pdf delete mode 100644 Master/texmf-dist/fonts/source/public/feyn/feyn10.mf delete mode 100644 Master/texmf-dist/fonts/source/public/feyn/feyn11.mf delete mode 100644 Master/texmf-dist/fonts/source/public/feyn/feyn12.mf delete mode 100644 Master/texmf-dist/fonts/source/public/feyn/feyntext10.mf delete mode 100644 Master/texmf-dist/fonts/source/public/feyn/feyntext11.mf delete mode 100644 Master/texmf-dist/fonts/source/public/feyn/feyntext12.mf create mode 100644 Master/texmf-dist/fonts/tfm/public/feyn/feyn18.tfm create mode 100644 Master/texmf-dist/fonts/tfm/public/feyn/feyn24.tfm create mode 100644 Master/texmf-dist/fonts/tfm/public/feyn/feyntext18.tfm create mode 100644 Master/texmf-dist/fonts/tfm/public/feyn/feyntext24.tfm create mode 100644 Master/texmf-dist/source/fonts/feyn/feyn.drv create mode 100644 Master/texmf-dist/source/fonts/feyn/feyn.dtx create mode 100644 Master/texmf-dist/source/fonts/feyn/feyn.ins delete mode 100644 Master/texmf-dist/source/latex/feyn/LICENCE delete mode 100644 Master/texmf-dist/source/latex/feyn/VERSION delete mode 100644 Master/texmf-dist/source/latex/feyn/feyn.drv delete mode 100644 Master/texmf-dist/source/latex/feyn/feyn.dtx delete mode 100644 Master/texmf-dist/source/latex/feyn/feyn.ins diff --git a/Master/texmf-dist/doc/fonts/feyn/LICENCE b/Master/texmf-dist/doc/fonts/feyn/LICENCE new file mode 100644 index 00000000000..3912109b5cd --- /dev/null +++ b/Master/texmf-dist/doc/fonts/feyn/LICENCE @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/Master/texmf-dist/doc/fonts/feyn/README b/Master/texmf-dist/doc/fonts/feyn/README new file mode 100644 index 00000000000..c89364e185e --- /dev/null +++ b/Master/texmf-dist/doc/fonts/feyn/README @@ -0,0 +1,62 @@ + +Feyn: a Metafont for Feynman diagrams +------------------------------------- + +Version 0.3.1. + +This describes the font `feyn', which can be used to produce relatively +simple Feynman diagrams within equations in a LaTeX document. + +The other Feynman diagram package which exists is Thorsten Ohl's +`feynmf/feynmp' package. That works by creating Metafont or MetaPost +figures using a preprocessor. It's more general than this package, +but is at its best when creating relatively large diagrams, for +figures. In contrast, the present system consists of a +carefully-designed font with which you can write simple diagrams, +within equations or within text, in a size matching the surrounding +text size. + + +Status +------ + +The font, and this associated style file, should be regarded as +beta software at present. The propagators and vertices which are +implemented are those which _I_ needed. I'd be delighted to +add more if folk feel they would be useful. + +See the package's home page on the web: http://purl.org/nxg/dist/feyn + + +Installation +------------ + +Extract the package file from the distribution file using `latex +feyn.ins'. The resulting `feyn.sty' should be installed in the usual +location for style files -- that is, something like +`texmf.local/tex/latex/feyn.sty'. The Metafont source files `*.mf' +should be installed in a directory with a location such as +`texmf.local/fonts/source/feyn/' (on a system which has the command, +`kpsepath mf' will indicate the possibilities here, but these +typically include the current directory). That should be all you need +to do as regards the installation of the fonts -- if your TeX setup is +installed correctly, then the usual font-generation commands (such as +`mktexpk' for example) should work as normal, and they should be +invoked by default when you LaTeX the feyn.dtx file. + +You should be able to find generic instructions for installing LaTeX files at +http://www.tex.ac.uk/cgi-bin/texfaq2html?label=installthings + + +Licence +------- + +This software is copyright, 1991, 2001, 2002, 2005, 2008, Norman Gray. It is +released under the terms of the GNU General Public Licence. See the +copyright declaration at the top of file feyn.dtx, and the file +LICENCE for the licence conditions. + + + +Norman Gray, +http://nxg.me.uk diff --git a/Master/texmf-dist/doc/fonts/feyn/VERSION b/Master/texmf-dist/doc/fonts/feyn/VERSION new file mode 100644 index 00000000000..7b769f18749 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/feyn/VERSION @@ -0,0 +1 @@ +feyn-0.3.1 diff --git a/Master/texmf-dist/doc/fonts/feyn/exercise-font.pdf b/Master/texmf-dist/doc/fonts/feyn/exercise-font.pdf new file mode 100644 index 00000000000..c1cd0954b46 Binary files /dev/null and b/Master/texmf-dist/doc/fonts/feyn/exercise-font.pdf differ diff --git a/Master/texmf-dist/doc/fonts/feyn/exercise-font.tex b/Master/texmf-dist/doc/fonts/feyn/exercise-font.tex new file mode 100644 index 00000000000..5b5b13499c8 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/feyn/exercise-font.tex @@ -0,0 +1,233 @@ +\documentclass[10pt]{article} + +\usepackage{feyn} + +\makeatletter +\def\refptcirc{\lower\feyn@maxis \hbox to 0pt{\hss$\circ$\hss}} +\makeatother +\let\\\cr + +\begin{document} + +Alphabetically: + +\halign{#\hfil\quad&$\refptcirc\feyn{#}$\cr +a & a \\ +b & b \\ +c & c \\ +d & d \\ +e & e \\ +f & f \\ +g & g \\ +h & h \\ +i & i \\ +j & j \\ +k & k \\ +l & l \\ +m & m \\ +n & n \\ +o & o \\ +p & p \\ +q & q \\ +r & r \\ +s & s \\ +t & t \\ +u & u \\ +v & v \\ +w & w \\ +x & x \\ +y & y \\ +z & z \\ +} + +\newpage + +With ligatures: +\def\T{\tracingmacros=2 \tracingcommands=2 } + +\halign{&#\hfil\quad&$\refptcirc\feyn{#}$\qquad \cr +f & f & fA & fA & fV & \momentum{fV}{pk} \\ +fu & fu & fuA & fuA & fuV & \momentum{fuV}{pk} \\ +fd & fd & fdA & fdA & fdV & \momentum{fdV}{pk} \\ +fv & fv & fvA & fvA & fvV & \momentum{fvV}{pk} \\ +fl & fl & flA & flA & flV & \momentum{flV}{pk} \\ +flu & flu & fluA & fluA & fluV & \momentum{fluV}{pk} \\ +flS& flS & flSA & flSA & flSV & \momentum{flSV}{pk} \\ +flSu& flSu & flSuA & flSuA & flSuV & \momentum{flSuV}{pk} \\ +fs & |fs| \\ +fs0 & |fs0| \\ +g & g & gA & gA & gV & \momentum{gV}{pk} \\ +gu & gu & guA & guA & guV & \momentum{guV}{pk} \\ +gd & gd & gdA & gdA & gdV & \momentum{gdV}{pk} \\ +gv & gv & gvA & gvA & gvV & \momentum{gvV}{pk} \\ +g1 & g1 & g1A & g1A & g1V & \momentum{g1V}{pk} \\ +g2 & g2 & g2A & g2A & g2V & \momentum{g2V}{pk} \\ +g3 & g3 & g3A & g3A & g3V & \momentum{g3V}{pk} \\ +g4 & g4 & g4A & g4A & g4V & \momentum{g4V}{pk} \\ +gl & gl & glA & glA & glV & \momentum{glV}{pk} \\ +glu & glu & gluA & gluA & gluV & \momentum{gluV}{pk} \\ +glB & glB \\ +glS & glS \\ +m & m & mA & mA & mV & \momentum{mV}{pk} \\ +ms & ms & ms & \momentum{ms}{pk} \\ +h & h & hA & hA & hV & \momentum{hV}{pk} \\ +hu & hu & huA & huA & huV & \momentum{huV}{pk} \\ +hd & hd & hdA & hdA & hdV & \momentum{hdV}{pk} \\ +hs & hs & hs & \momentum{hs}{pk} \\ +x & x & x & \momentum{x}{pk} \\ +p & p & P & \momentum{P}{pk} \\ +c & c & c & \momentum{c}{pk} \\ +a & a & A & A \\ +} + +\newpage + +\def\twice#1{#1 & #1 \\} + +\halign{&#\hfil\quad&$\refptcirc\feyn{#}$\qquad\cr +\twice{fs f gl gv f fs} +\twice{fs f glA gv f fs} +\twice{fs fA glA gvV f fs} +\twice{fs fA g1A gvV g2V fA fs} +\twice{msmAglgvmsxf} +} + +\vskip10ex + +Annotations: + +a: $\feyn{!f1\momentum{fA}2}$ + +b: $\feyn{f !{gluV}k f}$ +\vskip 10ex + +c: $\feyn{f !{g1A}1 \momentum{g2V}2 \momentum{g3A}3 \momentum{g4V}4 f}$ +\vskip 10ex + +d: $\feyn{\momentum{gl}a\momentum{gluV}b}$ +\vskip 10ex + +e: $\feyn{fs f \momentum{flA}{pk} \momentum{fluV}{pk} f fs}$ +\vskip 10ex + +f: $\feyn{fs f \momentum{flSA}{pk} \momentum{flSuV}{pk} f fs}$ + +%error: $\feyn{\momentum{x}x}$ + +\newpage + +Vertex Feynman diagram: +\[ +\Diagram{\vertexlabel^a \\ + fd \\ +& g\vertexlabel_{\mu,c} \\ +\vertexlabel_b fu \\ +} += +\Diagram{\vertexlabel^a \\ + fdA \\ +& gA\vertexlabel_{\mu,c} \\ +\vertexlabel_b fuV \\ +} += +\Diagram{\momentum{fdA}a\\ + & \vertexlabel_{\gamma_\mu} \momentum{gA}{\mu,c} \\ +\momentum{fuV}b +} += +ig\gamma_\mu (T^c)_{ab} +\] + +Two-loop diagram: +\[ +\feyn{ff gl ff} +\to +\feyn{ff\bigbosonloopA\smallbosonloopV ff} += +\feyn{!{fA}p f!{glBV}k !{glSA}l a\vertexlabel_{p+k-l} ff} +\] + +Bremsstrahlung: +\[ + \Diagram{ & x \\ + & ![ulft]{gvV}{q=p'+k-p} & !{guA}k \\ + ![bot]{fA}p & ![bot]{fA}{p'+k} & ![lrt]{fA}{p'} \\ + } + + + \Diagram{ & !{guA}k \\ + !{fA}p & fs ![bot]{fA}{p-k} & !{fA}{p'} \\ + & & ![lrt]{gvA}{q=p'+k-p} \\ + & & x\\ + } +\] + +OPE: +\def\bracket#1{\langle #1 \rangle} +\begin{eqnarray*} +-i\Sigma_{\mathrm{ope}} &=& + \left[\feyn{faf + fsfglffs + + \cdots} \right] 1 \\ + && \quad{}+ + \left[ \feyn{ fxfs0glfs0xf + + \cdots} \right] + \bracket{\overline\psi M \psi} \\ + && \quad{}+ \left[ + \Diagram{ &x &x \\ + &gv &gv \\ + fs &fs &fs \\} + \cdots + \right] + \bracket{G_{\mu\nu}^a G_{\mu\nu}^a}\\ +\end{eqnarray*} + +Complete vertex: +\begin{eqnarray*} +\feyn{fcf} &=& \feyn{faf + fpf + fpfpf + \cdots} \\ + &=& \sum_{n=0}^\infty \feyn{fA ( pfA)}^n \\ + &=& \feyn{\frac{fA}{1-(pfA)}}. +\end{eqnarray*} + + + +\iffalse +\halign{&#\hfil\quad&$\refptcirc\feyn{#}$ \cr +a & a \\ +c & c \\ +f & f \\ +F & F \\ +fs & fs \\ +fl & fl \\ +fu & fu \\ +fd & fd \\ +fv & fv \\ +f0 & f0 \\ +fs0 & fs0 \\ +g & g \\ +G & G \\ +gl & gl \\ +glu & glu \\ +$\backslash$ smallbosonloop & \smallbosonloop \\ +$\backslash$ bigbosonloop & \bigbosonloop \\ +gu & gu \\ +gd & gd \\ +gv & gv \\ +gvs & gvs \\ +gvb & gvb \\ +h & h \\ +hs & hs \\ +hu & hu \\ +hd & hd \\ +k & k \\ +l & l \\ +m & m \\ +ms & ms \\ +n & n \\ +o & o \\ +p & p \\ +x & x \\ +w & w \\ +%000 & \arrow000\\ +%00 45 & \arrow00{45}\\ +} +\fi + +\end{document} diff --git a/Master/texmf-dist/doc/fonts/feyn/feyn.pdf b/Master/texmf-dist/doc/fonts/feyn/feyn.pdf new file mode 100644 index 00000000000..84fef75d064 Binary files /dev/null and b/Master/texmf-dist/doc/fonts/feyn/feyn.pdf differ diff --git a/Master/texmf-dist/doc/fonts/feyn/feyn10.mf b/Master/texmf-dist/doc/fonts/feyn/feyn10.mf new file mode 100644 index 00000000000..be25771202d --- /dev/null +++ b/Master/texmf-dist/doc/fonts/feyn/feyn10.mf @@ -0,0 +1,41 @@ +% Feynman diagram font, 10pt display size, release 0.3.1, 2008 February 29. +% +% Copyright 1991, 1994, 2001, Norman Gray +% $Id: feyn10.mf,v 1.9 2008/02/29 21:26:27 norman Exp $ + +font_identifier "FEYN"; font_size 10pt#; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% First the base size + +module# := 10pt#; + +% phfudge is ... what?! +phfudge# := 0pt#; % must be, for \Diagram macro + +linewidth# := 0.75pt#; % pen width +thinlinewidth# := 0.5pt#; % thin pen +bigarrow# := 6pt#; % size of arrows +littlearrow# := 4pt#; +blobr# := 6.5pt#; % radius of blobs and crosses + +on_math_axis := 1; + +% We want the roman digits from the corresponding cmr font, and that's +% all. Therefore, we don't want to obey the `generate' command in +% cmr??.mf. To do this, we read in cmbase, and then set generate to +% gobble its argument. +def gobble primary g=enddef; % gobbles its argument +input cmbase; % Read it explicitly, rather than + % implicitly within cmr10 +let generate=gobble; +input cmr10; % ...but miss out the `generate roman' + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% To business.... + +input feyn; + +end diff --git a/Master/texmf-dist/doc/fonts/feyn/feyn11.mf b/Master/texmf-dist/doc/fonts/feyn/feyn11.mf new file mode 100644 index 00000000000..034b3811b56 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/feyn/feyn11.mf @@ -0,0 +1,41 @@ +% Feynman diagram font, 11pt display size, release 0.3.1, 2008 February 29. +% +% Copyright 1991, 1994, 2001, Norman Gray +% $Id: feyn11.mf,v 1.6 2008/02/29 21:26:27 norman Exp $ + +font_identifier "FEYN"; font_size 11pt#; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% First the base size + +module# := 11pt#; + +% phfudge is ... what?! +phfudge# := 0pt#; % must be, for \Diagram macro + +linewidth# := 0.85pt#; % pen width +thinlinewidth# := 0.55pt#; % thin pen +bigarrow# := 6.5pt#; % size of arrows +littlearrow# := 4.5pt#; +blobr# := 7pt#; % radius of blobs and crosses + +on_math_axis := 1; + +% We want the roman digits from the corresponding cmr font, and that's +% all. Therefore, we don't want to obey the `generate' command in +% cmr??.mf. To do this, we read in cmbase, and then set generate to +% gobble its argument. +def gobble primary g=enddef; % gobbles its argument +input cmbase; % Read it explicitly, rather than + % implicitly within cmr10 +let generate=gobble; +input cmr11; % ...but miss out the `generate roman' + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% To business.... + +input feyn; + +end diff --git a/Master/texmf-dist/doc/fonts/feyn/feyn12.mf b/Master/texmf-dist/doc/fonts/feyn/feyn12.mf new file mode 100644 index 00000000000..3b4e6c55faf --- /dev/null +++ b/Master/texmf-dist/doc/fonts/feyn/feyn12.mf @@ -0,0 +1,41 @@ +% Feynman diagram font, 12pt display size, release 0.3.1, 2008 February 29. +% +% Copyright 1991, 1994, 2001, Norman Gray +% $Id: feyn12.mf,v 1.7 2008/02/29 21:26:27 norman Exp $ + +font_identifier "FEYN"; font_size 12pt#; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% First the base size + +module# := 12pt#; + +% phfudge is ... what?! +phfudge# := 0pt#; % must be, for \Diagram macro + +linewidth# := 0.9pt#; % pen width +thinlinewidth# := 0.6pt#; % thin pen +bigarrow# := 7pt#; % size of arrows +littlearrow# := 5pt#; +blobr# := 7.5pt#; % radius of blobs and crosses + +on_math_axis := 1; + +% We want the roman digits from the corresponding cmr font, and that's +% all. Therefore, we don't want to obey the `generate' command in +% cmr??.mf. To do this, we read in cmbase, and then set generate to +% gobble its argument. +def gobble primary g=enddef; % gobbles its argument +input cmbase; % Read it explicitly, rather than + % implicitly within cmr10 +let generate=gobble; +input cmr12; % ...but miss out the `generate roman' + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% To business.... + +input feyn; + +end diff --git a/Master/texmf-dist/doc/fonts/feyn/feyn18.mf b/Master/texmf-dist/doc/fonts/feyn/feyn18.mf new file mode 100644 index 00000000000..f0ae91e3c01 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/feyn/feyn18.mf @@ -0,0 +1,41 @@ +% Feynman diagram font, 18pt display size, release 0.3.1, 2008 February 29. +% +% Copyright 1991, 1994, 2001, Norman Gray +% $Id: feyn18.mf,v 1.2 2008/02/29 21:26:27 norman Exp $ + +font_identifier "FEYN"; font_size 18pt#; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% First the base size + +module# := 18pt#; + +% phfudge is ... what?! +phfudge# := 0pt#; % must be, for \Diagram macro + +linewidth# := 1.5pt#; % pen width +thinlinewidth# := 0.75pt#; % thin pen +bigarrow# := 9pt#; % size of arrows +littlearrow# := 6pt#; +blobr# := 10pt#; % radius of blobs and crosses + +on_math_axis := 1; + +% We want the roman digits from the corresponding cmr font, and that's +% all. Therefore, we don't want to obey the `generate' command in +% cmr??.mf. To do this, we read in cmbase, and then set generate to +% gobble its argument. +def gobble primary g=enddef; % gobbles its argument +input cmbase; % Read it explicitly, rather than + % implicitly within cmr10 +let generate=gobble; +input cmr10; % ...but miss out the `generate roman' + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% To business.... + +input feyn; + +end diff --git a/Master/texmf-dist/doc/fonts/feyn/feyn24.mf b/Master/texmf-dist/doc/fonts/feyn/feyn24.mf new file mode 100644 index 00000000000..41e2bf3e98e --- /dev/null +++ b/Master/texmf-dist/doc/fonts/feyn/feyn24.mf @@ -0,0 +1,41 @@ +% Feynman diagram font, 24pt display size, release 0.3.1, 2008 February 29. +% +% Copyright 1991, 1994, 2001, Norman Gray +% $Id: feyn24.mf,v 1.2 2008/02/29 21:26:27 norman Exp $ + +font_identifier "FEYN"; font_size 10pt#; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% First the base size + +module# := 24pt#; + +% phfudge is ... what?! +phfudge# := 0pt#; % must be, for \Diagram macro + +linewidth# := 2.25pt#; % pen width +thinlinewidth# := 1.5pt#; % thin pen +bigarrow# := 9pt#; % size of arrows +littlearrow# := 12pt#; +blobr# := 20pt#; % radius of blobs and crosses + +on_math_axis := 1; + +% We want the roman digits from the corresponding cmr font, and that's +% all. Therefore, we don't want to obey the `generate' command in +% cmr??.mf. To do this, we read in cmbase, and then set generate to +% gobble its argument. +def gobble primary g=enddef; % gobbles its argument +input cmbase; % Read it explicitly, rather than + % implicitly within cmr10 +let generate=gobble; +input cmr10; % ...but miss out the `generate roman' + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% To business.... + +input feyn; + +end diff --git a/Master/texmf-dist/doc/fonts/feyn/feyntext10.mf b/Master/texmf-dist/doc/fonts/feyn/feyntext10.mf new file mode 100644 index 00000000000..d5dfc642d38 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/feyn/feyntext10.mf @@ -0,0 +1,41 @@ +% Feynman diagram font, 10pt text size, release 0.3.1, 2008 February 29. +% +% Copyright 1991, 1994, 2001, Norman Gray +% $Id: feyntext10.mf,v 1.5 2008/02/29 21:26:27 norman Exp $ + +font_identifier "FEYN"; font_size 10pt#; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% First the base size + +module# := 5pt#; + +% phfudge is ... what?! +phfudge# := 0pt#; % must be, for \Diagram macro + +linewidth# := 0.5pt#; % pen width +thinlinewidth# := 0.4pt#; % thin pen +bigarrow# := 4pt#; % size of arrows +littlearrow# := 3pt#; +blobr# := 3.5pt#; % radius of blobs and crosses + +on_math_axis := 0; + +% We want the roman digits from the corresponding cmr font, and that's +% all. Therefore, we don't want to obey the `generate' command in +% cmr??.mf. To do this, we read in cmbase, and then set generate to +% gobble its argument. +def gobble primary g=enddef; % gobbles its argument +input cmbase; % Read it explicitly, rather than + % implicitly within cmr10 +let generate=gobble; +input cmr10; % ...but miss out the `generate roman' + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% To business.... + +input feyn; + +end diff --git a/Master/texmf-dist/doc/fonts/feyn/feyntext11.mf b/Master/texmf-dist/doc/fonts/feyn/feyntext11.mf new file mode 100644 index 00000000000..24740299fdc --- /dev/null +++ b/Master/texmf-dist/doc/fonts/feyn/feyntext11.mf @@ -0,0 +1,41 @@ +% Feynman diagram font, 11pt text size, release 0.3.1, 2008 February 29. +% +% Copyright 1991, 1994, 2001, Norman Gray +% $Id: feyntext11.mf,v 1.5 2008/02/29 21:26:27 norman Exp $ + +font_identifier "FEYN"; font_size 11pt#; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% First the base size + +module# := 5.5pt#; + +% phfudge is ... what?! +phfudge# := 0pt#; % must be, for \Diagram macro + +linewidth# := 0.5pt#; % pen width +thinlinewidth# := 0.4pt#; % thin pen +bigarrow# := 4.5pt#; % size of arrows +littlearrow# := 3.5pt#; +blobr# := 3.5pt#; % radius of blobs and crosses + +on_math_axis := 0; + +% We want the roman digits from the corresponding cmr font, and that's +% all. Therefore, we don't want to obey the `generate' command in +% cmr??.mf. To do this, we read in cmbase, and then set generate to +% gobble its argument. +def gobble primary g=enddef; % gobbles its argument +input cmbase; % Read it explicitly, rather than + % implicitly within cmr10 +let generate=gobble; +input cmr11; % ...but miss out the `generate roman' + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% To business.... + +input feyn; + +end diff --git a/Master/texmf-dist/doc/fonts/feyn/feyntext12.mf b/Master/texmf-dist/doc/fonts/feyn/feyntext12.mf new file mode 100644 index 00000000000..e2553c3dee8 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/feyn/feyntext12.mf @@ -0,0 +1,41 @@ +% Feynman diagram font, 12pt text size, release 0.3.1, 2008 February 29. +% +% Copyright 1991, 1994, 2001, Norman Gray +% $Id: feyntext12.mf,v 1.6 2008/02/29 21:26:27 norman Exp $ + +font_identifier "FEYN"; font_size 12pt#; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% First the base size + +module# := 6pt#; + +% phfudge is ... what?! +phfudge# := 0pt#; % must be, for \Diagram macro + +linewidth# := 0.55pt#; % pen width +thinlinewidth# := 0.45pt#; % thin pen +bigarrow# := 5pt#; % size of arrows +littlearrow# := 4pt#; +blobr# := 4pt#; % radius of blobs and crosses + +on_math_axis := 0; + +% We want the roman digits from the corresponding cmr font, and that's +% all. Therefore, we don't want to obey the `generate' command in +% cmr??.mf. To do this, we read in cmbase, and then set generate to +% gobble its argument. +def gobble primary g=enddef; % gobbles its argument +input cmbase; % Read it explicitly, rather than + % implicitly within cmr10 +let generate=gobble; +input cmr12; % ...but miss out the `generate roman' + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% To business.... + +input feyn; + +end diff --git a/Master/texmf-dist/doc/fonts/feyn/feyntext18.mf b/Master/texmf-dist/doc/fonts/feyn/feyntext18.mf new file mode 100644 index 00000000000..f1187a16f86 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/feyn/feyntext18.mf @@ -0,0 +1,41 @@ +% Feynman diagram font, 18pt text size, release 0.3.1, 2008 February 29. +% +% Copyright 1991, 1994, 2001, Norman Gray +% $Id: feyntext18.mf,v 1.2 2008/02/29 21:26:27 norman Exp $ + +font_identifier "FEYN"; font_size 18pt#; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% First the base size + +module# := 10pt#; + +% phfudge is ... what?! +phfudge# := 0pt#; % must be, for \Diagram macro + +linewidth# := 1.0pt#; % pen width +thinlinewidth# := 0.8pt#; % thin pen +bigarrow# := 8pt#; % size of arrows +littlearrow# := 6pt#; +blobr# := 7pt#; % radius of blobs and crosses + +on_math_axis := 0; + +% We want the roman digits from the corresponding cmr font, and that's +% all. Therefore, we don't want to obey the `generate' command in +% cmr??.mf. To do this, we read in cmbase, and then set generate to +% gobble its argument. +def gobble primary g=enddef; % gobbles its argument +input cmbase; % Read it explicitly, rather than + % implicitly within cmr10 +let generate=gobble; +input cmr10; % ...but miss out the `generate roman' + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% To business.... + +input feyn; + +end diff --git a/Master/texmf-dist/doc/fonts/feyn/feyntext24.mf b/Master/texmf-dist/doc/fonts/feyn/feyntext24.mf new file mode 100644 index 00000000000..342b38d8ef2 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/feyn/feyntext24.mf @@ -0,0 +1,41 @@ +% Feynman diagram font, 24pt text size, release 0.3.1, 2008 February 29. +% +% Copyright 1991, 1994, 2001, Norman Gray +% $Id: feyntext24.mf,v 1.2 2008/02/29 21:26:27 norman Exp $ + +font_identifier "FEYN"; font_size 24pt#; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% First the base size + +module# := 15pt#; + +% phfudge is ... what?! +phfudge# := 0pt#; % must be, for \Diagram macro + +linewidth# := 1.5pt#; % pen width +thinlinewidth# := 1.2pt#; % thin pen +bigarrow# := 12pt#; % size of arrows +littlearrow# := 9pt#; +blobr# := 11pt#; % radius of blobs and crosses + +on_math_axis := 0; + +% We want the roman digits from the corresponding cmr font, and that's +% all. Therefore, we don't want to obey the `generate' command in +% cmr??.mf. To do this, we read in cmbase, and then set generate to +% gobble its argument. +def gobble primary g=enddef; % gobbles its argument +input cmbase; % Read it explicitly, rather than + % implicitly within cmr10 +let generate=gobble; +input cmr10; % ...but miss out the `generate roman' + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% To business.... + +input feyn; + +end diff --git a/Master/texmf-dist/doc/fonts/feyn/overheads.pdf b/Master/texmf-dist/doc/fonts/feyn/overheads.pdf new file mode 100644 index 00000000000..ba8836904d9 Binary files /dev/null and b/Master/texmf-dist/doc/fonts/feyn/overheads.pdf differ diff --git a/Master/texmf-dist/doc/fonts/feyn/overheads.tex b/Master/texmf-dist/doc/fonts/feyn/overheads.tex new file mode 100644 index 00000000000..2feb8e6bfa1 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/feyn/overheads.tex @@ -0,0 +1,30 @@ +\documentclass[Screen4to3]{foils} +%\documentclass[25pt,Screen4to3]{foils} +% Don't use landscape option with Screen4to3 -- it swaps back to portrait + +% size options, 17, 20 (default), 25, 30 + +\usepackage{times,feyn} + + + +\title{Feynman diagrams} +\author{Norman Gray\\University of Glasgow} +\date{2005 March 10} + +\parindent0pt + +\begin{document} + +\maketitle + +\foilhead{A diagram} + +Here is a text diagram $\Feyn{fglf}$, displayed +\[ +2\times \feyn{2 !{fA}pf glB glS ff + + \Diagram{hd \\ &g\\hu}} +=\frac{\delta^{ab}}{p^2} +\] + +\end{document} diff --git a/Master/texmf-dist/doc/latex/feyn/README b/Master/texmf-dist/doc/latex/feyn/README deleted file mode 100644 index 7900a05ad0f..00000000000 --- a/Master/texmf-dist/doc/latex/feyn/README +++ /dev/null @@ -1,58 +0,0 @@ - -Feyn: a Metafont for Feynman diagrams -------------------------------------- - -%%VERSION%% 0.1 - -This describes the font `feyn', which can be used to produce relatively -simple Feynman diagrams within equations in a LaTeX document. - -The other Feynman diagram package which exists is Thorsten Ohl's -`feynmf/feynmp' package. That works by creating Metafont or MetaPost -figures using a preprocessor. It's more general than this package, -but is at its best when creating relatively large diagrams, for -figures. In contrast, the present system consists of a -carefully-designed font with which you can write simple diagrams, -within equations or within text, in a size matching the surrounding -text size. - - -Status ------- - -The font, and this associated style file, should be regarded as -beta software at present. The propagators and vertices which are -implemented are those which _I_ needed. I'd be delighted to -add more if folk feel they would be useful. - - -Installation ------------- - -Extract the package file from the distribution file using `latex -feyn.ins'. The resulting `feyn.sty' should be installed in the usual -location for style files -- that is, something like -`texmf.local/tex/latex/feyn.sty'. The Metafont source files `*.mf' -should be installed in a directory with a location such as -`texmf.local/fonts/source/feyn/' (on a system which has the command, -`kpsepath mf' will indicate the possibilities here, but these -typically include the current directory). That should be all you need -to do as regards the installation of the fonts -- if your TeX setup is -installed correctly, then the usual font-generation commands (such as -`mktexpk' for example) should work as normal, and they should be -invoked by default when you LaTeX the feyn.dtx file. - - - -Licence -------- - -This software is copyright, 1991, 2001, 2002, Norman Gray. It is -released under the terms of the GNU General Public Licence. See the -copyright declaration at the top of file feyn.dtx, and the file -LICENCE for the licence conditions. - - - -Norman Gray, -http://www.astro.gla.ac.uk/users/norman/ diff --git a/Master/texmf-dist/doc/latex/feyn/feyn.pdf b/Master/texmf-dist/doc/latex/feyn/feyn.pdf deleted file mode 100644 index 5cb5a253133..00000000000 Binary files a/Master/texmf-dist/doc/latex/feyn/feyn.pdf and /dev/null differ diff --git a/Master/texmf-dist/fonts/source/public/feyn/feyn.mf b/Master/texmf-dist/fonts/source/public/feyn/feyn.mf index fe748a05fb7..01477d5d467 100644 --- a/Master/texmf-dist/fonts/source/public/feyn/feyn.mf +++ b/Master/texmf-dist/fonts/source/public/feyn/feyn.mf @@ -1,17 +1,22 @@ -% This is the metafont for the feynfont font. +% This is the metafont for the feynfont font, release 0.3.1, 2008 February 29 +% +% Copyright 1991, 1994, 2001, 2002, 2005, 2008, Norman Gray. +% See the file LICENCE for licence details. +% +% % % When I look at the property list of the generated TFM (using % tftopl) it starts with `(FAMILY CMR)': but this isn't in the cmr % family. I can't find anything in cmbase.mf which would cause % this. Perhaps I need to read the Metafont Book more closely. % -% $Id: feyn.mf,v 1.6 2002/04/18 22:32:10 norman Exp $ +% $Id: feyn.mf,v 1.17 2008/02/29 21:26:27 norman Exp $ mode_setup; font_setup; % a# is the position of the characters above the baseline. -a# := math_axis#; % math_axis is defined by cmr +a# := on_math_axis * math_axis#; % math_axis is defined by cmr % Feyn macros input feynmac; @@ -36,153 +41,406 @@ phangle := 75; % character generated by the errorchar macro, which is 0pt wide, and % 1module# high. This character doesn't generate any real error, % but the glyph will be manifestly peculiar on paper. +% +% Add code to extra_beginchar so that we keep a record of all the +% characters that we generate, so that we can generate an errochar +% character for each of the codepoints that we've skipped. `charcode' +% is defined in the expansion of beginchar() + +numeric donechar[]; +string donecharerror; +donecharerror := "Duplicate character"; +extra_beginchar := extra_beginchar & "if known donechar[charcode]: errmessage donecharerror; fi donechar[charcode] := 1;"; + +path charpath; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Digits 0x30--0x39. Obtain these from the cmr source file: romand.mf. +input romand; +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Fermions + +def path_fermion (expr scale_sharp, ang) = + begingroup + save scale; + scale := hround(scale_sharp*hppp); + if ang > 0: % slopes upward + (0,a) .. (scale*(cosd ang), scale*(abs sind ang)+a) + else : + (0,scale*(abs sind ang)+a) .. (scale*(cosd ang), a) + fi + endgroup +enddef; + +threechars ("f", "fermion", + path_fermion(2module#, 0), 0.5, 2module#, 0, 0, + (0,0.1module), "top"); + +beginchar ("k", module#, 0, 0); + "short fermion"; + pen; + draw path_fermion(module#, 0); +endchar; -gfermion (0, -45); -gfermion (1, 45); -gfermion (2, 90); -beginchar (3, 0, module#, 0); errorchar (h); endchar; +% The following characters are in boxes the same vertical size as the black +% bit of the character, but they project out of the top by an amount equal to +% the height of the math axis, and are that same height clear of the bottom +% of the box. +% +%%%% -90 <= ang <= +90, or all hell will break loose -gboson (4, -45, 1, 0); -gboson (5, 45, 1, 0); -gboson (6, 90, 1, 0); -gboson (7, 90, 0.85, 0); -gboson (8, 90, 1.7, 1); +threechars ("e", "upward fermion", + path_fermion(2module#, 45), 0.5, + 2module#*(cosd 45), 2module#*(abs sind 45), 0, + 0, "ulft"); -for c=hex"09" upto hex"0F": - beginchar (c, 0, module#, 0); errorchar (h); endchar; -endfor +threechars ("d", "downward fermion", + path_fermion(2module#, -45), 0.5, + 2module#*(cosd -45), 2module#*(abs sind -45), 0, + 0, "urt"); -gghost (hex"10", -45); -gghost (hex"11", 45); +threechars ("b", "vertically upward fermion", + path_fermion(2module#, 90), 0.5, + 2module#*(cosd 90), 2module#*(abs sind 90), 0, + 0, "urt"); -for c=hex"12" upto hex"1F": - beginchar (c, 0, module#, 0); errorchar (h); endchar; -endfor +charpath := path_fermion(2module#, 0); +beginchar("m", 2module#, 0, 0); "massive fermion"; + pen; + draw charpath shifted (0,linewidth); + draw charpath shifted (0,-linewidth); + annotate_at(point 0.5 of charpath shifted (0,linewidth), "top"); +endchar; -gbhalfloop (hex"20", 1.3, 9, 0); % small loop -gbhalfloop (hex"21", 3, 13, 0); % large loop - -beginchar (hex"22", 0, module#, 0); errorchar (h); endchar; -beginchar (hex"23", 0, module#, 0); errorchar (h); endchar; -beginchar (hex"24", 0, module#, 0); errorchar (h); endchar; -beginchar (hex"25", 0, module#, 0); errorchar (h); endchar; -beginchar (hex"26", 0, module#, 0); errorchar (h); endchar; -beginchar (hex"27", 0, module#, 0); errorchar (h); endchar; - -garrow (hex"28", 0, 0); -garrow (hex"29", 45, 0); -garrow (hex"2A", 90, 0); -garrow (hex"2B", 135, 0); -garrow (hex"2C", 180, 0); -garrow (hex"2D", 225, 0); -garrow (hex"2E", 270, 0); -garrow (hex"2F", 315, 0); - -% Digits 0x30--0x39 go here. Obtain these from the cmr source file: romand.mf. -input romand; +beginchar("M", 2module#, 0, 0); "r-arrowed massive fermion"; + pen; + draw charpath shifted (0,linewidth); + draw charpath shifted (0,-linewidth); + drawarrow (bigarrow, point 0.5 of charpath, 0); + annotate_at(point 0.5 of charpath shifted (0,linewidth), "top"); +endchar; -for c=hex"3A" upto hex"5F": - beginchar (c, 0, module#, 0); errorchar (h); endchar; -endfor +beginchar(byte"m"-hex"60", 2module#, 0, 0); "l-arrowed massive fermion"; + pen; + draw charpath shifted (0,linewidth); + draw charpath shifted (0,-linewidth); + drawarrow (bigarrow, point 0.5 of charpath, 180); + annotate_at(point 0.5 of charpath shifted (0,linewidth), "top"); +endchar; -beginchar (hex"60", 2module#, 0, 0); "spacer"; +charpath := path_fermion(module#, 0); +beginchar(hex"0B", module#, 0, 0); "short massive fermion"; + pen; + draw charpath shifted (0,linewidth); + draw charpath shifted (0,-linewidth); + %drawarrow (littlearrow, point 0.5 of charpath, 0); + annotate_at(point 0.5 of charpath shifted (0,linewidth), "top"); endchar; -garrow ("a", 0, 1); "arrow"; +begingroup + clearxy; + save width; + width# := 4module#; + define_pixels(width); + x2-x0 = 2(x1-x0) = width; + x1 = 0; + y0 = y2 = 0; + y1 = 1.6module; + %charpath := z0{dir 60} .. {dir -60}z2; + charpath := z0 .. z1 .. z2; + + threechars("l", "fermion loop", + charpath shifted (0,a), 1, + 0, module#+a#, 0, + 0, "top"); + threechars("n", "fermion loop, inverted", + charpath yscaled -1 shifted (0,a), 1, + 0, module#+a#, 0, + 0, "bot"); + threechars("o", "fermion loop, small", + charpath scaled 0.66667 shifted (0,0.66667a), 1, + 0, module#+a#, 0, + 0, "top"); + threechars("w", "fermion loop, small, inverted", + charpath xscaled 0.66667 yscaled -0.66667 shifted(0,0.66667a), 1, + 0, module#+a#, 0, + 0, "bot"); +endgroup; + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Gauge bosons +% -beginchar ("b", module#, 0, 0); "short spacer"; - % A previous version of this font had this curious construction, without - % explanation. I don't know why it was thought necessary. It seems - % to result in a hairline being put in this character. Remove it - % for the moment. - %pickup pencircle scaled 0pt; - %draw (0,0) .. (w,0); +def path_boson (expr scale_sharp, ang, taper) = + begingroup + save scale; + clearxy; + scale := hround(scale_sharp*hppp); + x1 = 0; x5 = scale*(cosd ang); + if ang > 0 : % slopes upward + y1 = a; + y5 = scale*(abs sind ang) + a; + else : + y1 = scale*(abs sind ang) + a; + y5 = a; + fi + z2-z1 = z3-z2 = z4-z3 = z5-z4; + def ::(expr b) = {dir (ang+b)} looselink {dir (ang-b)} enddef; + + z1 ::(phangle) z2 ::(-phangle) z3 ::(phangle) z4 + if taper <> 0 : + {dir (ang-phangle)} .. tension 1 and 0.8 .. {dir (ang+phangle/2)} + else : + ::(-phangle) + fi + z5 + endgroup +enddef; + +threechars ("g", "gluon", + path_boson(2module#, 0, 0), 2, + 2module#, 0, 0, + (0, 0.2module), "top"); +threechars ("u", "upward gluon", + path_boson(2module#, 45, 0), 2, + 2module#*(cosd 45), 2module#*(abs sind 45), 0, + 0, "ulft"); +threechars ("v", "downward gluon", + path_boson(2module#, -45, 0), 2, + 2module#*(cosd -45), 2module#*(abs sind -45), 0, + 0, "urt"); +threechars (oct"175", + "vertical gluon", + path_boson(2module#, 90, 1), 2, + 0, 2module#, 0, + 0, "urt"); + + +% plus or minus phangle, depending on whether n is odd or even +def pm_angle(expr n) = + if odd n: -1 else: 1 fi*phangle +enddef; + +% a gluon quarter loop: +% wid: radius of loop in modules +% nopts: number of points +% inv: if 1, the loop goes from the axis to the top; +% if 0, from the top down to the axis +% negang: if 1, negate the photon angle (so it wiggles oppositely); +% if 0, don't +% taper: if 1, the line tapers as it approaches the axis +def path_quadloop (expr wid, nopts, inv, negang, taper) = + begingroup + save halfwidth, myangle; + clearxy; + halfwidth# := wid*module#; + define_pixels(halfwidth); + myangle = if negang <> 0: -phangle else: phangle fi; + z0 = (halfwidth, 0); + for x = 1 upto nopts: + z[x] = z0 rotated (x*90/nopts); + endfor + if inv = 0: + def ::(expr p,ang) = p{p rotated(-90-ang)} looselink enddef; + for x=nopts downto 2: + ::(z[x], pm_angle(x+negang)) + endfor + if taper <> 0: + z[1]{z[1] rotated(-90+myangle)} .. tension 1 and 0.8 .. {dir -(90+myangle/2)} + else: + ::(z[1], pm_angle(1+negang)) + fi + z0 + else: + def ::(expr p,ang) = looselink {p rotated (90+ang)}p enddef; + if taper <> 0: + z0 {dir (90+myangle/2)} .. tension 0.8 and 1 .. z[1]{z[1] rotated(90-myangle)} + else: + z0{dir (90+myangle)} + ::(z[1], pm_angle(1+negang)) + fi + for x=1 upto nopts: + ::(z[x], pm_angle(x+negang)) + endfor + fi + endgroup +enddef; + + +threechars ("q", "gluon, quadrant 1", + path_quadloop(2, 6, 1, 0, 1) xscaled -1 shifted (0,a), 4, + 0, 2module#+a#, 0, + 0, "ulft"); +threechars ("r", "gluon, quadrant 2", + path_quadloop(2, 6, 0, 0, 1) shifted (0,a), 3, + 0, 2module#+a#, 0, + 0, "urt"); +threechars ("s", "gluon, quadrant 3", + path_quadloop(2, 6, 0, 1, 1) yscaled -1 shifted (0,a), 3, + 0, a#, a#-2module#, + 0, "lrt"); +threechars ("t", "gluon, quadrant 4", + path_quadloop(2, 6, 1, 1, 1) scaled -1 shifted (0,a), 4, + 0, a#, a#-2module#, + 0, "llft"); +% The two loops following have the annotation off-centre, to keep +% it clear of the wiggles. Would it look better being "top" and "bot" +% again, but with a non-zero offset in the second-last argument? +threechars ("y", "gluon half loop", + ((path_quadloop(2, 6, 1, 0, 0) xscaled -1) + .. path_quadloop(2, 6, 0, 0, 0)) shifted (0,a), 7, + 0, 2module#+a#, 0, + 0, "urt"); +threechars ("z", "gluon half loop, inverted", + ((path_quadloop(2, 6, 1, 1, 0) scaled -1) + .. (path_quadloop(2, 6, 0, 1, 0) yscaled -1)) shifted (0,a), 7, + 0, a#, a#-2module#, + 0, "llft"); + +% Small and large boson half loops are at positions which are not characters. +% That's OK -- they can still be accessed by ligatures. +% 7b='{', 7c='|' +threechars (hex"7B", "large gluon half loop", + ((path_quadloop(2.66667, 8, 1, 0, 0) xscaled -1) + .. path_quadloop(2.66667, 8, 0, 0, 0)) shifted (0,a), 9, + 0, 2.66667module#+a#, 0, + 0, "urt"); +threechars (hex"7C", "small gluon half loop", + ((path_quadloop(1.3333, 4, 1, 0, 0) xscaled -1) + .. path_quadloop(1.3333, 4, 0, 0, 0)) shifted (0,a), 6, + 0, 1.3333module#+a#, 0, + 0, "llft"); + + + +def draw_ghost(expr a, b, apos) = + begingroup + clearxy; + %z1 = (0,a); z10 = (2module,a); + z1 = a; z10 = b; + z4-z3 = 2(z2-z1); + z4-z3 = z6-z5 = z8-z7; + z2-z1 = z3-z2 = z5-z4 = z7-z6 = z9-z8 = z10-z9; + pen; + draw z1..z2; draw z3..z4; draw z5..z6; draw z7..z8; draw z9..z10; + annotate_at(0.5[z5,z6], apos); + endgroup +enddef; + +beginchar ("h", 2module#, 0, 0); "ghost"; + pen; + draw_ghost((0,a), (w,a), "top"); endchar; - -beginchar ("c", 2blobr#, blobr# + a#, blobr#); "complete vertex"; +beginchar (byte "h"-hex"20", 2module#, 0, 0); "r-arrowed ghost"; pen; - draw (0,a) .. (w,a) .. cycle; + draw_ghost((0,a), (w,a), "top"); + drawarrow (littlearrow, .5[(0,a), (w,a)], 0); endchar; - -beginchar ("d", module#/2, 0, 0); "weeny fermion"; +beginchar (byte "h"-hex"60", 2module#, 0, 0); "l-arrowed ghost"; pen; - draw (0,a)..(w,a); + draw_ghost((0,a), (w,a), "top"); + drawarrow (littlearrow, .5[(0,a), (w,a)], 180); endchar; - -beginchar ("e", module#, 0, 0); "short fermion"; +beginchar ("i", 2module#*(cosd 45), 2module#*(sind 45), 0); "upward ghost"; pen; - draw (0,a)..(w,a); + draw_ghost((0,a), (w,h+a), "ulft"); endchar; - -beginchar ("f", 2module#, 0, 0); "fermion"; +beginchar (byte"i"-hex"20", 2module#*(cosd 45), 2module#*(sind 45), 0); + "r-arrowed upward ghost"; pen; - draw (0,a)..(w,a); + draw_ghost((0,a), (w,h+a), "ulft"); + drawarrow (littlearrow, .5[(0,a), (w,h+a)], 45); endchar; - -beginchar ("g", 2module#, 0, 0); - pen; "gauge boson"; - def ::(expr b) = {dir b} looselink {dir -b} enddef; - z1 = (0,a); z5 = (w,a); - z2-z1 = z3-z2 = z4-z3 = z5-z4; - draw z1 ::(phangle) z2 ::(-phangle) z3 ::(phangle) z4 ::(-phangle) z5; +beginchar (byte"i"-hex"60", 2module#*(cosd 45), 2module#*(sind 45), 0); + "l-arrowed upward ghost"; + pen; + draw_ghost((0,a), (w,h+a), "ulft"); + drawarrow (littlearrow, .5[(0,a), (w,h+a)], 45+180); endchar; - -beginchar ("h", 2module#, 0, 0); "ghost"; +beginchar ("j", 2module#*(cosd 45), 2module#*(sind 45), 0); + "downward ghost"; pen; - z1 = (0,a); z10 = (w,a); - z4-z3 = 2(z2-z1); - z4-z3 = z6-z5 = z8-z7; - z2-z1 = z3-z2 = z5-z4 = z7-z6 = z9-z8 = z10-z9; - draw z1..z2; draw z3..z4; draw z5..z6; draw z7..z8; draw z9..z10; + draw_ghost((0,h+a), (w,a), "urt"); +endchar; +beginchar (byte"j"-hex"20", 2module#*(cosd 45), 2module#*(sind 45), 0); + "r-arrowed downward ghost"; + pen; + draw_ghost((0,h+a), (w,a), "urt"); + drawarrow (littlearrow, .5[(0,a), (w,h+a)], -45); +endchar; +beginchar (byte"j"-hex"60", 2module#*(cosd 45), 2module#*(sind 45), 0); + "l-arrowed downward ghost"; + pen; + draw_ghost((0,h+a), (w,a), "urt"); + drawarrow (littlearrow, .5[(0,a), (w,h+a)], -45+180); endchar; -beginchar ("i", module#, 0, 0); "short ghost"; +beginchar ("K", module#, 0, 0); "short ghost"; pen; z1 = (0,a); z6 = (w,a); z4-z3 = 2(z2-z1); z2-z1 = z3-z2 = 1/2(z4-z3) = z5-z4 = z6-z5; draw z1..z2; draw z3..z4; draw z5..z6; + annotate_at(0.5[z3,z4], "top") endchar; -beginchar ("j", 0, module#, 0); errorchar (h); endchar; -beginchar ("k", module#/2, 0, 0); "weeny massive fermion"; - pen; - y1 - a = y2 - a = a - y3 = a - y4 = module#/3.5; - x1 = x3 = 0; - x2 = x4 = w; - draw z1--z2; - draw z3--z4; +beginchar (hex"60", 2module#, 0, 0); + "spacer"; endchar; -beginchar ("l", module#, 0, 0); "short massive fermion"; - pen; - y1 - a = y2 - a = a - y3 = a - y4 = module#/3.5; - x1 = x3 = 0; - x2 = x4 = w; - draw z1--z2; - draw z3--z4; +beginchar (hex"40", module#, 0, 0); + "short spacer"; endchar; -beginchar ("m", 2module#, 0, 0); "massive fermion"; +beginchar ("c", 2blobr#, blobr# + a#, blobr#); "complete vertex"; pen; - y1 - a = y2 - a = a - y3 = a - y4 = module#/3.5; - x1 = x3 = 0; - x2 = x4 = w; - draw z1--z2; - draw z3--z4; + draw (0,a) .. (w,a) .. cycle; + annotate_at((w/2,w/2+a), "top"); endchar; -beginchar ("n", 4module#, 2module#-a#, 2module#-a#); - pen; "fermion loop"; - z0 = (0,a); z1 = (w,a); - draw z0{dir phangle} ..tension 1.15.. {dir -phangle}z1; - draw z0{dir -phangle} ..tension 1.15.. {dir phangle}z1; -endchar; +%beginchar ("d", module#/2, 0, 0); "weeny fermion"; +% pen; +% draw (0,a)..(w,a); +%endchar; +% +%beginchar ("k", module#/2, 0, 0); "weeny massive fermion"; +% pen; +% y1 - a = y2 - a = a - y3 = a - y4 = module#/3.5; +% x1 = x3 = 0; +% x2 = x4 = w; +% draw z1--z2; +% draw z3--z4; +%endchar; +% +%beginchar ("l", module#, 0, 0); "short massive fermion"; +% pen; +% y1 - a = y2 - a = a - y3 = a - y4 = module#/3.5; +% x1 = x3 = 0; +% x2 = x4 = w; +% draw z1--z2; +% draw z3--z4; +%endchar; + +%beginchar ("n", 4module#, 2module#-a#, 2module#-a#); +% pen; "fermion loop"; +% z0 = (0,a); z1 = (w,a); +% draw z0{dir phangle} ..tension 1.15.. {dir -phangle}z1; +% draw z0{dir -phangle} ..tension 1.15.. {dir phangle}z1; +%endchar; + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Other symbols -gbhalfloop ("o", 2, 11, 0); % gauge boson half loop"; +garrow("a", 0, 1); beginchar ("p", 2blobr#, blobr# + a#, blobr# - a#); pen; "proper vertex"; @@ -209,18 +467,16 @@ beginchar ("p", 2blobr#, blobr# + a#, blobr# - a#); addto currentpicture also p2; currentpicture := currentpicture shifted (blobr,a); labels (range 1 thru 12); + annotate_at((blobr,blobr+a), "top"); endchar; -beginchar ("q", 0, module#, 0); errorchar(h); endchar; -beginchar ("r", 0, module#, 0); errorchar(h); endchar; -beginchar ("s", 0, module#, 0); errorchar(h); endchar; -beginchar ("t", 0, module#, 0); errorchar(h); endchar; -beginchar ("u", 0, module#, 0); errorchar(h); endchar; -beginchar ("v", 0, module#, 0); errorchar(h); endchar; - -gbhalfloop ("w", 2, 11, 1); % "gauge boson (half) loop, inverted"; +beginchar ("P", 2blobr#, blobr#+a#, blobr#-a#); % see complete vertex "c" + pen; "proper vertex 2"; + fill (0,a) .. (w,a) .. cycle;% withcolor black; + annotate_at((w/2,w/2+a), "top"); +endchar; -beginchar ("x", 0, blobr#/sqrt 2 + a# , blobr#/sqrt2 - a#); "counterterm"; +beginchar ("x", 0, a#, -a#); "counterterm"; pen; -x1 = -x2 = x3 = x4; y1 = -y2 = y3 = -y4; @@ -228,15 +484,9 @@ beginchar ("x", 0, blobr#/sqrt 2 + a# , blobr#/sqrt2 - a#); "counterterm"; draw z1 .. z4; draw z2 .. z3; currentpicture := currentpicture shifted (0,a); + annotate_at(0.5[z1,z3] shifted (0,a), "top"); endchar; -beginchar ("y", 0, module#, 0); errorchar(h); endchar; -beginchar ("z", 0, module#, 0); errorchar(h); endchar; -beginchar (hex"7b", 0, module#, 0); errorchar(h); endchar; -beginchar (hex"7c", 0, module#, 0); errorchar(h); endchar; -beginchar (hex"7d", 0, module#, 0); errorchar(h); endchar; -beginchar (hex"7e", 0, module#, 0); errorchar(h); endchar; - beginchar (hex"7F", module#, a#, 0); "space block"; pen; draw origin--(w,h); @@ -245,30 +495,136 @@ beginchar (hex"7F", module#, a#, 0); "space block"; endchar; +% Now generate an errorchar() in each of the code positions we've skipped +for n = 0 upto hex"7F": + if not known(donechar[n]): + beginchar (n, 0, module#, 0); errorchar(h); endchar; + fi +endfor + + % Construct the ligature tables. -ligtable "f" : % fermion - "s" =: hex"65", % short - "u" =: hex"01", % up - "d" =: hex"00", % down - "v" =: hex"02", % vertical - "l" =: hex"6e", % loop - "0" =: hex"60"; % spacer -ligtable hex"65" : % short fermion - "0" =: hex"62"; % short spacer -ligtable "m" : - "s" =: hex"6c"; % short massive -ligtable "g" : % gauge boson - "l" =: hex"6F", % loop - "u" =: hex"05", % up - "d" =: hex"04", % down - "v" =: hex"06"; % vertical -ligtable hex"06" : % vertical boson - "s" =: hex"07", % short - "b" =: hex"08"; % big -ligtable hex"6F" : % gauge boson loop - "u" =: hex"77"; % lower loop -ligtable "h" : % ghost - "s" =: "i", % short - "u" =: hex"11", % up - "d" =: hex"10"; % down +ligtable "f" : % fermion +"A" =: "F", % right-arrowed +"V" =: hex"06", % left-arrowed +"u" =: "e", % upward +"d" =: "d", % downward +"v" =: "b", % vertical +"s" =: "k", % short +"l" =: "l", % loop +"0" =: hex"60"; % spacer + +ligtable "e" : % downward fermion, fd +"A" =: "E", % arrowed +"V" =: hex"05"; + +ligtable "d" : % upward fermion, fu +"A" =: "D", +"V" =: hex"04"; + +ligtable "b" : % vertical fermion, fv +"A" =: "B", +"V" =: hex"02"; + +ligtable "k" : % short fermion +"0" =: hex"40"; % short spacer + +ligtable "l" : % fermion loop +"u" =: "n", % upside down +"S" =: "o", % small +"A" =: "L", +"V" =: hex"0C"; + +ligtable "g" : % gluon +"A" =: "G", +"V" =: hex"07", +"u" =: "u", +"d" =: "v", +"v" =: oct"175", +"l" =: "y", % gluon half-loop +"1" =: "q", % gluon quarter-loop, 1st quadrant (upper-left) +"2" =: "r", % 2nd +"3" =: "s", % 3rd +"4" =: "t"; % 4th + +ligtable "m" : % massive fermion +"A" =: "M", +"V" =: hex"0D", +"s" =: hex"0B"; + +ligtable "n" : % inverted fermion +"A" =: "N", +"V" =: hex"0E"; + +ligtable "o" : % fermion loop small +"u" =: "w", % upside down +"A" =: "O", +"V" =: hex"0F"; + +ligtable "q" : % gluon, 1st quadrant +"A" =: "Q", +"V" =: hex"11"; + +ligtable "r" : % gluon, 2nd quadrant +"A" =: "R", +"V" =: hex"12"; + +ligtable "s" : % gluon, 3rd quadrant +"A" =: "S", +"V" =: hex"13"; + +ligtable "t" : % gluon, 4th quadrant +"A" =: "T", +"V" =: hex"14"; + +ligtable "u" : % upward gluon +"A" =: "U", +"V" =: hex"15"; + +ligtable "v" : % downward gluon +"A" =: "V", +"V" =: hex"16"; + +ligtable "w" : % fermion loop, small, upside-down +"A" =: "W", +"V" =: oct"027"; + +ligtable oct"175" : % vertical gluon +"A" =: oct"135", +"V" =: oct"035"; + +ligtable "y" : % gluon half-loop +"A" =: "Y", +"V" =: hex"19", +"B" =: hex"7B", % large +"S" =: hex"7C", % small +"u" =: "z"; % ...upside down + +ligtable hex"7B" : % large gluon half loop +"A" =: hex"5B", +"V" =: hex"1B"; + +ligtable hex"7C" : % small gluon half loop +"A" =: hex"5C", +"V" =: hex"1C"; + +ligtable "z" : % upside-down gluon loop +"A" =: "Z", +"V" =: hex"1A"; + +ligtable "h" : % ghost +"A" =: "H", +"V" =: hex"08", +"u" =: "i", % upward +"d" =: "j", % downward +"s" =: "K"; % short + +ligtable "i" : % upward ghost +"A" =: "I", +"V" =: hex"09"; + +ligtable "j" : % downward ghost +"A" =: "J", +"V" =: hex"0A"; + diff --git a/Master/texmf-dist/fonts/source/public/feyn/feyn10.mf b/Master/texmf-dist/fonts/source/public/feyn/feyn10.mf deleted file mode 100644 index 6c6e926d19b..00000000000 --- a/Master/texmf-dist/fonts/source/public/feyn/feyn10.mf +++ /dev/null @@ -1,37 +0,0 @@ -% Feynman diagram font, 10pt display size. -% -% Copyright 1991, 1994, 2001, Norman Gray -% $Id: feyn10.mf,v 1.6 2001/08/20 21:40:31 norman Exp $ - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% First the base size - -module# := 10pt#; - -% phfudge is ... what?! -phfudge# := 0pt#; % must be, for \Diagram macro - -linewidth# := 0.75pt#; % pen width -thinlinewidth# := 0.5pt#; % thin pen -bigarrow# := 6pt#; % size of arrows -littlearrow# := 4pt#; -blobr# := 6.5pt#; % radius of blobs and crosses - -% We want the roman digits from the corresponding cmr font, and that's -% all. Therefore, we don't want to obey the `generate' command in -% cmr??.mf. To do this, we read in cmbase, and then set generate to -% gobble its argument. -def gobble primary g=enddef; % gobbles its argument -input cmbase; % Read it explicitly, rather than - % implicitly within cmr10 -let generate=gobble; -input cmr10; % ...but miss out the `generate roman' - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% To business.... - -input feyn; - -end diff --git a/Master/texmf-dist/fonts/source/public/feyn/feyn11.mf b/Master/texmf-dist/fonts/source/public/feyn/feyn11.mf deleted file mode 100644 index 0b49e8988d1..00000000000 --- a/Master/texmf-dist/fonts/source/public/feyn/feyn11.mf +++ /dev/null @@ -1,37 +0,0 @@ -% Feynman diagram font, 11pt display size. -% -% Copyright 1991, 1994, 2001, Norman Gray -% $Id: feyn11.mf,v 1.3 2001/08/20 21:40:31 norman Exp $ - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% First the base size - -module# := 11pt#; - -% phfudge is ... what?! -phfudge# := 0pt#; % must be, for \Diagram macro - -linewidth# := 0.85pt#; % pen width -thinlinewidth# := 0.55pt#; % thin pen -bigarrow# := 6.5pt#; % size of arrows -littlearrow# := 4.5pt#; -blobr# := 6.5pt#; % radius of blobs and crosses - -% We want the roman digits from the corresponding cmr font, and that's -% all. Therefore, we don't want to obey the `generate' command in -% cmr??.mf. To do this, we read in cmbase, and then set generate to -% gobble its argument. -def gobble primary g=enddef; % gobbles its argument -input cmbase; % Read it explicitly, rather than - % implicitly within cmr10 -let generate=gobble; -input cmr11; % ...but miss out the `generate roman' - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% To business.... - -input feyn; - -end diff --git a/Master/texmf-dist/fonts/source/public/feyn/feyn12.mf b/Master/texmf-dist/fonts/source/public/feyn/feyn12.mf deleted file mode 100644 index 38854808ba6..00000000000 --- a/Master/texmf-dist/fonts/source/public/feyn/feyn12.mf +++ /dev/null @@ -1,37 +0,0 @@ -% Feynman diagram font, 12pt display size. -% -% Copyright 1991, 1994, 2001, Norman Gray -% $Id: feyn12.mf,v 1.4 2001/08/20 21:40:32 norman Exp $ - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% First the base size - -module# := 12pt#; - -% phfudge is ... what?! -phfudge# := 0pt#; % must be, for \Diagram macro - -linewidth# := 0.9pt#; % pen width -thinlinewidth# := 0.6pt#; % thin pen -bigarrow# := 7pt#; % size of arrows -littlearrow# := 5pt#; -blobr# := 7.5pt#; % radius of blobs and crosses - -% We want the roman digits from the corresponding cmr font, and that's -% all. Therefore, we don't want to obey the `generate' command in -% cmr??.mf. To do this, we read in cmbase, and then set generate to -% gobble its argument. -def gobble primary g=enddef; % gobbles its argument -input cmbase; % Read it explicitly, rather than - % implicitly within cmr10 -let generate=gobble; -input cmr12; % ...but miss out the `generate roman' - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% To business.... - -input feyn; - -end diff --git a/Master/texmf-dist/fonts/source/public/feyn/feynmac.mf b/Master/texmf-dist/fonts/source/public/feyn/feynmac.mf index 568720d99be..e6df38b25d5 100644 --- a/Master/texmf-dist/fonts/source/public/feyn/feynmac.mf +++ b/Master/texmf-dist/fonts/source/public/feyn/feynmac.mf @@ -1,156 +1,108 @@ -% The following macros produce general gauge boson half-loops, and fermions -% bosons and ghosts at arbitrary angles. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% They are: -% def gbhalfloop (expr charno, wid, nopts, inv) = -% charno character number -% wid character width in double modules -% (= length of fermion) -% nopts number of intermediate points in the loop -% inv if <> 0, invert the loop -% -% def gfermion (expr code, ang) = -% def gboson (expr code, ang, stretch, taper) = -% def gghost (expr code, ang) = -% code character position -% ang angle anticlockwise from x-axis -% -90 <= ang <= +90, or all hell will break loose -% stretch Produces a character which is of length -% (2module*stretch). We need this so that we can -% construct a vertical propagator which will -% mesh smoothly with a photon half-loop. -% taper When a vertical photon has to join a loop which -% is raised at its central point, it has to taper -% to squeeze into the gap. +% Macros to support feyn.mf +% Release 0.3.1, 2008 February 29 def looselink = ..tension 0.75.. enddef; def pen = pickup diagram_pen enddef; - numeric nn; def dirlooselink(expr point,rtn) = looselink{(-point) rotated (90-rtn)}point enddef; -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -def gbhalfloop (expr charno, wid, nopts, inv) = - % charno character number - % wid character width in double modules (= length of fermion) - % nopts number of intermediate points in the loop - % inv if <> 0, invert the loop - halfwidth# := wid*module# ; - define_pixels (halfwidth); - if odd (nopts): nn := nopts - else: nn := nopts+1 - fi; % nn is odd - if inv <> 0: % invert it - beginchar (charno, 0, a#, halfwidth# + phfudge# - a#); - else: - beginchar (charno, 0, halfwidth# + phfudge# + a#, 0); - fi - pen; "gauge boson (half) loop"; - z1 = (-halfwidth,0); - z[nn+1] = (halfwidth, 0); - for x = 2 upto nn: - z[x] = z1 rotated (- (x-1) * 180 / nn); - endfor - draw z1{dir (180-phangle)} - for x = 2 step 2 until nn: - dirlooselink(z[x], phangle) dirlooselink(z[x+1], -phangle) - endfor - looselink {dir (180+phangle)}z[nn+1]; - if inv <> 0: - currentpicture := currentpicture reflectedabout ((0,0),(1,0)); fi - currentpicture := currentpicture shifted (0,a); % shift up to axis -% labels (range 1 thru nn+1); +% Draw three related characters, one plain, one with an right-pointing +% arrow, and one with a left-pointing one, at basechar, basechar-0x20 and +% basechar-0x60. +def threechars(expr basechar, name, cp, apoint, wsharp, hsharp, dsharp, + anudge, apos) = + % basechar : the charcode of the character in the lowercase range + % name : the name of the character + % cp : the path to be drawn + % apoint : the point along the path where arrow and annotation are to go + % wsharp, hsharp, dsharp : the sharped dimensions of the character + % anudge : if a pair, the offset from (point apoint of cp) where + % the annotation is to go (usually numeric 0, indicating + % no offset) + % apos : one of the apos arguments to annotate_at + beginchar (basechar, wsharp, hsharp, dsharp); + name; + pen; + draw cp; + annotate_at(point apoint of cp if (pair anudge): shifted anudge fi, + apos); + endchar; + beginchar (byte basechar-hex"20", wsharp, hsharp, dsharp); + "r-arrowed " & name; + pen; + draw cp; + drawarrow (littlearrow, + point apoint of cp, + angle(direction apoint of cp)); + annotate_at(point apoint of cp if (pair anudge): shifted anudge fi, + apos); + endchar; + beginchar (byte basechar-hex"60", wsharp, hsharp, dsharp); + "l-arrowed " & name; + pen; + draw cp; + drawarrow (littlearrow, + point apoint of cp, + angle(direction apoint of cp) + 180); + annotate_at(point apoint of cp if (pair anudge): shifted anudge fi, + apos); endchar; enddef; -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% The following characters are in boxes the same vertical size as the black -% bit of the character, but they project out of the top by an amount equal to -% the height of the math axis, and are that same height clear of the bottom -% of the box. -% -%%%% -90 <= ang <= +90, or all hell will break loose - - -def gfermion (expr code, ang) = - beginchar (code, 2module#*(cosd ang), 2module#*(abs sind ang), 0); - pen; - if ang > 0 : % slopes upward - draw (0,a) .. (w,h+a); - else : - draw (0,h+a) .. (w,a); - fi - endchar; +% Writes on the log file a string consisting of +% annotate charcode xofs yofs apos +% where charcode is the current character code, and xofs and yofs are the +% positions of the given point, relative to the reference point, in units +% of the font module. The string apos is one of top, bot, urt, ulft, lrt, +% llft, to indicate where the annotation is to sit, relative to the +% indicated position. +% +% Must be called within beginchar()...endchar; +def annotate_at (expr p, apos) = + message "annotate " & decimal charcode & " " & + decimal (xpart p/module) & " " & decimal (ypart p/module) & " " + & apos & " "; enddef; -def gboson (expr code, ang, stretch, taper) = - beginchar (code, - 2module#*(cosd ang)*stretch, 2module#*(abs sind ang)*stretch, 0); - pen; - if ang > 0 : % slopes upward - z1 = (0,a); z5 = (w,h+a); - else : - z1 = (0,h+a); z5 = (w,a); - fi - z2-z1 = z3-z2 = z4-z3 = z5-z4; - def ::(expr b) = {dir (ang+b)} looselink {dir (ang-b)} enddef; - draw z1 ::(phangle) z2 ::(-phangle) z3 ::(phangle) z4 - if taper <> 0 : {dir (ang-phangle)} .. tension 1 and 0.8 .. - {dir (ang+phangle/2)} - else : ::(-phangle) - fi - z5; - endchar; -enddef; +% Draw an arrow. +def drawarrow (expr size, pos, ang) = + % size : the scale of the arrow + % pos : the position of the arrow, relative to the reference point + % ang : the direction in which the arrow points + begingroup + pair t[]; + y0 = y1 = y4 = 0; + x1 = -4x4 = -2x2 = size; + + x2 = x3 = x0; + y2 - y0 = y0 - y3 = size/2; -def gghost (expr code, ang) = - beginchar (code, 2module#*(cosd ang), 2module#*(abs sind ang), 0); - pen; - if ang > 0 : % slopes upward - z1 = (0,a); z10 = (w,h+a); - else : - z1 = (0,h+a); z10 = (w,a); - fi - z4-z3 = 2(z2-z1); - z4-z3 = z6-z5 = z8-z7; - z2-z1 = z3-z2 = z5-z4 = z7-z6 = z9-z8 = z10-z9; - draw z1..z2; draw z3..z4; draw z5..z6; draw z7..z8; draw z9..z10; - endchar; + forsuffixes s = 1,2,3,4 : + t[s] := z[s] rotated ang shifted pos; + endfor; + fill t4--t2--t1--t3--cycle; + + endgroup enddef; def garrow (expr code, ang, onaxis) = -% If onaxis is 1, the arrow will be on the math axis, if 0, it'll be at the -% origin, and slightly smaller. -% We need the latter behaviour because \arrow places the arrow in a -% particular spot in the diagram. - numeric localarrowsize; - - if onaxis = 1 : - localarrowsize := bigarrow; - else : +% if onaxis = 1 : +% localarrowsize := bigarrow; +% else : localarrowsize := littlearrow; - fi +% fi - beginchar (code, 0, 0, 0); "garrow"; - pair t[]; - z1 = (localarrowsize, onaxis*a); - z4 = (-localarrowsize/4,onaxis*a); - z0 = (-localarrowsize/2,onaxis*a); - z2 = z0 + (0,localarrowsize/2); - z3 = z0 - (0,localarrowsize/2); - - forsuffixes s = 1,2,3,4 : - t[s] = z[s] rotated ang; - endfor - - fill t4--t2--t1--t3--cycle; + beginchar (code, 0, 0, 0); "garrow"; + drawarrow (localarrowsize, (0, onaxis*a), ang); endchar; enddef; @@ -181,8 +133,10 @@ def errorchar (expr ht) = if y[i] <= y[ilowest]: ilowest := i; fi endfor draw z[ilowest]{dir (ilowest*360/npetals)}..origin; - %draw z[npetals-2]{dir ((npetals-2)*360/npetals)}..origin; - draw origin{dir 0}..(rad,rad); - draw (rad,rad){dir 180}..origin; + pair leafend; + xpart(leafend) = 2rad; % want something like currentpicture.rt; + ypart(leafend) = 2y[ilowest]/3; + draw origin{dir 60} .. leafend; + draw leafend .. {dir 180}origin; endgroup enddef; diff --git a/Master/texmf-dist/fonts/source/public/feyn/feyntext10.mf b/Master/texmf-dist/fonts/source/public/feyn/feyntext10.mf deleted file mode 100644 index 06760cd0a45..00000000000 --- a/Master/texmf-dist/fonts/source/public/feyn/feyntext10.mf +++ /dev/null @@ -1,37 +0,0 @@ -% Feynman diagram font, 10pt text size. -% -% Copyright 1991, 1994, 2001, Norman Gray -% $Id: feyntext10.mf,v 1.2 2001/08/20 21:40:32 norman Exp $ - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% First the base size - -module# := 5pt#; - -% phfudge is ... what?! -phfudge# := 0pt#; % must be, for \Diagram macro - -linewidth# := 0.5pt#; % pen width -thinlinewidth# := 0.4pt#; % thin pen -bigarrow# := 4pt#; % size of arrows -littlearrow# := 3pt#; -blobr# := 3.5pt#; % radius of blobs and crosses - -% We want the roman digits from the corresponding cmr font, and that's -% all. Therefore, we don't want to obey the `generate' command in -% cmr??.mf. To do this, we read in cmbase, and then set generate to -% gobble its argument. -def gobble primary g=enddef; % gobbles its argument -input cmbase; % Read it explicitly, rather than - % implicitly within cmr10 -let generate=gobble; -input cmr10; % ...but miss out the `generate roman' - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% To business.... - -input feyn; - -end diff --git a/Master/texmf-dist/fonts/source/public/feyn/feyntext11.mf b/Master/texmf-dist/fonts/source/public/feyn/feyntext11.mf deleted file mode 100644 index 89666d6168e..00000000000 --- a/Master/texmf-dist/fonts/source/public/feyn/feyntext11.mf +++ /dev/null @@ -1,37 +0,0 @@ -% Feynman diagram font, 11pt text size. -% -% Copyright 1991, 1994, 2001, Norman Gray -% $Id: feyntext11.mf,v 1.2 2001/08/20 21:40:33 norman Exp $ - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% First the base size - -module# := 5.5pt#; - -% phfudge is ... what?! -phfudge# := 0pt#; % must be, for \Diagram macro - -linewidth# := 0.5pt#; % pen width -thinlinewidth# := 0.4pt#; % thin pen -bigarrow# := 4.5pt#; % size of arrows -littlearrow# := 3.5pt#; -blobr# := 3.5pt#; % radius of blobs and crosses - -% We want the roman digits from the corresponding cmr font, and that's -% all. Therefore, we don't want to obey the `generate' command in -% cmr??.mf. To do this, we read in cmbase, and then set generate to -% gobble its argument. -def gobble primary g=enddef; % gobbles its argument -input cmbase; % Read it explicitly, rather than - % implicitly within cmr10 -let generate=gobble; -input cmr11; % ...but miss out the `generate roman' - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% To business.... - -input feyn; - -end diff --git a/Master/texmf-dist/fonts/source/public/feyn/feyntext12.mf b/Master/texmf-dist/fonts/source/public/feyn/feyntext12.mf deleted file mode 100644 index 8df3015ec26..00000000000 --- a/Master/texmf-dist/fonts/source/public/feyn/feyntext12.mf +++ /dev/null @@ -1,37 +0,0 @@ -% Feynman diagram font, 12pt text size. -% -% Copyright 1991, 1994, 2001, Norman Gray -% $Id: feyntext12.mf,v 1.3 2002/04/18 22:33:10 norman Exp $ - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% First the base size - -module# := 6pt#; - -% phfudge is ... what?! -phfudge# := 0pt#; % must be, for \Diagram macro - -linewidth# := 0.55pt#; % pen width -thinlinewidth# := 0.45pt#; % thin pen -bigarrow# := 5pt#; % size of arrows -littlearrow# := 4pt#; -blobr# := 4pt#; % radius of blobs and crosses - -% We want the roman digits from the corresponding cmr font, and that's -% all. Therefore, we don't want to obey the `generate' command in -% cmr??.mf. To do this, we read in cmbase, and then set generate to -% gobble its argument. -def gobble primary g=enddef; % gobbles its argument -input cmbase; % Read it explicitly, rather than - % implicitly within cmr10 -let generate=gobble; -input cmr12; % ...but miss out the `generate roman' - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% To business.... - -input feyn; - -end diff --git a/Master/texmf-dist/fonts/tfm/public/feyn/feyn10.tfm b/Master/texmf-dist/fonts/tfm/public/feyn/feyn10.tfm index a238503b956..1f979a329bb 100644 Binary files a/Master/texmf-dist/fonts/tfm/public/feyn/feyn10.tfm and b/Master/texmf-dist/fonts/tfm/public/feyn/feyn10.tfm differ diff --git a/Master/texmf-dist/fonts/tfm/public/feyn/feyn11.tfm b/Master/texmf-dist/fonts/tfm/public/feyn/feyn11.tfm index ce394e9afb9..42f47b4d6ab 100644 Binary files a/Master/texmf-dist/fonts/tfm/public/feyn/feyn11.tfm and b/Master/texmf-dist/fonts/tfm/public/feyn/feyn11.tfm differ diff --git a/Master/texmf-dist/fonts/tfm/public/feyn/feyn12.tfm b/Master/texmf-dist/fonts/tfm/public/feyn/feyn12.tfm index 6181f473050..0dcfea59500 100644 Binary files a/Master/texmf-dist/fonts/tfm/public/feyn/feyn12.tfm and b/Master/texmf-dist/fonts/tfm/public/feyn/feyn12.tfm differ diff --git a/Master/texmf-dist/fonts/tfm/public/feyn/feyn18.tfm b/Master/texmf-dist/fonts/tfm/public/feyn/feyn18.tfm new file mode 100644 index 00000000000..9b14d1ba49a Binary files /dev/null and b/Master/texmf-dist/fonts/tfm/public/feyn/feyn18.tfm differ diff --git a/Master/texmf-dist/fonts/tfm/public/feyn/feyn24.tfm b/Master/texmf-dist/fonts/tfm/public/feyn/feyn24.tfm new file mode 100644 index 00000000000..34f041a8716 Binary files /dev/null and b/Master/texmf-dist/fonts/tfm/public/feyn/feyn24.tfm differ diff --git a/Master/texmf-dist/fonts/tfm/public/feyn/feyntext10.tfm b/Master/texmf-dist/fonts/tfm/public/feyn/feyntext10.tfm index 69acb21349c..c27947aa990 100644 Binary files a/Master/texmf-dist/fonts/tfm/public/feyn/feyntext10.tfm and b/Master/texmf-dist/fonts/tfm/public/feyn/feyntext10.tfm differ diff --git a/Master/texmf-dist/fonts/tfm/public/feyn/feyntext11.tfm b/Master/texmf-dist/fonts/tfm/public/feyn/feyntext11.tfm index a0f8ddb149b..c89898580a5 100644 Binary files a/Master/texmf-dist/fonts/tfm/public/feyn/feyntext11.tfm and b/Master/texmf-dist/fonts/tfm/public/feyn/feyntext11.tfm differ diff --git a/Master/texmf-dist/fonts/tfm/public/feyn/feyntext12.tfm b/Master/texmf-dist/fonts/tfm/public/feyn/feyntext12.tfm index f8b5d2d1087..120c0aa8284 100644 Binary files a/Master/texmf-dist/fonts/tfm/public/feyn/feyntext12.tfm and b/Master/texmf-dist/fonts/tfm/public/feyn/feyntext12.tfm differ diff --git a/Master/texmf-dist/fonts/tfm/public/feyn/feyntext18.tfm b/Master/texmf-dist/fonts/tfm/public/feyn/feyntext18.tfm new file mode 100644 index 00000000000..7ce386f7d40 Binary files /dev/null and b/Master/texmf-dist/fonts/tfm/public/feyn/feyntext18.tfm differ diff --git a/Master/texmf-dist/fonts/tfm/public/feyn/feyntext24.tfm b/Master/texmf-dist/fonts/tfm/public/feyn/feyntext24.tfm new file mode 100644 index 00000000000..401e3b00d67 Binary files /dev/null and b/Master/texmf-dist/fonts/tfm/public/feyn/feyntext24.tfm differ diff --git a/Master/texmf-dist/source/fonts/feyn/feyn.drv b/Master/texmf-dist/source/fonts/feyn/feyn.drv new file mode 100644 index 00000000000..556251201b7 --- /dev/null +++ b/Master/texmf-dist/source/fonts/feyn/feyn.drv @@ -0,0 +1,77 @@ +%% +%% This is file `feyn.drv', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% feyn.dtx (with options: `driver') +%% Feyn: package to manage the font feyn10 +%% 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 +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% +%% You should have received a copy of the GNU General Public License +%% along with this program; if not, write to the Free Software +%% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +%% +%% Author: Norman Gray, norman@astro.gla.ac.uk. +%% Department of Physics and Astronomy, University of Glasgow, UK +%% +%% 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.in,v 1.18 2008/02/29 20:45:59 norman Exp $ +\documentclass{ltxdoc} +\usepackage{feyn} +\title{The feyn font} +\author{Norman Gray\\(\texttt{norman@astro.gla.ac.uk})} +\date{Version 0.3.1, 2008 February 29} +\newcommand\Lopt[1]{\textsf {#1}} +\newcommand\file[1]{\texttt {#1}} +\newcommand\Lcount[1]{\textsl {\small#1}} +\newcommand\pstyle[1]{\textsl {#1}} +%% \url macro (url.sty does this better) +\def\setpathdots{\discretionary{.}{}{.}} +\def\setpathslash{\discretionary{/}{}{/}} +{\catcode`\.=\active + \catcode`\/=\active + \gdef\pathcats{% + \catcode`\%=12 \catcode`\~=12 + \catcode`\.=\active \let.\setpathdots + \catcode`\/=\active \let/\setpathslash + \catcode`\#=12 \catcode`\_=12}% + } +\def\setpath#1{\ttfamily <\nobreak #1\nobreak>\endgroup} +\def\url{\begingroup\pathcats\setpath} +\OnlyDescription +\parskip=\medskipamount +\parindent=0pt +\begin{document} +\maketitle +\DocInput{feyn.dtx} +\end{document} +%% \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 +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\endinput +%% +%% End of file `feyn.drv'. diff --git a/Master/texmf-dist/source/fonts/feyn/feyn.dtx b/Master/texmf-dist/source/fonts/feyn/feyn.dtx new file mode 100644 index 00000000000..0e2b35e7b4c --- /dev/null +++ b/Master/texmf-dist/source/fonts/feyn/feyn.dtx @@ -0,0 +1,1099 @@ +% \iffalse +% This is feyn.dtx, which manages the use of the feyn Metafont +% +%% 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 +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% +%% You should have received a copy of the GNU General Public License +%% along with this program; if not, write to the Free Software +%% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +%% +%% Author: Norman Gray, norman@astro.gla.ac.uk. +%% Department of Physics and Astronomy, University of Glasgow, UK +%% +%% 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 . +% +%<+package|driver>%% RCS Info $Id: feyn.dtx.in,v 1.18 2008/02/29 20:45:59 norman Exp $ +%<+package>\NeedsTeXFormat{LaTeX2e} +%<+package>\ProvidesPackage{feyn}[2008/02/29 \space0.3.1\space textpos] +%<+package>\typeout{Package: `feyn' 0.3.1\space<2008/02/29 >} +% +%<*driver> +%\documentclass[12pt]{ltxdoc} +\documentclass{ltxdoc} +\usepackage{feyn} +\title{The feyn font} +\author{Norman Gray\\(\texttt{norman@astro.gla.ac.uk})} +\date{Version 0.3.1, 2008 February 29} +\newcommand\Lopt[1]{\textsf {#1}} +\newcommand\file[1]{\texttt {#1}} +\newcommand\Lcount[1]{\textsl {\small#1}} +\newcommand\pstyle[1]{\textsl {#1}} +%% \url macro (url.sty does this better) +\def\setpathdots{\discretionary{.}{}{.}} +\def\setpathslash{\discretionary{/}{}{/}} +{\catcode`\.=\active + \catcode`\/=\active + \gdef\pathcats{% + \catcode`\%=12 \catcode`\~=12 + \catcode`\.=\active \let.\setpathdots + \catcode`\/=\active \let/\setpathslash + \catcode`\#=12 \catcode`\_=12}% + } +\def\setpath#1{\ttfamily <\nobreak #1\nobreak>\endgroup} +\def\url{\begingroup\pathcats\setpath} +%\RecordChanges +\OnlyDescription +\parskip=\medskipamount +\parindent=0pt +\begin{document} +\maketitle +\DocInput{feyn.dtx} +\end{document} +% +% +% \fi +% +% +% +%% \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 +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +% +% +% +% +% +% +% \newcommand{\pslash}{p\llap{/\kern-0.3pt}} +% \newcommand{\feynx}{\textsl{feyn}} +% \newcommand{\metafont}{Metafont} +% +% +% This describes the font \feynx, which can be used to produce relatively +% simple Feynman diagrams within equations in a \LaTeX\ document. +% +% The other Feynman diagram package which exists is Thorsten Ohl's +% \textsl{feynmf}/\textsl{feynmp} package. That +% works by creating \metafont\ or MetaPost figures using a preprocessor. +% It's more general than this package, but is at its best when +% creating relatively large diagrams, for figures. +% In contrast, the present system consists of a carefully-designed font +% with which you can write simple diagrams, within equations or within text, +% in a size matching the surrounding text size. +% +% \textbf{Contents:} +% \def\numberline#1{\space\emph{\S#1}~} +% \def\contentsline#1#2#3{#2,~p#3;} +% \makeatletter \@starttoc{toc} \makeatother +% +% \section{Status} +% +% The propagators and vertices which are implemented are those which +% seem to appear most often in non-figure displays (the practical +% definition of `appear most often' is `which I wanted' or `which +% people asked me for'). I'd be delighted to add others which folk +% feel would be useful. +% +% +% \section{Description} +% +% You use the font by including the package \texttt{feyn.sty}, as in +% \begin{verbatim} +% \usepackage{feyn} +% \end{verbatim} +% If you use the `amsmath' package, you should load that before +% loading the `feyn' package.\footnote{Because of a slight peculiarity +% of the amsmath package, the active~`!' command described below will +% not work properly within amsmath |{align}| or |{align*}| +% environments unless the~`!' is made active globally. This is done +% by default if the `amsmath' package is loaded first, and not done by +% default otherwise. If you have to override this behaviour for some +% very arcane reason, then you can force the global or local declaration +% of~`!' using the \Lopt{globalbang} and \Lopt{noglobalbang} options +% to the \texttt{$\backslash$usepackage\{feyn\}} command.} +% +% \makeatletter +% \def\refptcirc{\lower\feyn@maxis \hbox to 0pt{\hss$\circ$\hss}} +% \makeatother +% \begin{table} +% \def\tableskip{\noalign{\smallskip}} +% \halign{$\refptcirc\Feyn{#}$% +% \hfil\quad & $#$\hfil\quad & # \hfil\qquad && # \cr +% \omit Character & \omit & Name & Width & Height & Depth \cr +% \noalign{\smallskip\hrule\smallskip} +% f & f & fermion$^{\dag}$ +% & 2 & 0 & 0 \cr \tableskip +% fs & fs & short fermion +% & 1 & 0 & 0 \cr \tableskip +% fl & fl & fermion loop$^{\dag\ddag}$ +% & 4 & 2 & 2 \cr \tableskip +% flS & flS & fermion loop (small)$^{\dag\ddag}$ +% & 0 & 4/3 & 0 \cr \tableskip +% fu & fu & upward fermion$^\dag$ (45$^\circ$) +% & $\sqrt2$ & $\sqrt2$ & 0 \cr \tableskip +% fd & fd & downward fermion$^\dag$ +% & $\sqrt2$ & $\sqrt2$ & 0 \cr \tableskip +% fv & fv & vertical fermion$^\dag$ +% & 0 & 2 & 0 \cr \tableskip +% f0 & f0 & spacer +% & 2 & 0 & 0 \cr \tableskip +% fs0 & fs0 & short spacer +% & 1 & 0 & 0 \cr \tableskip +% g & g & gluon/photon$^{\dag}$ +% & 2 & 0 & 0 \cr \tableskip +% gl & gl & gluon loop$^{\dag\ddag}$ +% & 0 & 2 & 0 \cr \tableskip +% glB & glB & gluon loop (big)$^{\dag}$ +% & 0 & 2.67 & 0 \cr \tableskip +% glS & glS & gluon loop (small)$^{\dag}$ +% & 0 & 1.33 & 0 \cr \tableskip +% g1 & g1 & gluon loop, 1st quadrant (sim.\ 2, 3, 4)$^{\dag}$ +% & 2 & 2 & 0 \cr \tableskip +% gu & gu & upward gluon$^\dag$ (45$^\circ$) +% & $\sqrt2$ & $\sqrt2$ & 0 \cr \tableskip +% gd & gd & downward gluon$^\dag$ +% & $\sqrt2$ & $\sqrt2$ & 0 \cr \tableskip +% gv & gv & vertical gluon$^\dag$ +% & 0 & 2 & 0 \cr \tableskip +% m & m & massive fermion$^{\dag}$ +% & 2 & 0 & 0 \cr \tableskip +% ms & ms & short massive fermion +% & 1 & 0 & 0 \cr \tableskip +% h & h & ghost +% & 2 & 0 & 0 \cr \tableskip +% hs & hs & short ghost +% & 1 & 0 & 0 \cr \tableskip +% hu & hu & upward ghost (45$^\circ$) +% & $\sqrt2$ & $\sqrt2$ & 0 \cr \tableskip +% hd & hd & downward ghost +% & $\sqrt2$ & $\sqrt2$ & 0 \cr \tableskip +% x & x & counterterm vertex & 0 & $a$ & $-a$ \cr \tableskip +% p & p & proper vertex & - & - & - \cr \tableskip +% P & P & proper vertex (variant) & - & - & - \cr \tableskip +% c & c & complete vertex & - & - & - \cr \tableskip +% a & a & arrow & 0 & 0 & 0 \cr +% } +% \caption{\label{chars} The characters in font \feynx. Characters +% marked~$\ddag$ have an upside-down variant indicated with a `u' +% suffix, and those marked~$\dag$ have arrowed variants indicated +% with~`A' and~`V' suffixes, in that order.} +% \end{table} +% +% The characters in the font are shown in table~\ref{chars}. These +% are shown in textstyle size, but all characters are also available in +% displaystyle size. All the dimensions are shown as multiples of the +% length of a module which is the length of the short fermion. The +% dimension~$a$ is the height of the maths axis. The~$\circ$ shows the +% reference point of each character. The proper vertex and the +% complete vertex are specified +% in terms of a `blob-radius' which is about half a module. They have +% a width of 2~radii, and a height and depth of 1~radius. +% +% Each of the characters marked with a~$\dag$ in the table has two +% arrowed variants, so that |\feyn{fA + gV}| produces $\feyn{fA + +% gV}$. The `A' variants produce arrows pointing rightwards or +% upwards, and the `V' variants arrows pointing leftwards or +% downwards. The characters marked with a~$\ddag$ also have an +% upside-down variant, thus `flu' is an upside-down variant of the +% fermion loop, and `fluV' an arrowed variant. +% +% The unnassigned positions in the \feynx\ font are filled +% with an obviously wrong dummy character, so that |$\feyn{A}$|, for example, +% produces $\feyn{fs0Afs0}$. +% +% The file \file{feyn.sty} additionally defines a number of macros, +% described here. +% \begin{description} +% \item[\cs{feyn}] Selects the diagram font. This must be used +% within math mode. \cs{Feyn} selects the text-mode diagram font. +% \item[\cs{momentum}\{ch\}\{text\}] sets the character +% ch, which may be a ligature, and puts the given text at the recommended +% annotation position for that character. |\momentum[pos]{ch}{text}| +% is the same, except that the optional argument indicates the +% position relative to the annotation position. It must be one of +% `top', `urt', `lrt', `bot', `llft' or `ulft'. See below for +% examples. Rarely used as such, since the |\feyn| and |\Feyn| +% commands make~`!' a temporarily active character, and define it +% to be |\momentum|. +% \item[\cs{Diagram\{\}}] For building more complicated diagrams. It +% takes one argument, which is like the contents of an \texttt{\{array\}} +% environment---a series of formulae separated by \&'s and \verb-\\-. See +% below for an example. The result is a box on the math-axis. +% \item[\cs{maxis}] Raises a formula to the math-axis, which is +% occasionally useful within in-text equations: eg +% |$\Feyn{fglf} - \maxis{\Feyn{faf}}$| produces +% $\Feyn{fglf} - \maxis{\Feyn{faf}}$. +% \item[\cs{vertexlabel\{p\}\{text\}}] Allows you to label a vertex. If +% the first parameter~$p$ is~$\wedge$, the~\emph{text} is placed above the +% point at which the command is given, if it is~\texttt{\_}, it is +% placed below. For example, |$\feyn{f\vertexlabel^{a}}$| produces +% $\feyn{f\vertexlabel^{a}}$. More often used within |\Diagram| +% than elsewhere. +% \item[\cs{feynstrut\{h\}\{d\}}] For use within an (eqn)array environment, or +% the like. It modifies the control sequence \verb-\strut- to be a strut of +% height~$h$ and depth~$d$ modules, which can therefore be used to +% space the array out. Note that it modifies |\strut|, rather +% than being the strut itself. +% \item[\cs{annotate\{x\}\{y\}\{text\}}] Puts the \emph{text}, between dollars, +% in a zero width box at offset~$(x,y)$ modules from the position of the +% |\annotate| command (which is generally the first command(s) after +% entering math-mode). Because the \emph{text} is in math-mode, anything +% that is not maths should be in an |\mbox|. +% \end{description} +% +% The \feynx\ font is modular, in the sense that all the +% dimensions are in terms of a module of 10pt, and all sizes given +% below are in units of modules. As well as 10pt, the font has +% versions for 11pt, 12pt, 18pt and 24pt text, and the most +% appropriate one is selected depending on the text size declared (or +% defaulted) in the |\documentclass| command. This range of sizes +% seems to be appropriate for the sizes required, but the author would +% welcome comments on this. The distribution +% contains a sample file using the 18pt \feynx\ font in a +% \texttt{foiltex} document. +% +% You draw a diagram by going into math-mode (between \$\dots\$), and selecting +% the diagrams font by the font-changing command \verb-\feyn{}- +% (exactly as you might use \verb-\mathrm- in math-mode). With a couple of +% exceptions, all the characters are obtained by typing a single +% letter, or a couple of letters which form a ligature, so that the +% letter~$f$ in the diagrams font (\verb-$\feyn{f}$-) produces a +% fermion of length~2 (modules), and~$fs$ produces a short fermion of +% length~1. As usual in maths mode, space characters are ignored, so +% you can add whitespace as required to make the expressions more +% legible. Some of the more heavily used characters are available in +% both display size and text size, with the text-size version invoked +% by |\Feyn{...}|, so that |\feyn{fglf}| gives $\feyn{fglf}$ and +% |\Feyn{fglf}| gives $\Feyn{fglf}$. The displaystyle characters +% are all on the math-axis, the textstyle ones are on the text line. +% +% \section{Examples} +% +% \newdimen\halftextwidth +% \halftextwidth=\textwidth +% \advance\halftextwidth by -\tabcolsep +% \advance\halftextwidth by -\arrayrulewidth +% \divide\halftextwidth by 2 +% \newenvironment{codeexample} +% {\vskip\medskipamount +% \def\Becomes{\cr +% \noalign{\vrule width \arrayrulewidth \hskip\tabcolsep}} +% \valign\bgroup +% \hrule height 0pt depth 0pt width \halftextwidth +% \hsize=\halftextwidth +% \vfil ## \vfil \cr} +% {\crcr\egroup +% \vskip\medskipamount} +% \newenvironment{examplerhs}{\begin{minipage}[t]{\halftextwidth}} +% {\\ \end{minipage}} +% +% A simple propagator: +% \begin{codeexample} +% \begin{verbatim} +% \feyn{\vertexlabel^a +% !{fA}p \vertexlabel^b} +% = \displaystyle +% \frac{i\delta^{ab}} +% {\pslash-m_0}} +% \end{verbatim} +% \Becomes +% \begin{examplerhs}$ +% \feyn{\vertexlabel^a +% !{fA}p \vertexlabel^b} +% = \displaystyle +% \frac{i\delta^{ab}}{\pslash-m_0} +% $\end{examplerhs} +% \end{codeexample} +% +% The |\Diagram| command lays out its arguments as an array. +% \begin{codeexample} +% \begin{verbatim} +% \Diagram{\vertexlabel^a \\ +% fd \\ +% & g\vertexlabel_{\mu,c} \\ +% \vertexlabel_b fu\\ +% } +% = \displaystyle +% ig\gamma_\mu (T^c)_{ab} +% \end{verbatim} +% \Becomes +% \begin{examplerhs}$ +% \Diagram{\vertexlabel^a \\ +% fd \\ +% & g\vertexlabel_{\mu,c} \\ +% \vertexlabel_b fu\\ +% } +% = \displaystyle +% ig\gamma_\mu (T^c)_{ab} +% $\end{examplerhs} +% \end{codeexample} +% +% An assortment of two-loop diagrams: +% \begin{codeexample} +% \begin{verbatim} +% \feyn{fs f gl f glu f fs} +% \end{verbatim} +% \Becomes +% $\feyn{fs f gl f glu f fs}$ +% \end{codeexample} +% This is a ``short-fermion fermion gluon-loop fermion +% gluon-loop-upsidedown fermion short-fermion''. +% +% \begin{codeexample} +% \begin{verbatim} +% \feyn{ms mA gl gv ms x f} +% \end{verbatim} +% \Becomes +% $\feyn{ms mA gl gv ms x f}$ +% \end{codeexample} +% +% \begin{codeexample} +% \begin{verbatim} +% \feyn{f !{g1A}1 !{g2V}2 +% !{g3A}3 !{g4V}4 f}, +% \feyn{fs f !{flA}{p} +% !{fluV}{k} f fs} +% \end{verbatim} +% \Becomes +% \begin{examplerhs}$ +% \feyn{f !{g1A}1 !{g2V}2 +% !{g3A}3 !{g4V}4 f}, +% \feyn{fs f !{flA}{p} +% !{fluV}{k} f fs} +% $\end{examplerhs} +% \end{codeexample} +% +% \begin{codeexample} +% \begin{verbatim} +% \feyn{!{fA}p +% f!{glBV}k !{glSA}l +% a\vertexlabel_{p+k-l} ff} +% \end{verbatim} +% \Becomes +% \begin{examplerhs}$ +% \feyn{!{fA}p +% f!{glBV}k !{glSA}l +% a\vertexlabel_{p+k-l} ff} +% $\end{examplerhs} +% \end{codeexample} +% +% \newenvironment{bigdisplay} +% {\newline +% \vbox{\hrule\hbox to \textwidth{\vrule height 1.5ex\hfil\vrule}}% +% \parskip0pt} +% {\vbox{\hbox to \textwidth{\vrule height 1.5ex \hfil\vrule}\hrule}} +% +% Bremsstrahlung: +% \begin{bigdisplay} +% \begin{verbatim} +% \[ +% \Diagram{ & x \\ +% & ![ulft]{gvV}{q=p'+k-p} & !{guA}k \\ +% ![bot]{fA}p & ![bot]{fA}{p'+k} & ![lrt]{fA}{p'} \\ +% } +% + +% \Diagram{ & !{guA}k \\ +% !{fA}p & ![bot]{fA}{p-k} fs & !{fA}{p'} \\ +% & & ![lrt]{gvA}{q=p'+k-p} \\ +% & & x\\ +% } +% \] +% \end{verbatim} +% \hrule +% \[ +% \Diagram{ & x \\ +% & ![ulft]{gvV}{q=p'+k-p} & !{guA}k \\ +% ![bot]{fA}p & ![bot]{fA}{p'+k} & ![lrt]{fA}{p'} \\ +% } +% + +% \Diagram{ & !{guA}k \\ +% !{fA}p & ![bot]{fA}{p-k} fs & !{fA}{p'} \\ +% & & ![lrt]{gvA}{q=p'+k-p} \\ +% & & x\\ +% } +% \] +% \end{bigdisplay} +% +% We can also have diagrams in the text, like~$\Feyn{fsfglffs}$, and we can +% annotate the diagrams +% \begin{codeexample} +% \begin{verbatim} +% \annotate{2}{-0.5} +% {\mbox{counterterm}} +% \feyn{ms m gl ![llft]{gv}l +% ms x f} +% \end{verbatim} +% \Becomes +% \begin{examplerhs} $ +% \annotate{2}{-0.5} +% {\mbox{counterterm}} +% \feyn{ms m gl ![llft]{gv}l +% ms x f} +% $\end{examplerhs} +% \end{codeexample} +% This is a ``short-massive massive gluon-loop gluon-vertical +% short-massive counterterm fermion''. +% +% The expression for the heavy-fermion self-energy in the \textsc{ope} is: +% \begin{bigdisplay} +% \begin{verbatim} +% \def\bracket#1{\langle #1 \rangle} +% \begin{eqnarray*} +% -i\Sigma_{\rm ope} &=& +% \left[ \feyn{faf + fsfglffs + \cdots} \right] 1 +% \feynstrut{1}{1}\strut \\ +% && \quad{}+ \left[ \feyn{ fxfs0glfs0xf + \cdots} \right] +% \bracket{\overline\psi M \psi} \\ +% && \quad{}+ \left[ \Diagram{ &x &x \\ +% &gv &gv \\ +% fs &fs &fs \\} + \cdots \right] +% \bracket{G_{\mu\nu}^a G_{\mu\nu}^a}\\ +% \end{eqnarray*} +% \end{verbatim} +% \hrule +% \def\bracket#1{\langle #1 \rangle} +% \begin{eqnarray*} +% -i\Sigma_{\rm ope} &=& +% \left[ \feyn{faf + fsfglffs + \cdots} \right] 1 +% \feynstrut{1}{1}\strut \\ +% && \quad{}+ \left[ \feyn{ fxfs0glfs0xf + \cdots} \right] +% \bracket{\overline\psi M \psi} \\ +% && \quad{}+ \left[ \Diagram{ &x &x \\ +% &gv &gv \\ +% fs &fs &fs \\} + \cdots \right] +% \bracket{G_{\mu\nu}^a G_{\mu\nu}^a}\\ +% \end{eqnarray*} +% \end{bigdisplay} +% +% The Feynman Rules are as follows: +% \begin{bigdisplay} +% \begin{verbatim} +% \def\arraystretch{3} \arraycolsep=0.2cm +% \[ \begin{array}{rcl} +% \feyn{\vertexlabel^a !{fA}p \vertexlabel^b} % quark prop +% &=& \displaystyle +% {i\delta^{ab} \over \pslash- m_0} \\ +% +% \Diagram{\vertexlabel^a \\ fd \\ & g\vertexlabel_{\mu,c} \\ +% \vertexlabel_b fu\\} % 3-point vertex +% &=& \displaystyle +% ig\gamma_\mu (t^c)_{ab} \\ +% +% \feyn{\vertexlabel_{\mu, a} !{gA}k \vertexlabel_{\nu, b}} % gluon prop +% &=& \displaystyle +% {-i\over k^2} \left[g_{\mu\nu} + (a_0 - 1) {k_\mu k_\nu \over k^2}\right] +% \delta^{ab} \\ +% +% \Diagram{\vertexlabel^{\alpha,a} \\ +% !{gdA}p \\ +% & !{gA}r \vertexlabel_{\gamma,c} \\ +% !{guA}q \\ +% \vertexlabel_{\beta,b} +% } % 3-gluon vertex +% &=& \displaystyle +% -g f^{abc} ( +% g_{\beta\gamma} (q-r)_\alpha + +% g_{\gamma\alpha} (r-p)_\beta + +% g_{\alpha\beta} (p-q)_\gamma +% ) \\ +% +% \feyn{\vertexlabel^a !hp \vertexlabel^b} % ghost prop +% &=& \displaystyle +% {i \over p^2} \delta_{ab} \\ +% +% \Diagram{\vertexlabel^b \\ hd \\ & g\vertexlabel^{\mu,a} \\ +% \vertexlabel_c hu\\} % ghost-gluon vertex +% &=& \displaystyle +% -g f^{abc}p_\mu +% \quad\raise 1ex\hbox{\vtop{\hsize=15em +% where $p$ is the momentum of the outgoing positive energy +% ghost\par}} +% \end{array} \] +% \end{verbatim} +% \hrule +% \def\arraystretch{3} \arraycolsep=0.2cm +% \[ \begin{array}{rcl} +% \feyn{\vertexlabel^a !{fA}p \vertexlabel^b} +% &=& \displaystyle +% {i\delta^{ab} \over \pslash- m_0} \\ +% +% \Diagram{\vertexlabel^a \\ fd \\ & g\vertexlabel_{\mu,c} \\ +% \vertexlabel_b fu\\} +% &=& \displaystyle +% ig\gamma_\mu (t^c)_{ab} \\ +% +% \feyn{\vertexlabel_{\mu, a} !{gA}k \vertexlabel_{\nu, b}} +% &=& \displaystyle +% {-i\over k^2} \left[g_{\mu\nu} + (a_0 - 1) {k_\mu k_\nu \over k^2}\right] +% \delta^{ab} \\ +% +% \Diagram{\vertexlabel^{\alpha,a} \\ +% !{gdA}p \\ +% & !{gA}r \vertexlabel_{\gamma,c} \\ +% !{guA}q \\ +% \vertexlabel_{\beta,b} +% } +% &=& \displaystyle +% -g f^{abc} ( +% g_{\beta\gamma} (q-r)_\alpha + +% g_{\gamma\alpha} (r-p)_\beta + +% g_{\alpha\beta} (p-q)_\gamma +% ) \\ +% +% \feyn{\vertexlabel^a !hp \vertexlabel^b} +% &=& \displaystyle +% {i \over p^2} \delta_{ab} \\ +% +% \Diagram{\vertexlabel^b \\ hd \\ & g\vertexlabel^{\mu,a} \\ +% \vertexlabel_c hu\\} +% &=& \displaystyle +% -g f^{abc}p_\mu +% \quad\raise 1ex\hbox{\vtop{\hsize=15em +% where $p$ is the momentum of the outgoing positive energy +% ghost\par}} +% \end{array} \] +% \end{bigdisplay} +% +% The diagrams can also appear as parts of equations: +% \begin{bigdisplay} +% \begin{verbatim} +% \begin{eqnarray} +% \feyn{fcf} &=& \feyn{faf + fpf + fpfpf + \cdots} \\ +% &=& \sum_{n=0}^\infty \feyn{fsafs ( pfsafs)}^n \\ +% &=& \feyn{\frac{fsafs}{1-(pfsafs)}}. +% \end{eqnarray} +% \end{verbatim} +% \hrule +% \begin{eqnarray} +% \feyn{fcf} &=& \feyn{faf + fpf + fpfpf + \cdots} \\ +% &=& \sum_{n=0}^\infty \feyn{fsafs ( pfsafs)}^n \\ +% &=& \feyn{\frac{fsafs}{1-(pfsafs)}}. +% \end{eqnarray} +% \end{bigdisplay} +% +% \section{Installation} +% +% You should be able to find generic instructions for installing +% \LaTeX\ files at +% \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=installthings}. +% +% If you have not done so already, you need to extract the package +% file from the distribution file using |latex feyn.ins|. The +% resulting \file{feyn.sty} should be installed in the usual location +% for style files -- that is, something like +% \file{texmf.local/tex/latex/feyn.sty}. The \metafont\ source files +% \file{*.mf} should be installed in a directory with a location such as +% \file{texmf.local/fonts/source/feyn/}. That should be all you need +% to do as regards the installation of the fonts -- if your \TeX\ +% setup is installed correctly, then the usual font-generation +% commands (such as \file{mktexpk} for example) should work as normal, +% and these will usually be invoked by default when \LaTeX\ or +% pdf\LaTeX\ is run. +% +% If you are using a teTeX-based system (which is true of most Unix +% installations, and most MacOS\,X installations), then you can +% determine the style-file and \metafont\ search paths using the commands +% \begin{verbatim} +% % kpsepath tex +% % kpsepath mf +% \end{verbatim} +% respectively. After you have installed them, you will probably need +% to give the command \texttt{mktexlsr} to rebuild the paths database, +% and you can confirm that the files are findable with the commands +% \texttt{kpsewhich feyn.sty} and \texttt{kpsewhich feyn10.mf}. +% +% Users of other systems will have similar mechanisms +% for finding and confirming the search paths (and if anyone wishes to +% send me details, I can add the details to this document). +% +% \section{Acknowledgements} +% +% Thanks to Purnendu Chakraborty, Fabio Correa, and Bryan Chen for +% suggestions and testing at various times. +% +% +% \StopEventually{} +% +% \section{Implementation} +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% Start off with the available options. +% +% A wrinkle is that the |{align}| environment, which is defined +% in the amsmath package, reads its contents before processing them, +% which means that a `!' within the environment has its catcode fixed +% before it can be changed by |\feyn| or |\diagram|. To handle this +% situation, we support \Lopt{globalbang} and \Lopt{noglobalbang} +% options, which cause the `!' character to be redefined globally or +% not. The default depends on whether the amsmath package was loaded +% before this one was. +% \begin{macrocode} +\newif\ifFeyn@globalbang +\@ifpackageloaded{amsmath}{\Feyn@globalbangtrue}{\Feyn@globalbangfalse} +\DeclareOption{globalbang}{\Feyn@globalbangtrue} +\DeclareOption{noglobalbang}{\Feyn@globalbangfalse} +% \end{macrocode} +% +% Now process the options specified in the package command. +% \begin{macrocode} +\ProcessOptions +% \end{macrocode} +% +% Declare the feyn math font family. The |\skewchar| for this font +% (see the \TeX book, p431) can be set to zero, since it's a +% completely upright maths font (the least of its peculiarities). We +% don't have the font in much of a range of sizes. +% \begin{macrocode} +\DeclareFontFamily{OMS}{feyn}{\skewchar\font'000} +\DeclareFontShape{OMS}{feyn}{m}{n}{% + <-10.5>feyn10% + <10.5-11.5>feyn11% + <11.5-15>feyn12% + <15-21>feyn18% + <21->feyn24% + }{} +% \end{macrocode} +% +% Now do the same for the text-size fonts, declaring the textfeyn math +% font family. +% \begin{macrocode} +\DeclareFontFamily{OMS}{textfeyn}{\skewchar\font'000} +\DeclareFontShape{OMS}{textfeyn}{m}{n}{% + <-10.5>feyntext10% + <10.5-11.5>feyntext11% + <11.5-15>feyntext12% + <15-21>feyntext18% + <21->feyntext24% + }{} +% \end{macrocode} +% +% XXX It would be nice to arrange things so that superscripts in +% the feyn font were drawn from cmmi7, or something. The original +% feyn.sty arranged this with |\scriptfont\diagramfam=\ninmi|, but +% it's not clear what the analogue in the FSS is. +% +% Now declare the `feynman' symbol font, and make the command |\feyn| +% set its argument in that font. Similarly have |\Feyn| invoke the +% feynman symbol font for the text sizes. +% \begin{macrocode} +\DeclareSymbolFont{feynman}{OMS}{feyn}{m}{n} +\DeclareSymbolFontAlphabet{\feyn@alphabet}{feynman} +\DeclareSymbolFont{textfeynman}{OMS}{textfeyn}{m}{n} +\DeclareSymbolFontAlphabet{\Feyn@alphabet}{textfeynman} +% \end{macrocode} +% +% Now use these font-setting commands, defining |\feyn| and |\Feyn| to +% switch to the given alphabets, defining ! as a shortcut for +% |\momentum| (so that |!{x}{y}| is interpreted as |\momentum{x}{y}|). +% We have to make sure that the `!' character produces that character +% everywhere except within |\feyn| or |\Feyn|. How we do this depends +% on the value of the |\ifFeyn@globalbang| switch. +% \begin{macro}{\feyn} +% \begin{macrocode} +\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} +% \end{macrocode} +% \end{macro} +% +% +% Now get the size of the `module' (the length of the fermion), and the +% height of the math-axis, from the font. You might think that the +% math-axis is obtainable from |\fontdimen22| of the font, but we do +% not load it as an |{operator}| font when we invoke +% |\DeclareSymbolFont|, so it does not have all 22 parameters that a +% symbol font (as the \TeX book uses the term, rather than \LaTeXe's +% NFSS). I confess I don't \emph{really} understand the ins and outs +% of this, but this route is robust and not wrong. +% +% The character |"7F| in the feyn font is blank, but has width +% |module#| and height |a#| (using the dimensions of the font +% file). Use this to set the |\feyn@module| and |\feyn@maxis|. Note +% that the `module' used in this package file is twice the module used +% in the \metafont\ files themselves. +% \begin{macro}{\feyn@module} +% \begin{macro}{\feyn@maxis} +% \begin{macrocode} +\DeclareMathSymbol{\FeynSpaceChar}{\mathord}{feynman}{"7F} +\setbox0=\hbox{$\FeynSpaceChar$} +\newdimen\feyn@mfmodule \feyn@mfmodule=\wd0 +\newdimen\feyn@module \feyn@module=2\wd0 +\newdimen\feyn@maxis \feyn@maxis=\ht0 +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Diagram} +% Define the |\Diagram| macro, which lays out a semi-complicated +% diagram in 2-d. +% \begin{macrocode} +{\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}}}% +% \end{macrocode} +% At this point, |\box0| has zero depth. It must be an hbox, because +% we're fiddling with its height within a enclosing |\vbox|. See the +% \TeX book pp 388--389. This takes advantage of appx G, rule 8 to +% move box0 down by the height of the math axis. The construction +% |\dp0 = -2\fontdimen22 \textfont2| also works, in the sense of +% moving the box onto the math axis, but makes the box too small, +% which means that surrounding text can encroach. +% \begin{macrocode} + \@tempdima=\ht0 + \advance\@tempdima by 2\feyn@maxis \ht0=\@tempdima + \vcenter{\box0}% + \endgroup}% end group begun in \Diagram +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\maxis} +% Raise the argument to the math axis. +% \begin{macrocode} +\def\maxis#1{\raise\feyn@maxis \hbox{$#1$}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\momentum} +% Manages annotation of characters. |\momentum{ch}{text}| sets the character +% ch, which may be a ligature, and puts the given text at the recommended +% annotation position for that character. |\momentum[pos]{ch}{text}| +% is the same, except that the optional argument indicates the +% position relative to the annotation position. It must be one of +% `top', `urt', `lrt', `bot', `llft' or `ulft'. +% +% First, some support macros. +% +% |\feyn@nudge| is a small amount +% which is added to the annotation positions, to keep them clear of the +% point they're annotating. +% \begin{macrocode} +\newdimen\feyn@nudge \feyn@nudge=\feyn@mfmodule \divide\feyn@nudge by 3 +% \end{macrocode} +% +% The various |\feyn@pos@| macros position their third argument +% adjacent to a point offset by an amount |(#1,#2)| from the current +% position. The macro |\feyn@pos@top| has the third argument adjacent +% and above the point, |\feyn@pos@urt| has it to the upper-right, and +% so on. +% \begin{macrocode} +\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} +% \end{macrocode} +% +% Now include the definitions of the annotation positions, as extracted +% from the Metafont file. These define macros |\feyn@ann@#1|, +% where argument |#1| is a given character (or ligature) at the +% position |(#2,#3)|, using the various |\feyn@pos@| macros. The +% || is either the value of argument |#4|, or the contents of +% |\@tempa| if that has been set non-empty by |\momentum@|. +% \begin{macrocode} +\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}} +% \end{macrocode} +% Now read in the collection of annotation positions. These are +% generated by the \texttt{./parse-ligtables} script, and inserted +% into this file by the Makefile when \file{feyn.dtx} is generated. +% \begin{macrocode} +% @FEYNANNOTATIONS@ +% commands generated by parse-ligtables... +\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" +% \end{macrocode} +% +% +% The |\momentum| macro (finally) invokes its worker macro +% |\momentum@|, defaulting that macro's optional argument to empty. +% In fact the macro |\momentum| should be only rarely +% invoked, since ! is made active and bound to it within |\feyn|. +% +% The |\momentum@| macro takes two arguments, and expands to a call to +% macro |\feyn@ann@#1|, acting on the second argument. This macro is +% one of those defined by |\feyn@annotation| above. There is an +% optional argument, giving the position for the annotation, if it has +% turned out that the default position for this character is +% inappropriate. The adjusted position may be one of `top', `urt', +% `lrt', `bot', `llft' or `ulft'. +% \begin{macrocode} +\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}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\vertexlabel} +% The command |\vertexlabel^{text}| or |\vertexlabel_{text}| positions +% the |{text}| in maths mode either above or below, respectively, the +% current position. It's used between characters to label a vertex. +% \begin{macrocode} +\def\vertexlabel#1#2{\setbox0=\hbox to 0pt{\hss$\scriptstyle #2$\hss} + \ifcat #1^ + \vbox to 0pt{\vss\box0\nointerlineskip\kern2\feyn@maxis} + \else\ifcat #1_ + \vbox to 0pt{\kern\feyn@maxis\nointerlineskip\box0\vss} + \else + \PackageError{feyn} + {Bad arguments for \string\vertexlabel} + {Usage: \string\vertexlabel^{text} or \string\vertexlabel_{text}} + \fi\fi + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\annotate} +% The |\annotate| command takes $x$ and $y$ coordinates in units of +% modules, and text (in math mode) to be placed on a |\diagram|. +% Deprecated, now that the characters have annotation built in to them. +% \begin{macrocode} +\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}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\tannotate} +% The |\tannotate| command is just the same, but the annotating text +% is in horizontal mode. +% \begin{macrocode} +\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}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\feynstrut} +% The macro |\feynstrut#1#2| defines |\strut| to have a height +% |#1| modules, and depth |#2| modules. +% \begin{macrocode} +\def\feynstrut#1#2{\setbox\strutbox=\hbox{\vrule + height #1\feyn@module depth #2\feyn@module width 0pt}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\arrow} +% The command |\arrow#1#2#3| puts an arrow of gradient |#3|${}\times 45^\circ$ +% at position |(#1,#2)|(modules). This doesn't work -- the |\char| +% results in a |\rm| character appearing, rather than a |\feyn| +% character. Putting in a symbol like `+' has the same effect, but +% putting in, say, `a' works as expected. In other words, it's to do +% with the character's mathcode, and the |\char| +% should be replaced by a |\mathchar"7?\@tempcnta| somehow. The +% problem is that that depends on the parameter |\fam| having a +% suitable value. It's not clear to me what this corresponds to in +% \LaTeXe. See the \TeX book, chapter 17. +% \begin{macrocode} +\def\arrow#1#2#3{\@latex@error{Do not use the \string\arrow macro any more}{}} +% \end{macrocode} +% \end{macro} +% +% Declare symbols. All of these are ligatures. +% \begin{macrocode} +\DeclareMathSymbol{\wfermion}{0}{feynman}{"64} +%\DeclareMathSymbol{\Wfermion}{0}{feynman}{"44} +\DeclareMathSymbol{\hfermion}{0}{feynman}{"6B} +%\DeclareMathSymbol{\Hfermion}{0}{feynman}{"4B} +\DeclareMathSymbol{\shfermion}{0}{feynman}{"6C} +%\DeclareMathSymbol{\sHfermion}{0}{feynman}{"4C} +\DeclareMathSymbol{\whfermion}{0}{feynman}{"6D} +%\DeclareMathSymbol{\wHfermion}{0}{feynman}{"4D} +\DeclareMathSymbol{\gvcropped}{0}{feynman}{"07} +% \end{macrocode} +% But the following are not ligatures. +% \begin{macrocode} +\DeclareMathSymbol{\bigbosonloop}{0}{feynman}{"7B} +%\DeclareMathSymbol{\Bigbosonloop}{7}{feynman}{"21} +\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} +% \end{macrocode} +% +% +% \Finale +\endinput diff --git a/Master/texmf-dist/source/fonts/feyn/feyn.ins b/Master/texmf-dist/source/fonts/feyn/feyn.ins new file mode 100644 index 00000000000..5a56e95876d --- /dev/null +++ b/Master/texmf-dist/source/fonts/feyn/feyn.ins @@ -0,0 +1,14 @@ +\input docstrip +\preamble + Feyn: package to manage the font feyn10 +\endpreamble +\keepsilent +\askforoverwritefalse + +\generate{\file{feyn.drv}{\from{feyn.dtx}{driver}} + \file{feyn.sty}{\from{feyn.dtx}{package}} + } + +\endbatchfile + +%% $Id: feyn.ins,v 1.1 2001/08/06 17:21:31 norman Exp $ diff --git a/Master/texmf-dist/source/latex/feyn/LICENCE b/Master/texmf-dist/source/latex/feyn/LICENCE deleted file mode 100644 index 9b1e1bb34db..00000000000 --- a/Master/texmf-dist/source/latex/feyn/LICENCE +++ /dev/null @@ -1,271 +0,0 @@ - -GNU GENERAL PUBLIC LICENSE - -Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. - -Preamble - -The licenses for most software are designed to take away your freedom to -share and change it. By contrast, the GNU General Public License is intended -to guarantee your freedom to share and change free software--to make sure -the software is free for all its users. This General Public License applies -to most of the Free Software Foundation's software and to any other program -whose authors commit to using it. (Some other Free Software Foundation -software is covered by the GNU Library General Public License instead.) You -can apply it to your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our -General Public Licenses are designed to make sure that you have the freedom -to distribute copies of free software (and charge for this service if you -wish), that you receive source code or can get it if you want it, that you -can change the software or use pieces of it in new free programs; and that -you know you can do these things. - -To protect your rights, we need to make restrictions that forbid anyone to -deny you these rights or to ask you to surrender the rights. These -restrictions translate to certain responsibilities for you if you distribute -copies of the software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis or -for a fee, you must give the recipients all the rights that you have. You -must make sure that they, too, receive or can get the source code. And you -must show them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and (2) -offer you this license which gives you legal permission to copy, distribute -and/or modify the software. - -Also, for each author's protection and ours, we want to make certain that -everyone understands that there is no warranty for this free software. If -the software is modified by someone else and passed on, we want its -recipients to know that what they have is not the original, so that any -problems introduced by others will not reflect on the original authors' -reputations. - -Finally, any free program is threatened constantly by software patents. We -wish to avoid the danger that redistributors of a free program will -individually obtain patent licenses, in effect making the program -proprietary. To prevent this, we have made it clear that any patent must be -licensed for everyone's free use or not licensed at all. - -The precise terms and conditions for copying, distribution and modification -follow. - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License applies to any program or other work which contains a notice -placed by the copyright holder saying it may be distributed under the terms -of this General Public License. The "Program", below, refers to any such -program or work, and a "work based on the Program" means either the Program -or any derivative work under copyright law: that is to say, a work -containing the Program or a portion of it, either verbatim or with -modifications and/or translated into another language. (Hereinafter, -translation is included without limitation in the term "modification".) Each -licensee is addressed as "you". - -Activities other than copying, distribution and modification are not covered -by this License; they are outside its scope. The act of running the Program -is not restricted, and the output from the Program is covered only if its -contents constitute a work based on the Program (independent of having been -made by running the Program). Whether that is true depends on what the -Program does. - -1. You may copy and distribute verbatim copies of the Program's source code -as you receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice and -disclaimer of warranty; keep intact all the notices that refer to this -License and to the absence of any warranty; and give any other recipients of -the Program a copy of this License along with the Program. - -You may charge a fee for the physical act of transferring a copy, and you -may at your option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Program or any portion of it, -thus forming a work based on the Program, and copy and distribute such -modifications or work under the terms of Section 1 above, provided that you -also meet all of these conditions: - - * a) You must cause the modified files to carry prominent notices stating - that you changed the files and the date of any change. - - * b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any part - thereof, to be licensed as a whole at no charge to all third parties - under the terms of this License. - - * c) If the modified program normally reads commands interactively when - run, you must cause it, when started running for such interactive use - in the most ordinary way, to print or display an announcement including - an appropriate copyright notice and a notice that there is no warranty - (or else, saying that you provide a warranty) and that users may - redistribute the program under these conditions, and telling the user - how to view a copy of this License. (Exception: if the Program itself - is interactive but does not normally print such an announcement, your - work based on the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If identifiable -sections of that work are not derived from the Program, and can be -reasonably considered independent and separate works in themselves, then -this License, and its terms, do not apply to those sections when you -distribute them as separate works. But when you distribute the same sections -as part of a whole which is a work based on the Program, the distribution of -the whole must be on the terms of this License, whose permissions for other -licensees extend to the entire whole, and thus to each and every part -regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest your -rights to work written entirely by you; rather, the intent is to exercise -the right to control the distribution of derivative or collective works -based on the Program. - -In addition, mere aggregation of another work not based on the Program with -the Program (or with a work based on the Program) on a volume of a storage -or distribution medium does not bring the other work under the scope of this -License. - -3. You may copy and distribute the Program (or a work based on it, under -Section 2) in object code or executable form under the terms of Sections 1 -and 2 above provided that you also do one of the following: - - * a) Accompany it with the complete corresponding machine-readable source - code, which must be distributed under the terms of Sections 1 and 2 - above on a medium customarily used for software interchange; or, - - * b) Accompany it with a written offer, valid for at least three years, - to give any third party, for a charge no more than your cost of - physically performing source distribution, a complete machine-readable - copy of the corresponding source code, to be distributed under the - terms of Sections 1 and 2 above on a medium customarily used for - software interchange; or, - - * c) Accompany it with the information you received as to the offer to - distribute corresponding source code. (This alternative is allowed only - for noncommercial distribution and only if you received the program in - object code or executable form with such an offer, in accord with - Subsection b above.) - -The source code for a work means the preferred form of the work for making -modifications to it. For an executable work, complete source code means all -the source code for all modules it contains, plus any associated interface -definition files, plus the scripts used to control compilation and -installation of the executable. However, as a special exception, the source -code distributed need not include anything that is normally distributed (in -either source or binary form) with the major components (compiler, kernel, -and so on) of the operating system on which the executable runs, unless that -component itself accompanies the executable. - -If distribution of executable or object code is made by offering access to -copy from a designated place, then offering equivalent access to copy the -source code from the same place counts as distribution of the source code, -even though third parties are not compelled to copy the source along with -the object code. - -4. You may not copy, modify, sublicense, or distribute the Program except as -expressly provided under this License. Any attempt otherwise to copy, -modify, sublicense or distribute the Program is void, and will automatically -terminate your rights under this License. However, parties who have received -copies, or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - -5. You are not required to accept this License, since you have not signed -it. However, nothing else grants you permission to modify or distribute the -Program or its derivative works. These actions are prohibited by law if you -do not accept this License. Therefore, by modifying or distributing the -Program (or any work based on the Program), you indicate your acceptance of -this License to do so, and all its terms and conditions for copying, -distributing or modifying the Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the original -licensor to copy, distribute or modify the Program subject to these terms -and conditions. You may not impose any further restrictions on the -recipients' exercise of the rights granted herein. You are not responsible -for enforcing compliance by third parties to this License. - -7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot distribute so -as to satisfy simultaneously your obligations under this License and any -other pertinent obligations, then as a consequence you may not distribute -the Program at all. For example, if a patent license would not permit -royalty-free redistribution of the Program by all those who receive copies -directly or indirectly through you, then the only way you could satisfy both -it and this License would be to refrain entirely from distribution of the -Program. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply and -the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any patents -or other property right claims or to contest validity of any such claims; -this section has the sole purpose of protecting the integrity of the free -software distribution system, which is implemented by public license -practices. Many people have made generous contributions to the wide range of -software distributed through that system in reliance on consistent -application of that system; it is up to the author/donor to decide if he or -she is willing to distribute software through any other system and a -licensee cannot impose that choice. - -This section is intended to make thoroughly clear what is believed to be a -consequence of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in certain -countries either by patents or by copyrighted interfaces, the original -copyright holder who places the Program under this License may add an -explicit geographical distribution limitation excluding those countries, so -that distribution is permitted only in or among countries not thus excluded. -In such case, this License incorporates the limitation as if written in the -body of this License. - -9. The Free Software Foundation may publish revised and/or new versions of -the General Public License from time to time. Such new versions will be -similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - -10. If you wish to incorporate parts of the Program into other free programs -whose distribution conditions are different, write to the author to ask for -permission. For software which is copyrighted by the Free Software -Foundation, write to the Free Software Foundation; we sometimes make -exceptions for this. Our decision will be guided by the two goals of -preserving the free status of all derivatives of our free software and of -promoting the sharing and reuse of software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR -THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO -THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM -PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR -CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO -LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR -THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - diff --git a/Master/texmf-dist/source/latex/feyn/VERSION b/Master/texmf-dist/source/latex/feyn/VERSION deleted file mode 100644 index 49d59571fbf..00000000000 --- a/Master/texmf-dist/source/latex/feyn/VERSION +++ /dev/null @@ -1 +0,0 @@ -0.1 diff --git a/Master/texmf-dist/source/latex/feyn/feyn.drv b/Master/texmf-dist/source/latex/feyn/feyn.drv deleted file mode 100644 index eab38934d76..00000000000 --- a/Master/texmf-dist/source/latex/feyn/feyn.drv +++ /dev/null @@ -1,84 +0,0 @@ -%% -%% This is file `feyn.drv', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% feyn.dtx (with options: `driver') -%% Feyn: package to manage the font feyn10 -%% This software is copyright, 1991, 1994, 2001, Norman Gray. -%% -%% This program is free software; you can redistribute it and/or -%% modify it under the terms of the GNU General Public License -%% as published by the Free Software Foundation; either version 2 -%% of the License, or (at your option) any later version. -%% -%% This program is distributed in the hope that it will be useful, -%% but WITHOUT ANY WARRANTY; without even the implied warranty of -%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -%% GNU General Public License for more details. -%% -%% You should have received a copy of the GNU General Public License -%% along with this program; if not, write to the Free Software -%% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -%% -%% Author: Norman Gray, norman@astro.gla.ac.uk. -%% Department of Physics and Astronomy, University of Glasgow, UK -%% -%% 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} -\documentclass{ltxdoc} -\usepackage{feyn} -\title{The feyn font% - \thanks{This file has version number \fileversion, last revised - \filedate}} -\author{Norman Gray\\(\texttt{norman@astro.gla.ac.uk})} -\date{Version \fileversion, \filedate} -\newcommand\Lopt[1]{\textsf {#1}} -\newcommand\file[1]{\texttt {#1}} -\newcommand\Lcount[1]{\textsl {\small#1}} -\newcommand\pstyle[1]{\textsl {#1}} -%% \url macro (url.sty does this better) -\def\setpathdots{\discretionary{.}{}{.}} -\def\setpathslash{\discretionary{/}{}{/}} -{\catcode`\.=\active - \catcode`\/=\active - \gdef\pathcats{% - \catcode`\%=12 \catcode`\~=12 - \catcode`\.=\active \let.\setpathdots - \catcode`\/=\active \let/\setpathslash - \catcode`\#=12 \catcode`\_=12}% - } -\def\setpath#1{\ttfamily <\nobreak #1\nobreak>\endgroup} -\def\url{\begingroup\pathcats\setpath} -\parskip=\medskipamount -\parindent=0pt -\begin{document} -\maketitle -\DocInput{feyn.dtx} -\end{document} -%% \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 -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -\endinput -%% -%% End of file `feyn.drv'. diff --git a/Master/texmf-dist/source/latex/feyn/feyn.dtx b/Master/texmf-dist/source/latex/feyn/feyn.dtx deleted file mode 100644 index e03087a58ed..00000000000 --- a/Master/texmf-dist/source/latex/feyn/feyn.dtx +++ /dev/null @@ -1,669 +0,0 @@ -% \iffalse -% This is feyn.dtx, which manages the use of the feyn Metafont -% -%% This software is copyright, 1991, 1994, 2001, Norman Gray. -%% -%% This program is free software; you can redistribute it and/or -%% modify it under the terms of the GNU General Public License -%% as published by the Free Software Foundation; either version 2 -%% of the License, or (at your option) any later version. -%% -%% This program is distributed in the hope that it will be useful, -%% but WITHOUT ANY WARRANTY; without even the implied warranty of -%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -%% GNU General Public License for more details. -%% -%% You should have received a copy of the GNU General Public License -%% along with this program; if not, write to the Free Software -%% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -%% -%% Author: Norman Gray, norman@astro.gla.ac.uk. -%% Department of Physics and Astronomy, University of Glasgow, UK -%% -%% 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 . -% -%<+package|driver>%% 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} -%<+package>\NeedsTeXFormat{LaTeX2e} -%<+package>\ProvidesPackage{feyn}[\filedate\space\fileversion\space textpos] -%<+package>\typeout{Package: `feyn' \fileversion\space<\filedate>} -% -%<*driver> -\documentclass{ltxdoc} -\usepackage{feyn} -\title{The feyn font% - \thanks{This file has version number \fileversion, last revised - \filedate}} -\author{Norman Gray\\(\texttt{norman@astro.gla.ac.uk})} -\date{Version \fileversion, \filedate} -\newcommand\Lopt[1]{\textsf {#1}} -\newcommand\file[1]{\texttt {#1}} -\newcommand\Lcount[1]{\textsl {\small#1}} -\newcommand\pstyle[1]{\textsl {#1}} -%% \url macro (url.sty does this better) -\def\setpathdots{\discretionary{.}{}{.}} -\def\setpathslash{\discretionary{/}{}{/}} -{\catcode`\.=\active - \catcode`\/=\active - \gdef\pathcats{% - \catcode`\%=12 \catcode`\~=12 - \catcode`\.=\active \let.\setpathdots - \catcode`\/=\active \let/\setpathslash - \catcode`\#=12 \catcode`\_=12}% - } -\def\setpath#1{\ttfamily <\nobreak #1\nobreak>\endgroup} -\def\url{\begingroup\pathcats\setpath} -%\RecordChanges -%\OnlyDescription -\parskip=\medskipamount -\parindent=0pt -\begin{document} -\maketitle -\DocInput{feyn.dtx} -\end{document} -% -% -% \fi -% -% -% -% \CheckSum{175} -%% \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 -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -% -% -% -% -% -% -% \newcommand{\pslash}{p\llap{/\kern-0.3pt}} -% \newcommand{\feynx}{\textsl{feyn}} -% \newcommand{\metafont}{Metafont} -% -% -% This describes the font \feynx, which can be used to produce relatively -% simple Feynman diagrams within equations in a \LaTeX\ document. -% -% The other Feynman diagram package which exists is Thorsten Ohl's -% \textsl{feynmf}/\textsl{feynmp} package. That -% works by creating \metafont\ or MetaPost figures using a preprocessor. -% It's more general than this package, but is at its best when -% creating relatively large diagrams, for figures. -% In contrast, the present system consists of a carefully-designed font -% with which you can write simple diagrams, within equations or within text, -% in a size matching the surrounding text size. -% -% \section{Status} -% -% The font, and this associated style file, should be regarded as -% beta software at present. The propagators and vertices which are -% implemented are those which \emph{I} needed. I'd be delighted to -% add more if folk feel they would be useful. -% -% \section{Description} -% -% \makeatletter -% \def\refptcirc{\lower\FEYN@maxis \hbox to 0pt{\hss$\circ$\hss}} -% \makeatother -% \begin{table} -% \def\tableskip{\noalign{\smallskip}} -% \halign{$\refptcirc\feyn{#}$% -% \hfil\quad & $#$\hfil\quad & # \hfil\qquad && # \cr -% \omit Character & \omit & Name & Width & Height & Depth \cr -% \noalign{\smallskip\hrule\smallskip} -% f & f & fermion$^*$ & 2 & 0 & 0 \cr \tableskip -% fs & fs & short fermion$^*$ & 1 & 0 & 0 \cr \tableskip -% fl & fl & fermion loop$^*$ & 4 & 2 & 2 \cr \tableskip -% fu & fu & upward fermion (45$^\circ$)& $\sqrt2$ & $\sqrt2$ & 0 \cr \tableskip -% fd & fd & downward fermion & $\sqrt2$ & $\sqrt2$ & 0 \cr \tableskip -% fv & fv & vertical fermion & 0 & 2 & 0 \cr \tableskip -% f0 & f0 & spacer$^*$ & 2 & 0 & 0 \cr \tableskip -% fs0 & fs0 & short spacer$^*$ & 1 & 0 & 0 \cr \tableskip -% g & g & gluon/photon$^*$ & 2 & 0 & 0 \cr \tableskip -% gl & gl & gluon loop$^*$ & 0 (4) & 2 & 0 \cr \tableskip -% glu & glu & gluon loop upsidedown$^*$ & 0 & 0 & 2 \cr \tableskip -% \smallbosonloop &\omit \verb-\smallbosonloop- & -% small gauge-boson loop & 0 & 1.4 & 0 \cr \tableskip -% \bigbosonloop &\omit \verb-\bigbosonloop- & -% big gauge-boson loop & 0 & 3 & 0 \cr \tableskip -% gu & gu & upward gluon (45$^\circ$) & $\sqrt2$ & $\sqrt2$ & 0 \cr \tableskip -% gd & gd & downward gluon & $\sqrt2$ & $\sqrt2$ & 0 \cr \tableskip -% gv & gv & vertical gluon & 0 & 2 & 0 \cr \tableskip -% gvs & gvs & short vertical gluon& 0 & (1) & 0 \cr \tableskip -% m & m & massive fermion$^*$ & 2 & 0 & 0 \cr \tableskip -% ms & ms & short massive fermion$^*$ & 1 & 0 & 0 \cr \tableskip -% h & h & ghost$^*$ & 2 & 0 & 0 \cr \tableskip -% hs & hs & short ghost$^*$ & 1 & 0 & 0 \cr \tableskip -% hu & hu & upward ghost (45$^\circ$) & $\sqrt2$ & $\sqrt2$ & 0 \cr \tableskip -% hd & hd & downward ghost & $\sqrt2$ & $\sqrt2$ & 0 \cr \tableskip -% x & x & counterterm vertex$^*$ & 0 & (2) & (2) \cr \tableskip -% p & p & proper vertex$^*$ & (3) & (3) & (3) \cr \tableskip -% c & c & complete vertex$^*$ & (3) & (3) & (3) \cr \tableskip -% a & a & arrow$^*$ & 0 & 0 & 0 \cr -% } -% \caption[The characters in font \feynx.]{\label{chars} -% The characters in font \feynx. A~$^*$ means that -% the character is also available in textstyle size. The~$\circ$ shows the -% reference point of each character. See the notes on page~\pageref{charnotes}} -% \end{table} -% The characters in the font are shown in table~\ref{chars}, and the macros -% defined in \file{feyn.sty} are described in table~\ref{macros}. -% -% \iffalse Notes to table~\ref{chars}:\label{charnotes}\fi -% \subsubsection*{Notes to table~\ref{chars}\label{charnotes}} -% \begin{itemize} -% \item[(1)] The short vertical gluon is slightly shorter than the -% ordinary -% \iffalse -% \tracingmacros=2 \tracingcommands=2 -% \showthe\fontdimen22\textfont\symfeynman -% \tracingmacros=0 \tracingcommands=0 -% \fi -% vertical gluon, and is for the diagram~\hbox{$fsfglgvsffs = -% \feyn{fsfglgvsffs}$}, in which the vertical gluon would not meet the loop -% properly if it were full size. -% \item[(2)] The counterterm vertex is the same height as the proper vertex, -% although the black part is smaller. -% \item[(3)] The proper vertex and the complete vertex are specified -% in terms of a `blob-radius' which is about half a module. They have -% a width of 2~radii, and a height and depth of 1~radius. -% \item[(4)] All the gluon loops have zero width, and are centred at -% the centre of the loop. -% \end{itemize} -% The unnassigned positions in the \feynx\ font are filled -% with an obviously wrong dummy character, so that |$\feyn{A}$|, for example, -% produces $\feyn{A}$. -% -% \begin{table} -% \begin{description} -% \item[\cs{feyn}] Selects the diagram font. This must be used -% within math mode. \cs{Feyn} selects the text-mode diagram font. -% \item[\cs{Diagram\{\}}] For building more complicated diagrams. It -% takes one argument, which is like the contents of an \texttt{\{array\}} -% environment---a series of formulae separated by \&'s and \verb-\\-. See -% below for an example. The result is a box on the math-axis. -% \item[\cs{maxis}] Raises a formula to the math-axis, which is -% occasionally useful within in-text equations: eg -% |$\Feyn{fglf} - \maxis{\Feyn{faf}}$| produces -% $\Feyn{fglf} - \maxis{\Feyn{faf}}$. -% \item[\cs{vertexlabel\{p\}\{text\}}] Allows you to label a vertex. If -% the first parameter~$p$ is~$\wedge$, the~\emph{text} is placed above the -% point at which the command is given, if it is~\texttt{\_}, it is -% placed below. For example, |$\feyn{fa\vertexlabel^{p}f}$| produces -% $\feyn{fa\vertexlabel^{p}f}$. -% \item[\cs{feynstrut\{h\}\{d\}}] For use within an (eqn)array environment, or -% the like. It modifies the control sequence \verb-\strut- to be a strut of -% height~$h$ and depth~$d$, which can therefore be used to space the array -% out. -% \item[\cs{annotate\{x\}\{y\}\{text\}}] Puts the \emph{text}, -% between dollars, -% in a zero width box at offset~$(x,y)$ modules from the position of the -% |\annotate| command (which is generally the first command(s) after -% entering math-mode). Because the \emph{text} is in math-mode, anything -% that is not maths should be in an |\mbox|. -% \end{description} -% \caption{\label{macros} The macros defined in \file{feyn.sty}} -% \end{table} -% -% The \feynx\ font is modular, in the sense that all the -% dimensions are in terms of a module of 10pt, and all sizes given -% below are in units of modules. As well as 10pt, the font has 11pt -% and 12pt versions, and the correct one is selected depending on the -% text size declared (or defaulted) in the |\documentclass| command.. -% -% You draw a diagram by going into math-mode (between \$\dots\$), and selecting -% the diagrams font by the font-changing command \verb-\feyn{}- -% (exactly as you might use \verb-\mathrm- in math-mode). With a couple of -% exceptions, all the characters are obtained by typing a single -% letter, or a couple of letters which form a ligature, so that the -% letter~$f$ in the diagrams font (\verb-$\feyn{f}$-) produces a -% fermion of length~2 (modules), and~$fs$ produces a short fermion of -% length~1. As usual in maths mode, space characters are ignored, so -% you can add whitespace as required to make the expressions more -% legible. Some of the more heavily used characters are available in -% both display size and text size, with the text-size version invoked -% by |\Feyn{...}|, so that |\feyn{fglf}| gives $\feyn{fglf}$ and -% |\Feyn{fglf}| gives $\Feyn{fglf}$. The displaystyle characters -% are all on the math-axis, the textstyle ones are on the text line. -% -% Here are some examples. -% -% \makeatletter -% \newdimen\halftextwidth -% \halftextwidth=\textwidth -% \divide\halftextwidth by 2 -% \advance\halftextwidth by \tabcolsep -% {\obeyspaces\gdef {\hskip0.5em}} -% {\@makeother\|% \gdef\startcodeexample{\begin{tabular}{p{\halftextwidth}|c}}} -% \newenvironment{codeexample}{% -% \vskip\medskipamount -% \def\domyspecials{\do\\\do\{\do\}\do\~\do\&\do\#\do\^\do\_\do\~} -% \def\verbblock{\bgroup \let\do\@makeother\domyspecials -% \def\par{\hfil\break}\obeylines\obeyspaces\@verbblock} -% \def\@verbblock##1!{\ttfamily ##1\egroup} -% \startcodeexample -% }{% -% \crcr -% \end{tabular} -% \vskip\medskipamount -% } -% \makeatother -% -% \begin{codeexample} -% \verbblock\feyn{\vertexlabel^a f a -% \vertexlabel^p f\vertexlabel^b} -% = \displaystyle -% {i\delta^{ab} \over \pslash- m_0}! -% & -% \begin{minipage}[t]{\halftextwidth} -% $\feyn{\vertexlabel^a f a -% \vertexlabel^p f\vertexlabel^b} -% = \displaystyle -% {i\delta^{ab} \over \pslash- m_0}$ -% \\ -% \end{minipage} -% \end{codeexample} -% This is a simple one. -% -% \begin{codeexample} -% \verbblock\Diagram{\vertexlabel^a \\ -% fd \\ -% & g\vertexlabel_{\mu,c} \\ -% \vertexlabel_b fu\\ -% } -% = \displaystyle -% ig\gamma_\mu (T^c)_{ab}! -% & -% \begin{minipage}[t]{\halftextwidth} -% $\Diagram{\vertexlabel^a \\ -% fd \\ -% & g\vertexlabel_{\mu,c} \\ -% \vertexlabel_b fu\\ -% } -% = \displaystyle -% ig\gamma_\mu (T^c)_{ab}$ -% \end{minipage} -% \end{codeexample} -% The |\Diagram| command lays out its arguments as an array. -% -% Now a few more diagrams: -% \begin{codeexample} -% \verbblock\feyn{fs f gl f glu f fs}! -% & -% $\feyn{fs f gl f glu f fs}$ -% \end{codeexample} -% This is a ``short-fermion fermion gluon-loop fermion -% gluon-loop-upsidedown fermion short-fermion''. -% -% We can also have diagrams in the text, like~$\Feyn{fsfglffs}$, and we can -% annotate the diagrams -% \begin{codeexample} -% \verbblock\annotate{2}{-0.5}{\mbox{counterterm}} -% \annotate{1.3}{0.5}{l} -% \feyn{msmglgvs msxf}! -% & -% \begin{minipage}[t]{\halftextwidth} -% $\annotate{2}{-0.5}{\mbox{counterterm}} -% \annotate{1.3}{0.5}{l} -% \feyn{msmglgvs msxf}$ -% \end{minipage} -% \end{codeexample} -% This is a ``short-massive massive gluon-loop short-gluon-vertical -% short-massive counterterm fermion''. -% -% The expression for the heavy-fermion self-energy in the \textsc{ope} is -% \begin{codeexample} -% \verbblock\def\bracket#1{% -% \langle #1 \rangle} -% \begin{eqnarray*} -% -i\Sigma_{\rm ope} &=& -% \left[\feyn{faf + fsfglffs -% + \cdots} \right] 1 \\ -% && \quad{}+ -% \left[ \feyn{ fxfs0glfs0xf -% + \cdots} \right] -% \bracket{\overline\psi M \psi} \\ -% && \quad{}+ \left[ -% \Diagram{ &x &x \\ -% &gv &gv \\ -% fs &fs &fs \\} + \cdots -% \right] -% \bracket{G_{\mu\nu}^a G_{\mu\nu}^a}\\ -% \end{eqnarray*}! -% & -% \begin{minipage}[t]{\halftextwidth} -% \def\bracket#1{\langle #1 \rangle} -% \begin{eqnarray*} -% -i\Sigma_{\rm ope} &=& -% \left[\feyn{faf + fsfglffs + \cdots} \right] 1 \\ -% && \quad{}+ \left[ \feyn{ fxfs0glfs0xf + \cdots} \right] -% \bracket{\overline\psi M \psi} \\ -% && \quad{}+ \left[ -% \Diagram{ &x &x \\ -% &gv &gv \\ -% fs &fs &fs \\} + \cdots -% \right]\bracket{G_{\mu\nu}^a G_{\mu\nu}^a}\\ -% \end{eqnarray*} -% \end{minipage} -% \end{codeexample} -% -% The Feynman Rules are as follows: -% \begin{verbatim} -% \def\arraystretch{3} \arraycolsep=0.2cm -% \begin{array}{rcl} -% % quark propagator -% \feyn{\vertexlabel^a f a\vertexlabel^p f\vertexlabel^b} -% &=& \displaystyle -% {i\delta^{ab} \over \pslash- m_0} \\ -% % quark-gluon vertex -% \Diagram{\vertexlabel^a \\ fd \\ & g\vertexlabel_{\mu,c} \\ \vertexlabel_b fu\\} -% &=& \displaystyle -% ig\gamma_\mu (t^c)_{ab} \\ -% % gluon propagator -% \feyn{\vertexlabel^{\mu, a}g a\vertexlabel^k g \vertexlabel^{\nu, b}} -% &=& \displaystyle -% {-i\over k^2} \left[g_{\mu\nu} + (a_0 - 1) {k_\mu k_\nu \over k^2}\right] -% \delta^{ab} \\ -% % 3-gluon vertex -% \arrow{0.7}{0.7}{7}\arrow{0.7}{-0.7}{1}\arrow{2.41}{0}{4} -% \annotate{0.9}{0.8}{p}\annotate{0.9}{-0.9}{q} -% \Diagram{\vertexlabel^{\alpha, a}\\ -% gd \\ -% &gd \\ -% &&g\vertexlabel^{r}g \vertexlabel^{\gamma,c} \\ -% &gu \\ -% gu \\ -% \vertexlabel_{\beta,b}} -% &=& \displaystyle -% -g f^{abc} ( -% g_{\beta\gamma} (q-r)_\alpha + -% g_{\gamma\alpha} (r-p)_\beta + -% g_{\alpha\beta} (p-q)_\gamma -% ) \\ -% % ghost propagator -% \feyn{\vertexlabel^a h a\vertexlabel_p h\vertexlabel^b} -% &=& \displaystyle -% {i \over p^2} \delta_{ab} \\ -% % ghost-gluon vertex -% \Diagram{\vertexlabel^b \\ hd \\ & g\vertexlabel^{\mu,a} \\ -% \vertexlabel_c hu\\} -% &=& \displaystyle -% -g f^{abc}p_\mu -% \quad\raise 1ex\hbox{\hsize = 0pt\vtop{ -% \hbox to \hsize{where $p$ is the momentum of\hss} -% \hbox to \hsize{the outgoing positive energy ghost\hss} -% }} -% \end{array} -% \end{verbatim} -% \dots giving -% \begin{equation} -% \def\arraystretch{3} \arraycolsep=0.2cm -% \begin{array}{rcl} -% \feyn{\vertexlabel^a f a\vertexlabel^p f\vertexlabel^b} -% &=& \displaystyle -% {i\delta^{ab} \over \pslash- m_0} \\ -% \Diagram{\vertexlabel^a \\ fd \\ & g\vertexlabel_{\mu,c} \\ \vertexlabel_b fu\\} -% &=& \displaystyle -% ig\gamma_\mu (t^c)_{ab} \\ -% \feyn{\vertexlabel^{\mu, a}g a\vertexlabel^k g \vertexlabel^{\nu, b}} -% &=& \displaystyle -% {-i\over k^2} \left[g_{\mu\nu} + (a_0 - 1) {k_\mu k_\nu \over k^2}\right] -% \delta^{ab} \\ -% \arrow{0.7}{0.7}{7}\arrow{0.7}{-0.7}{1}\arrow{2.41}{0}{4} -% \annotate{0.9}{0.8}{p}\annotate{0.9}{-0.9}{q} -% \Diagram{\vertexlabel^{\alpha, a}\\ -% gd \\ -% &gd \\ -% &&g\vertexlabel^{r}g \vertexlabel^{\gamma,c} \\ -% &gu \\ -% gu \\ -% \vertexlabel_{\beta,b}} -% &=& \displaystyle -% -g f^{abc} ( -% g_{\beta\gamma} (q-r)_\alpha + -% g_{\gamma\alpha} (r-p)_\beta + -% g_{\alpha\beta} (p-q)_\gamma -% ) \\ -% \feyn{\vertexlabel^a h a\vertexlabel_p h\vertexlabel^b} -% &=& \displaystyle -% {i \over p^2} \delta_{ab} \\ -% \Diagram{\vertexlabel^b \\ hd \\ & g\vertexlabel^{\mu,a} \\ -% \vertexlabel_c hu\\} -% &=& \displaystyle -% -g f^{abc}p_\mu -% \quad\raise 1ex\hbox{\hsize = 0pt\vtop{ -% \hbox to \hsize{where $p$ is the momentum of\hss} -% \hbox to \hsize{the outgoing positive energy ghost\hss} -% }} -% \end{array} -% \end{equation} -% -% The diagrams can also appear as parts of equations: -% \begin{eqnarray} -% \feyn{fcf} &=& \feyn{faf + fpf + fpfpf + \cdots} \\ -% &=& \sum_{n=0}^\infty \feyn{fsafs ( pfsafs)}^n \\ -% &=& \feyn{\frac{fsafs}{1-(pfsafs)}}. -% \end{eqnarray} -% -% \section{Installation} -% -% If you have not done so already, you need to extract the package -% file from the distribution file using |latex feyn.ins|. The -% resulting \file{feyn.sty} should be installed in the usual location -% for style files -- that is, something like -% \file{texmf.local/tex/latex/feyn.sty}. The \metafont\ source files -% \file{*.mf} should be installed in a directory with a location such as -% \file{texmf.local/fonts/source/feyn/}. That should be all you need -% to do as regards the installation of the fonts -- if your \TeX\ -% setup is installed correctly, then the usual font-generation -% commands (such as \file{mktexpk} for example) should work as normal. -% -% -% \StopEventually{} -% -% \section{Implementation} -% \begin{macrocode} -%<*package> -% \end{macrocode} -% -% Declare the feyn math font family. The |\skewchar| for this font -% (see the \TeX book, p431) can be set to zero, since it's a -% completely upright maths font (the least of its peculiarities). We -% don't have the font in much of a range of sizes. -% \begin{macrocode} -\DeclareFontFamily{OMS}{feyn}{\skewchar\font'000} -\DeclareFontShape{OMS}{feyn}{m}{n}{% - <-10.5>feyn10% - <10.5-11.5>feyn11% - <11.5->feyn12% - }{} -% \end{macrocode} -% -% Now do the same for the text-size fonts, declaring the textfeyn math -% font family. -% \begin{macrocode} -\DeclareFontFamily{OMS}{textfeyn}{\skewchar\font'000} -\DeclareFontShape{OMS}{textfeyn}{m}{n}{% - <-10.5>feyntext10% - <10.5-11.5>feyntext11% - <11.5->feyntext12% - }{} -% \end{macrocode} -% -% XXX It would be nice to arrange things so that superscripts in -% the feyn font were drawn from cmmi7, or something. The original -% feyn.sty arranged this with |\scriptfont\diagramfam=\ninmi|, but -% it's not clear what the analogue in the FSS is. -% -% Now declare the `feynman' symbol font, and make the command |\feyn| -% set its argument in that font. Similarly have |\Feyn| invoke the -% feynman symbol font for the text sizes. -% \begin{macrocode} -\DeclareSymbolFont{feynman}{OMS}{feyn}{m}{n} -\DeclareSymbolFontAlphabet{\feyn}{feynman} -\DeclareSymbolFont{textfeynman}{OMS}{textfeyn}{m}{n} -\DeclareSymbolFontAlphabet{\Feyn}{textfeynman} -% \end{macrocode} -% -% -% Now get the size of the `module' (the length of the fermion), and the -% height of the math-axis, from the font. You might think that the -% math-axis is obtainable from |\fontdimen22| of the font, but we do -% not load it as an |{operator}| font when we invoke -% |\DeclareSymbolFont|, so it does not have all 22 parameters that a -% symbol font (as the \TeX book uses the term, rather than \LaTeXe's -% NFSS). I confess I don't \emph{really} understand the ins and outs -% of this, but this route is robust and not wrong. -% -% The character |"7F| in the feyn font is blank, but has width -% |module#| and height |a#| (using the dimensions of the font -% file). Use this to set the |\FEYN@module| and |\FEYN@maxis|. Note -% that the `module' used in this package file is twice the module used -% in the \metafont\ files themselves. -% \begin{macro}{\FEYN@module} -% \begin{macro}{\FEYN@maxis} -% \begin{macrocode} -\DeclareMathSymbol{\FeynSpaceChar}{\mathord}{feynman}{"7F} -\setbox0=\hbox{$\FeynSpaceChar$} -\newdimen\FEYN@module \FEYN@module=2\wd0 -\newdimen\FEYN@maxis \FEYN@maxis=\ht0 -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\Diagram} -% Define the |\Diagram| macro, which lays out a semi-complicated -% diagram in 2-d. -% \begin{macrocode} -\def\Diagram#1{\setbox0=\hbox{\vbox{\offinterlineskip \let\\\cr - \halign{&$\displaystyle\feyn{##}$\cr #1\crcr}}}% -% \end{macrocode} -% At this point, |\box0| has zero depth. It must be an hbox, because -% we're fiddling with its height within a enclosing |\vbox|. See the -% \TeX book pp 388--389. This takes advantage of appx G, rule 8 to -% move box0 down by the height of the math axis. The construction -% |\dp0 = -2\fontdimen22 \textfont2| also works, in the sense of -% moving the box onto the math axis, but makes the box too small, -% which means that surrounding text can encroach. -% \begin{macrocode} - \@tempdima=\ht0 - \advance\@tempdima by 2\FEYN@maxis \ht0=\@tempdima - \vcenter{\box0}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\maxis} -% Raise the argument to the math axis. -% \begin{macrocode} -\def\maxis#1{\raise\FEYN@maxis \hbox{$#1$}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\vertexlabel} -% The command |\vertexlabel^{text}| or |\vertexlabel_{text}| positions -% the |{text}| in maths mode either above or below, respectively, the -% current position. It's used at between characters to label a vertex. -% \begin{macrocode} -\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} - \else\ifcat #1_ - \vbox to 0pt{\kern\FEYN@maxis\nointerlineskip\box0\vss} - %\vbox to 0pt{\kern2pt\nointerlineskip\box0\vss} - \else - \PackageError{feyn} - {Bad arguments for \string\vertexlabel} - {Usage: \string\vertexlabel^{text} or \string\vertexlabel_{text}} - \fi\fi - } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\annotate} -% The |\annotate| command takes $x$ and $y$ coordinates in units of -% modules, and text (in math mode) to be placed on a |\diagram|. -% \begin{macrocode} -\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}} -% \end{macrocode} -% \end{macro} -% \begin{macro}{\tannotate} -% The |\tannotate| command is just the same, but the annotating text -% is in horizontal mode. -% \begin{macrocode} -\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}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\feynstrut} -% The macro |\feynstrut#1#2| defines |\strut| to have a height -% |#1| modules, and depth |#2| modules. -% \begin{macrocode} -\def\feynstrut#1#2{\setbox\strutbox=\hbox{\vrule - height #1\FEYN@module depth #2\FEYN@module width 0pt}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\arrow} -% The command |\arrow#1#2#3| puts an arrow of gradient |#3|${}\times 45^\circ$ -% at position |(#1,#2)|(modules). This doesn't work -- the |\char| -% results in a |\rm| character appearing, rather than a |\feyn| -% character. Putting in a symbol like `+' has the same effect, but -% putting in, say, `a' works as expected. In other words, it's to do -% with the character's mathcode, and the |\char| -% should be replaced by a |\mathchar"7?\@tempcnta| somehow. The -% problem is that that depends on the parameter |\fam| having a -% suitable value. It's not clear to me what this corresponds to in -% \LaTeXe. See the \TeX book, chapter 17. -% \begin{macrocode} -\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}} -% \end{macrocode} -% \end{macro} -% -% Declare symbols. All of these are ligatures. -% \begin{macrocode} -\DeclareMathSymbol{\wfermion}{0}{feynman}{"64} -%\DeclareMathSymbol{\Wfermion}{0}{feynman}{"44} -\DeclareMathSymbol{\hfermion}{0}{feynman}{"6B} -%\DeclareMathSymbol{\Hfermion}{0}{feynman}{"4B} -\DeclareMathSymbol{\shfermion}{0}{feynman}{"6C} -%\DeclareMathSymbol{\sHfermion}{0}{feynman}{"4C} -\DeclareMathSymbol{\whfermion}{0}{feynman}{"6D} -%\DeclareMathSymbol{\wHfermion}{0}{feynman}{"4D} -\DeclareMathSymbol{\gvcropped}{0}{feynman}{"07} -% \end{macrocode} -% But the following are not ligatures. -% \begin{macrocode} -\DeclareMathSymbol{\bigbosonloop}{0}{feynman}{"21} -\DeclareMathSymbol{\Bigbosonloop}{7}{feynman}{"21} -\DeclareMathSymbol{\smallbosonloop}{0}{feynman}{"20} -% \end{macrocode} -% -% -% \Finale -\endinput diff --git a/Master/texmf-dist/source/latex/feyn/feyn.ins b/Master/texmf-dist/source/latex/feyn/feyn.ins deleted file mode 100644 index 5a56e95876d..00000000000 --- a/Master/texmf-dist/source/latex/feyn/feyn.ins +++ /dev/null @@ -1,14 +0,0 @@ -\input docstrip -\preamble - Feyn: package to manage the font feyn10 -\endpreamble -\keepsilent -\askforoverwritefalse - -\generate{\file{feyn.drv}{\from{feyn.dtx}{driver}} - \file{feyn.sty}{\from{feyn.dtx}{package}} - } - -\endbatchfile - -%% $Id: feyn.ins,v 1.1 2001/08/06 17:21:31 norman Exp $ 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'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 21efc305565..28532210ed6 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -71,7 +71,7 @@ my @WorkingTLP = qw( examdesign examplep exercise expl3 expressg extarrows exteps extpfeil extract extsizes faktor fancybox fancyhdr fancynum fancyref fancytooltips fax featpost - fge filecontents fink fixme + feyn fge filecontents fink fixme flagderiv flippdf float floatrow flowfram fltpoint fmtcount fnbreak fncychap foekfont fontch fontspec fonttable footbib forloop formular -- cgit v1.2.3