diff options
author | Karl Berry <karl@freefriends.org> | 2021-11-27 21:23:37 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-11-27 21:23:37 +0000 |
commit | 055f995839a011f758e09b539b6a692189be36d9 (patch) | |
tree | 23dbd8fc8b389d7b039bfc2abdf923fb6b2fcf4d /Master | |
parent | 1dc5fabb96494f3e9dbb0ad82689df8c7183cc6a (diff) |
hep-math (27nov21)
git-svn-id: svn://tug.org/texlive/trunk@61170 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/hep-math/README-hep-math.md | 21 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/hep-math/README.md | 21 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/hep-math/bibliography.bib | 1055 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/hep-math/hep-math-documentation.pdf | bin | 0 -> 324470 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/hep-math/hep-math-documentation.tex | 358 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/hep-math/hep-math-implementation.pdf | bin | 0 -> 383065 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/hep-math/hep-math-test.tex | 39 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/hep-math/license.md | 416 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/hep-math/hep-math-implementation.dtx | 1134 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/hep-math/hep-math.ins | 49 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/hep-math/hep-math.sty | 305 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/hep-math.tlpsrc | 0 |
13 files changed, 3399 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/hep-math/README-hep-math.md b/Master/texmf-dist/doc/latex/hep-math/README-hep-math.md new file mode 100644 index 00000000000..6e94fa4a7f3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hep-math/README-hep-math.md @@ -0,0 +1,21 @@ + + +# The `hep-math` package + +Extended math macros + +## Introduction + +The `hep-math` package provides some additional features beyond the `mathtools` and `amsmath` packages. + +To use the package place `\usepackage{hep-math}` in the preamble. + +## Author + +Jan Hajer + +## License + +This file may be distributed and/or modified under the conditions of the `LaTeX` Project Public License, either version 1.3c of this license or (at your option) any later version. +The latest version of this license is in `http://www.latex-project.org/lppl.txt` and version 1.3c or later is part of all distributions of LaTeX version 2005/12/01 or later. + diff --git a/Master/texmf-dist/doc/latex/hep-math/README.md b/Master/texmf-dist/doc/latex/hep-math/README.md new file mode 100644 index 00000000000..6e94fa4a7f3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hep-math/README.md @@ -0,0 +1,21 @@ + + +# The `hep-math` package + +Extended math macros + +## Introduction + +The `hep-math` package provides some additional features beyond the `mathtools` and `amsmath` packages. + +To use the package place `\usepackage{hep-math}` in the preamble. + +## Author + +Jan Hajer + +## License + +This file may be distributed and/or modified under the conditions of the `LaTeX` Project Public License, either version 1.3c of this license or (at your option) any later version. +The latest version of this license is in `http://www.latex-project.org/lppl.txt` and version 1.3c or later is part of all distributions of LaTeX version 2005/12/01 or later. + diff --git a/Master/texmf-dist/doc/latex/hep-math/bibliography.bib b/Master/texmf-dist/doc/latex/hep-math/bibliography.bib new file mode 100644 index 00000000000..e5117be3d56 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hep-math/bibliography.bib @@ -0,0 +1,1055 @@ +@article{hep-paper, +title = "The |hep-paper| package", +subtitle = "Publications in high energy physics", +author = "Jan Hajer", +year = "2019", +eprinttype = "ctan", +eprint = "hep-paper", +related = "hep-paper-1", +} + +@manual{hep-paper-1, +doi = "10.5281/zenodo.3606436", +eprinttype = "github", +eprintclass = "janhajer", +eprint = "hep-paper", +} + +@article{hep-acronym, +title = "The |hep-acronym| package", +subtitle = "An acronym extension for glossaries", +author = "Jan Hajer", +year = "2021", +eprinttype = "ctan", +eprint = "hep-acronyms", +related = "hep-paper-1", +} + +@article{hep-bibliography, +title = "The |hep-bibliography| package", +subtitle = "Bibliographies for high energy physics", +author = "Jan Hajer", +year = "2021", +eprinttype = "ctan", +eprint = "hep-bibliography", +related = "hep-paper-1", +} + +@article{hep-float, +title = "The |hep-float| package", +subtitle = "Convenience package for float placement", +author = "Jan Hajer", +year = "2021", +eprinttype = "ctan", +eprint = "hep-float", +related = "hep-paper-1", +} + +@article{hep-font, +title = "The |hep-font| package", +subtitle = "Latin modern extended by computer modern", +author = "Jan Hajer", +year = "2021", +eprinttype = "ctan", +eprint = "hep-font", +related = "hep-paper-1", +} + +@article{hep-math-font, +title = "The |hep-math-font| package", +subtitle = "Extended Greek and sans serif math", +author = "Jan Hajer", +year = "2021", +eprinttype = "ctan", +eprint = "hep-math-font", +related = "hep-paper-1", +} + +@article{hep-math, +title = "The |hep-math| package", +subtitle = "Extended math macros", +author = "Jan Hajer", +year = "2021", +eprinttype = "ctan", +eprint = "hep-math", +related = "hep-paper-1", +} + +@article{hep-text, +title = "The |hep-text| package", +subtitle = "List and text extensions", +author = "Jan Hajer", +year = "2021", +eprinttype = "ctan", +eprint = "hep-text", +related = "hep-paper-1", +} + +@article{hep-title, +title = "The |hep-title| package", +subtitle = "Extensions for the title page", +author = "Jan Hajer", +year = "2021", +eprinttype = "ctan", +eprint = "hep-title", +related = "hep-paper-1", +} + +@article{kvoptions, +title = "The |kvoptions| package", +subtitle = "Key value format for package options", +author = "Heiko Oberdiek", +year = "2004", +eprinttype = "ctan", +eprint = "kvoptions", +related = "kvoptions-1", +} + +@manual{kvoptions-1, +eprinttype = "github", +eprintclass = "ho-tex", +eprint = "kvoptions", +} + +@article{cleveref, +title = "The |cleveref| package", +subtitle = "Intelligent cross-referencing", +author = "Toby Cubitt", +date = "2006", +url = "http://dr-qubit.org/cleveref", +eprinttype = "ctan", +eprint = "cleveref", +} + +@article{foreign, +title = "The |foreign| package for \hologo{LaTeX2e}", +subtitle = "Systematic treatment of \enquote{foreign} words in documents", +author = "Philip G. Ratcliffe", +date = "2012", +eprinttype = "ctan", +eprint = "foreign", +} + +@article{geometry, +title = "The |geometry| package", +subtitle = "Flexible and complete interface to document dimensions", +author = "David Carlisle and Hideo Umeki", +date = "1996", +eprinttype = "ctan", +eprint = "geometry", +related = "geometry-1", +} + +@manual{geometry-1, +eprinttype = "github", +eprintclass = "davidcarlisle", +eprint = "geometry", +} + +@article{a4wide, +title = "The |a4wide| package", +subtitle = "\enquote{Wide} a4 layout", +author = "Alexander Holt and Jean-François Lamy", +date = "1986", +eprinttype = "ctan", +eprint = "a4wide", +note = "depreciated and not used", +} + +@article{microtype, +title = "The |microtype| package", +subtitle = "Subliminal refinements towards typographical perfection", +author = "Robert Schlicht", +date = "2004", +eprinttype = "ctan", +eprint = "microtype", +} + +@article{authblk, +title = "A \hologo{LaTeX} Package to Prepare Author and Affiliation Blocks", +subtitle = "Support for footnote style author/affiliation", +author = "Patrick W. Daly", +date = "2001", +eprinttype = "ctan", +eprint = "authblk", +} + +@article{bm, +title = "The |bm| package", +subtitle = "Access bold symbols in maths mode", +author = "David Carlisle and Frank Mittelbach", +collaboration = "\hologo{LaTeX} Team", +date = "1993", +eprinttype = "ctan", +eprint = "bm", +} + +@article{empheq, +title = "The |empheq| package", +author = "Lars Madsen and Morten Høgholm and Will Robertson and Joseph Wright", +eprinttype = "ctan", +eprint = "empheq", +} + +@article{mathtools, +title = "The |mathtools| package", +subtitle = "Mathematical tools to use with |amsmath|", +author = "Lars Madsen and Morten Høgholm and Will Robertson and Joseph Wright", +date = "2004", +eprinttype = "ctan", +eprint = "mathtools", +} + +@article{amsmath, +title = "The |amsmath| package", +subtitle = "AMS mathematical facilities for \hologo{LaTeX}", +collaboration = "\hologo{LaTeX} Team", +date = "1994", +url = "https://ams.org/tex/amslatex", +eprinttype = "ctan", +eprint = "amsmath", +} + +@article{amstext, +title = "The |amstext| package", +subtitle = "Typeset text fragments in mathematics", +collaboration = "\hologo{LaTeX} Team", +date = "1995", +url = "https://ams.org/tex/amslatex", +eprinttype = "ctan", +eprint = "amstext", +} + +@article{amsfonts, +title = "The |amsfonts| package", +subtitle = "\hologo{TeX} fonts from the American Mathematical Society", +author = "Michael Downes and David M. Jones and Frank Mittelbach and Rainer Schöpf", +collaboration = "American Mathematical Society", +date = "1995", +url = "https://ams.org/tex/amsfonts", +eprinttype = "ctan", +eprint = "amsfonts", +} + +@article{amssymb, +title = "The |amssymb| package", +author = "Michael Downes and David M. Jones and Frank Mittelbach and Rainer Schöpf", +collaboration = "American Mathematical Society", +date = "1995", +eprinttype = "ctan", +eprint = "amsfonts", +} + +@article{slashed, +title = "The |slashed| package", +subtitle = "Put a slash through characters", +author = "David Carlisle", +date = "1987", +eprinttype = "ctan", +eprint = "slashed", +} + +@article{physics, +title = "The |physics| package", +subtitle = "Macros supporting the Mathematics of Physics", +author = "Sergio C. de la Barrera", +date = "2012", +eprinttype = "ctan", +eprint = "physics", +} + +@article{units, +title = "The |units| and |nicefrac| packages", +subtitle = "Typeset units", +author = "Axel Reichert", +date = "1998", +eprinttype = "ctan", +eprint = "units", +} + +@article{subcaption, +title = "The |subcaption| package", +subtitle = "Support for sub-captions", +author = "Axel Sommerfeldt", +date = "2007", +eprinttype = "ctan", +eprint = "subcaption", +related = "caption-1", +} + +@article{caption, +title = "The |caption| package", +subtitle = "Customising captions in floating environments", +author = "Axel Sommerfeldt", +date = "1994", +eprinttype = "ctan", +eprint = "caption", +related = "caption-1", +} + +@manual{caption-1, +eprinttype = "gitlab", +eprintclass = "axelsommerfeldt", +eprint = "caption", +} + + +@article{biblatex, +title = "The |biblatex| Package", +subtitle = "Sophisticated Bibliographies in \hologo{LaTeX}", +author = "Philipp Lehman and Joseph Wright and Audrey Boruvka and Philip Kime", +date = "2006", +eprinttype = "ctan", +eprint = "biblatex", +related = "biblatex-1", +} + +@manual{biblatex-1, +eprinttype = "github", +eprintclass = "plk", +eprint = "biblatex", +} + +@article{hyperref, +title = "Hypertext marks in \hologo{LaTeX}: a manual for |hyperref|", +subtitle = "Extensive support for hypertext in \hologo{LaTeX}", +author = "Sebastian Rahtz and Heiko Oberdiek", +collaboration = "\hologo{LaTeX3} Project", +date = "1995", +eprinttype = "ctan", +eprint = "hyperref", +related = "hyperref-1", +} + +@manual{hyperref-1, +eprinttype = "github", +eprintclass = "latex3", +eprint = "hyperref", +} + +@article{graphicx, +title = "Packages in the \enquote{graphics} bundle", +subtitle = "Enhanced support for graphics", +author = "David Carlisle and Sebastian Rahtz", +date = "1994", +eprinttype = "ctan", +eprint = "graphicx", +} + +@article{booktabs, +title = "The |booktabs| package", +subtitle = "Publication quality tables in \hologo{LaTeX}", +author = "Danie Els and Simon Fear", +date = "1995", +eprinttype = "ctan", +eprint = "booktabs", +} + +@article{multirow, +title = "The |multirow|, |bigstrut| and |bigdelim| packages", +subtitle = "Create tabular cells spanning multiple rows", +author = "Piet van Oostrum and Jerry Leichter", +date = "1994", +eprinttype = "ctan", +eprint = "multirow", +} + +@article{fixmath, +title = "The |fixmath| package for \hologo{LaTeX2e}", +subtitle = "Make maths comply with ISO 31-0:1992 to ISO 31-13:1992", +author = "Walter Schmidt", +date = "2000", +eprinttype = "ctan", +eprint = "fixmath", +} + +@article{alphabeta, +title = "The |alphabeta| package", +subtitle = "LICR macros and encoding definition files for Greek", +author = "Günter Milde", +date = "2013", +eprinttype = "ctan", +eprint = "greek-fontenc", +} + +@article{textalpha, +title = "The |textalpha| package", +subtitle = "LICR macros and encoding definition files for Greek", +author = "Günter Milde", +date = "2010", +eprinttype = "ctan", +eprint = "greek-fontenc", +} + +@article{arxiv-collector, +title = "|arxiv-collector|", +subtitle = "A little Python script to collect \hologo{LaTeX} sources for upload to the arXiv", +author = "Dougal Sutherland", +date = "2018", +eprinttype = "github", +eprintclass = "dougalsutherland", +eprint = "arxiv-collector", +} + +@article{biber, +title = "\hologo{biber}", +subtitle = "Backend processor for Bib\hologo{LaTeX}", +author = "François Charette and Philip Kime", +date = "2009", +eprinttype = "github", +eprintclass = "plk", +eprint = "biber", +related = "biber-1", +} + +@manual{biber-1, +eprinttype = "sourceforge", +eprint = "biblatex-biber", +} + +@article{lmodern, +title = "Latin Modern Family of Fonts", +subtitle = "Latin modern fonts in outline formats", +date = "2003", +author = "B. Jackowski and J.M. Nowacki", +url = "http://gust.org.pl/projects/e-foundry/latin-modern", +eprinttype = "ctan", +eprint = "lm", +} + +@article{ifluatex, +title = "The |ifluatex| package", +subtitle = "Provides the |\textbackslash ifluatex| switch", +author = "Heiko Oberdiek", +collaboration = "\hologo{LaTeX} Team", +date = "2007", +eprinttype = "ctan", +eprint = "ifluatex", +} + +@article{ifxetex, +title = "The |iftex| package", +subtitle = "Am I running under \hologo{XeTeX}?", +collaboration = "\hologo{LaTeX} Team", +author = "Will Robertson", +date = "2006", +eprinttype = "ctan", +eprint = "ifxetex", +related = "ifxetex-1", +} + +@manual{ifxetex-1, +eprinttype = "github", +eprintclass = "latex3", +eprint = "iftex", +} + +@article{fontspec, +title = "The |fontspec| package", +subtitle = "Advanced font selection in \hologo{XeLaTeX} and \hologo{LuaLaTeX}", +author = "Will Robertson and Khaled Hosny", +date = "2004", +eprinttype = "ctan", +eprint = "fontspec", +} + +@article{fontenc, +title = "The |fontenc| package", +subtitle = "Standard package for selecting font encodings", +collaboration = "\hologo{LaTeX} Team", +author = "Frank Mittelbach and Robin Fairbairns and Werner Lemberg", +date = "1995", +eprinttype = "ctan", +eprint = "fontenc", +} + +@article{inputenc, +title = "The |inputenc| package", +subtitle = "Accept different input encodings", +collaboration = "\hologo{LaTeX} Team", +author = "Frank Mittelbach and Alan Jeffrey", +date = "1989", +eprinttype = "ctan", +eprint = "inputenc", +} + +@article{textcomp, +title = "The |textcomp| package", +subtitle = "\hologo{LaTeX} support for the Text Companion fonts", +collaboration = "\hologo{LaTeX} Team", +author = "Sebastian Rahtz", +date = "1995", +eprinttype = "ctan", +eprint = "textcomp", +} + +@article{enumitem, +title = "Customizing lists with the |enumitem| package", +subtitle = "Control layout of itemize, enumerate, description", +author = "Javier Bezos", +date = "2003", +url = "https://texnia.com/enumitem.html", +eprinttype = "ctan", +eprint = "enumitem", +related = "enumitem-1", +} + +@manual{enumitem-1, +eprinttype = "github", +eprintclass = "jbezos", +eprint = "enumitem", +} + +@article{atbegshi, +title = "The |atbegshi| package", +subtitle = "Execute stuff at |shipout| time", +author = "Heiko Oberdiek", +date = "2007", +eprinttype = "ctan", +eprint = "atbegshi", +related = "atbegshi-1", +} + +@manual{atbegshi-1, +eprinttype = "github", +eprintclass = "ho-tex", +eprint = "atbegshi", +} + +@article{picture, +title = "The |picture| package", +subtitle = "Dimens for picture macros", +author = "Heiko Oberdiek", +date = "2006", +eprinttype = "ctan", +eprint = "picture", +related = "picture-1", +} + +@manual{picture-1, +eprinttype = "github", +eprintclass = "ho-tex", +eprint = "picture", +} + +@article{varwidth, +title = "The |varwidth| package", +subtitle = "A variable-width minipage", +author = "Donald Arseneau", +date = "2003", +eprinttype = "ctan", +eprint = "varwidth", +} + +@article{csquotes, +title = "The |csquotes| Package", +subtitle = "Context sensitive quotation facilities", +author = "Philipp Lehman and Joseph Wright", +date = "2003", +eprinttype = "ctan", +eprint = "csquotes", +} + +@article{babel, +title = "|Babel| Localization and internationalization", +subtitle = "Multilingual support for Plain \hologo{TeX} or \hologo{LaTeX}", +author = "Johannes Braams and Javier Bezos and at al.", +date = "1989", +eprinttype = "ctan", +eprint = "babel", +related = "babel-1", +} + +@manual{babel-1, +eprinttype = "github", +eprintclass = "latex3", +eprint = "babel", +} + +@article{polyglossia, +title = "The |polyglossia| package", +author = "Arthur Reutenauer and François Charette and Elie Roux and Bastien Roucariès and Jürgen Spitzmüller", +eprinttype = "ctan", +eprint = "polyglossia", +} + +@article{parskip, +title = "The |parskip| package", +subtitle = "Layout with zero |\textbackslash parindent|, non-zero |\textbackslash parskip|", +author = "Robin Fairbairns and Frank Mittelbach and H. Partl", +date = "1989", +eprinttype = "ctan", +eprint = "parskip", +related = "parskip-1", +} + +@manual{parskip-1, +eprinttype = "github", +eprintclass = "FrankMittelbach", +eprint = "fmitex", +} + + +@article{fntguide, +title = "\hologo{LaTeX2e}\ font selection", +subtitle = "Docmentation of \hologo{LaTeX} font commands", +collaboration = "\hologo{LaTeX} Team", +date = "1995", +eprinttype = "ctan", +eprint = "fntguide", +} + +@article{euenc, +title = "The Experimental Unicode `EUx’ Encodings", +author = "Will Robertson and Elie Roux and Khaled Hosny", +eprinttype = "ctan", +eprint = "euenc", +} + +@article{soul, +title = "The |soul| package", +subtitle = "Hyphenation for letterspacing, underlining, and more", +author = "Melchior Franz", +date = "1998", +eprinttype = "ctan", +eprint = "soul", +} + +@article{ulem, +title = "The |ulem| package", +subtitle = "Package for underlining", +author = "Donald Arseneau", +date = "1989", +eprinttype = "ctan", +eprint = "ulem", +} + +@article{glossaries, +title = "The |glossaries| package", +subtitle = "Create glossaries and lists of acronyms", +author = "Nicola Talbot", +date = "2007", +eprinttype = "ctan", +eprint = "glossaries", +} + +@article{glossaries-extra, +title = "The |glossaries-extra| package", +subtitle = "An extension to the |glossaries| package", +author = "Dickimaw Books, Nicola Talbot", +date = "2015", +eprinttype = "ctan", +eprint = "glossaries-extra", +} + +@article{xparse, +title = "The |xparse| package", +subtitle = "A generic document command parser", +author = "Frank Mittelbach and Chris Rowley and David Carlisle", +collaboration = "\hologo{LaTeX3} Project", +date = "1999", +eprinttype = "ctan", +eprint = "xparse", +} + +@article{pdftexcmds, +title = "The |pdftexcmds| package", +subtitle = "\hologo{LuaTeX} support for \hologo{pdfTeX} utility functions", +author = "Heiko Oberdiek", +date = "2007", +eprinttype = "ctan", +eprint = "pdftexcmds", +} + +@article{fix-cm, +title = "The |fix-cm| package", +subtitle = "Permit Computer Modern fonts at arbitrary sizes", +author = "Frank Mittelbach and David Carlisle and Chris Rowley and Walter Schmidt", +date = "1993", +eprinttype = "ctan", +eprint = "fix-cm", +} + +@article{revtex, +title = "The REV\hologo{TeX} class", +subtitle = "Styles for various Physics Journals", +author = "Mark Doyle and Arthur Ogawa", +collaboration = "American Physical Society", +date = "1999", +url = "https://journals.aps.org/revtex", +eprinttype = "ctan", +eprint = "revtex", +} + +@article{encguide, +title = "\hologo{LaTeX} font encodings", +subtitle = "Documentation of \hologo{LaTeX} font encodings", +author = "Frank Mittelbach and Robin Fairbairns and Werner Lemberg", +collaboration = "\hologo{LaTeX3} Project Team", +date = "1995", +eprinttype = "ctan", +eprint = "encguide", +} + +@article{sfmath, +title = "The |sfmath| package", +subtitle = "Sans-serif mathematics", +author = "Olaf Dietrich", +date = "2005", +url = "https://dtrx.de/od/tex/sfmath", +eprinttype = "ctan", +eprint = "sfmath", +} + +@article{relsize, +title = "The |relsize| package", +subtitle = "Set the font size relative to the current font size", +author = "Donald Arseneau and Matt Swift", +date = "2011", +eprinttype = "ctan", +eprint = "relsize", +} + +@article{everyhook, +title = "The |everyhook| package", +subtitle = "Hooks for standard \hologo{TeX} token lists", +author = "Stephen Checkoway", +date = "2010", +eprinttype = "ctan", +eprint = "everyhook", +} + + +@article{sansmathfonts, +title = "The |sansmathfonts| package", +subtitle = "Correct placement of accents in sans-serif maths", +author = "Ariel Barton", +date = "2013", +eprinttype = "ctan", +eprint = "sansmathfonts", +} + +@article{xspace, +title = "The |xspace| package", +subtitle = "Define commands that appear not to eat spaces", +author = "David Carlisle and Morten Høgholm", +collaboration = "\hologo{LaTeX} Team", +date = "1993", +eprinttype = "ctan", +eprint = "xspace", +} + +@article{ragged2e, +title = "The |ragged2e|-package", +subtitle = "Alternative versions of \enquote{ragged}-type commands", +author = "Martin Schröder", +date = "1996", +eprinttype = "ctan", +eprint = "ragged2e", +related = "ragged2e-1", +} + +@manual{ragged2e-1, +eprinttype = "gitlab", +eprintclass = "hagenbuch", +eprint = "ragged2e", +} + +@article{url, +title = "The |url| package", +subtitle = "Verbatim with URL-sensitive line breaks", +author = "Donald Arseneau", +date = "1996", +eprinttype = "ctan", +eprint = "url", +} + +@article{jhep, +title = "The |JHEP| package", +collaboration = "SISSA Medialab", +date = "1997", +url = "https://jhep.sissa.it/jhep/help/JHEP_TeXclass.jsp", +} + +@article{jcap, +title = "The |JCAP| package", +collaboration = "SISSA Medialab", +date = "2002", +url = "https://jcap.sissa.it/jcap/help/JCAP_TeXclass.jsp", +} + +@article{bbm-macros, +title = "A package for using the |bbm| fonts in math environment", +author = "Torsten Hilbrich", +date = "1994", +eprinttype = "ctan", +eprint = "bbm-macros", +related = "bbm" +} + +@article{bbm, +title = "|bbm|", +subtitle = "\enquote{Blackboard-style} cm fonts", +author = "Gilles Robert", +date = "1993", +eprinttype = "ctan", +eprint = "bbm", +} + +@article{arxiv, +title = "arXiv", +subtitle = "free distribution service and an open archive for scholarly articles", +url = "https://arxiv.org", +author = "Paul Ginsparg", +collaboration = "arXiv Team", +year = "1991", +organization = "Cornell University", +} + +@article{dsfont, +title = "The |doublestroke| font", +subtitle = "Typeset mathematical double stroke symbols", +author = "Olaf Kummer", +date = "1995", +eprinttype = "ctan", +eprint = "doublestroke", +} + +@article{mleftright, +title = "The |mleftright| package", +subtitle = "Variants of delimiters that act as maths open/close", +author = "Heiko Oberdiek", +date = "2010", +eprinttype = "ctan", +eprint = "mleftright", +} + +@article{urwchancal, +title = "A virtual font for URW Chancery Math", +subtitle = "Use URW's clone of Zapf Chancery as a maths alphabet", +author = "Michael Sharpe", +date = "2011", +eprinttype = "ctan", +eprint = "urwchancal", +} + +@article{footnotebackref, +title = "The |footnotebackref| package", +subtitle = "Back-references from footnotes", +author = "Holger Lange", +date = "2012", +eprinttype = "ctan", +eprint = "footnotebackref", +} + +@article{cancel, +title = "The |cancel| package", +subtitle = "Place lines through maths formulae", +author = "Donald Arseneau", +date = "2013", +eprinttype = "ctan", +eprint = "cancel", +} + +@article{beamer, +title = "The |beamer| class", +subtitle = "A \hologo{LaTeX} class for producing presentations and slides", +author = "Till Tantau and Joseph Wright and Vedran Miletić", +date = "2003", +eprinttype = "ctan", +eprint = "beamer", +related = "beamer-1", +} + +@manual{beamer-1, +eprinttype = "github", +eprintclass = "josephwright", +eprint = "beamer", +} + +@article{exscale, +title = "The |exscale| package", +subtitle = "Implements scaling of the \enquote{cmex} fonts", +author = "Frank Mittelbach and Rainer Schöpf", +date = "1993", +eprinttype = "ctan", +eprint = "exscale", +} + +@article{mathrsfs, +title = "The |mathrsfs| package", +subtitle = "Support for using RSFS fonts in maths", +author = "Jörg Knappen", +date = "1995", +eprinttype = "ctan", +eprint = "mathrsfs", +} + +@article{esint, +title = "The |esint| package", +subtitle = "Extended set of integrals for Computer Modern", +author = "Eddie Saudrais", +date = "2005", +eprinttype = "ctan", +eprint = "esint", +} + +@article{cmbright, +title = "The |cmbright| package", +subtitle = "Using the CM Bright typeface with \hologo{LaTeX}", +author = "Walter A. Schmidt", +date = "1996", +eprinttype = "ctan", +eprint = "cmbright", +} + +@article{titling, +title = "The |titling| package", +subtitle = "Control over the typesetting of the |\textbackslash maketitle| command", +author = "Peter R. Wilson", +date = "2000", +eprinttype = "ctan", +eprint = "titling", +} + +@article{MnSymbol, +title = "The |MnSymbol| package", +subtitle = "Mathematical symbol font for Adobe MinionPro", +author = "Achim Blumensath", +date = "2005", +eprinttype = "ctan", +eprint = "MnSymbol", +} + +@article{environ, +title = "The |environ| package", +subtitle = "A new interface for environments in \hologo{LaTeX}", +author = "Will Robertson", +date = "2007", +eprinttype = "ctan", +eprint = "environ", +} + +@article{abstract, +title = "The |abstract| package", +subtitle = "Control the typesetting of the abstract environment", +author = "Peter R. Wilson", +date = "2000", +eprinttype = "ctan", +eprint = "abstract", +} + +@article{cfr-lm, +title = "The |cfr-lm| package", +subtitle = "Enhanced support for the Latin Modern fonts", +author = "Clea F. Rees", +date = "2008", +eprinttype = "ctan", +eprint = "cfr-lm", +} + +@article{etoolbox, +title = "The |etoolbox| package", +subtitle = "e-\hologo{TeX} tools for \hologo{LaTeX}", +author = "Philipp Lehman and Joseph Wright", +date = "2007", +eprinttype = "ctan", +eprint = "etoolbox", +} + +@article{substitutefont, +title = "The |substitutefont| package", +subtitle = "Easy font substitution", +author = "Günter Milde", +date = "2010", +eprinttype = "ctan", +eprint = "substitutefont", +} + +@article{svjour, +title = "The |svjour| package", +subtitle = "Macros for Springer journals", +collaboration = "Springer Verlag", +date = "1997", +eprinttype = "ctan", +eprint = "springer", +} + +@article{cm, +title = "Computer Modern fonts", +author = "Donald E. Knuth", +date = "1986", +eprinttype = "ctan", +eprint = "cm", +} + +@article{subdepth, +title = "The |subdepth| package", +subtitle = "Unify maths subscript height", +author = "Will Robertson", +date = "2007", +eprinttype = "ctan", +eprint = "subdepth", +} + +@article{xpatch, +title = "The |xpatch| package", +subtitle = "Extending etoolbox patching commands", +author = "Enrico Gregorio", +date = "2012", +eprinttype = "ctan", +eprint = "xpatch", +} + +@article{hfoldsty, +title = "The |hfoldsty| package", +subtitle = "Old style numerals with EC fonts", +author = "Harald Harders", +date = "2004", +eprinttype = "ctan", +eprint = "hfoldsty", +} + +@article{slantsc, +title = "The |slantsc| package", +subtitle = "Access different-shaped small-caps fonts", +author = "Harald Harders", +date = "2003", +eprinttype = "ctan", +eprint = "slantsc", +} + +@article{nfssext-cfr, +title = "The |nfssext-cfr| package", +subtitle = "Extensions to the \hologo{LaTeX} NFSS", +author = "Clea F. Rees and Philipp Lehman", +date = "2003", +eprinttype = "ctan", +eprint = "nfssext-cfr", +} + +@article{xstring, +title = "The |xstring| package", +subtitle = "String manipulation for \hologo{LaTeX}", +author = "Christian Tellechea", +date = "2008", +eprinttype = "ctan", +eprint = "xstring", +} + +@article{gregorio:2020, +title = "\hologo{TeX}, \hologo{LaTeX} and math", +author = "Enrico Gregorio", +date = "2020", +url = "https://latex-project.org/publications/2020-egreg-TUB-tb127gregorio-math.pdf", +} + +@article{soulutf8, +title = "The |soulutf8| package", +subtitle = "Permit use of UTF-8 characters in |soul|", +author = "Heiko Oberdiek", +date = "2007", +eprinttype = "ctan", +eprint = "soulutf8", +} + diff --git a/Master/texmf-dist/doc/latex/hep-math/hep-math-documentation.pdf b/Master/texmf-dist/doc/latex/hep-math/hep-math-documentation.pdf Binary files differnew file mode 100644 index 00000000000..4a3675a488d --- /dev/null +++ b/Master/texmf-dist/doc/latex/hep-math/hep-math-documentation.pdf diff --git a/Master/texmf-dist/doc/latex/hep-math/hep-math-documentation.tex b/Master/texmf-dist/doc/latex/hep-math/hep-math-documentation.tex new file mode 100644 index 00000000000..009c6d1c4aa --- /dev/null +++ b/Master/texmf-dist/doc/latex/hep-math/hep-math-documentation.tex @@ -0,0 +1,358 @@ +%% +%% This is file `hep-math-documentation.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% hep-math-implementation.dtx (with options: `documentation') +%% This is a generated file. +%% Copyright (C) 2019-2020 by Jan Hajer +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in: +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. + +\ProvidesFile{hep-math-documentation.tex}[2021/09/01 v1.0 hep-math documentation] + +\RequirePackage[l2tabu, orthodox]{nag} + +\documentclass{ltxdoc} +\AtBeginDocument{\DeleteShortVerb{\|}} +\AtBeginDocument{\MakeShortVerb{\"}} + +\EnableCrossrefs +\CodelineIndex +\RecordChanges + +\usepackage[parskip]{hep-paper} + +\newenvironment{columns}[1][.5]{% + \par\vspace{-\bigskipamount}% + \begin{minipage}[t]{\linewidth}% + \begin{minipage}[t]{#1\linewidth}% + \def\column{% + \end{minipage}% + \begin{minipage}[t]{\linewidth-#1\linewidth}% + }% +}{\end{minipage}\end{minipage}\par} + +\bibliography{bibliography} + +\usepackage{hologo} + +\MacroIndent=1.5em +\setlength{\fboxsep}{1pt} +\AtBeginEnvironment{macrocode}{\renewcommand{\ttdefault}{clmt}} + +\GetFileInfo{hep-math.sty} + +\title{The \software{hep-math} package\thanks{This document corresponds to \software{hep-math}~\fileversion.}} +\subtitle{Extended math macros} +\author{Jan Hajer \email{jan.hajer@unibas.ch}} +\date{\filedate} + +\begin{document} + +\newgeometry{vscale=.8, vmarginratio=3:4, includeheadfoot, left=11em, marginparwidth=4.6cm, marginparsep=3mm, right=7em} + +\maketitle + +\begin{abstract} +The \software{hep-math} package provides some additional features beyond the \software{mathtools} and \software{amsmath} packages. +\end{abstract} + +To use the package place "\usepackage{hep-math}" in the preamble. + +The \software{mathtools} \cite{mathtools} package is loaded, which in turn loads the \hologo{AmSLaTeX} \software{amsmath} \cite{amsmath} package. +Horizontal spacing in inline equations and page breaks in block equations are marginally adjusted. +\DescribeMacro{\left} +\DescribeMacro{\right} +Spacing around "\left" and "\right" is fixed with the \software{mleftright} package \cite{mleftright}. + +\section{Macros} + +\DescribeMacro{\mathdef} +The "\mathdef"\marg{name}\oarg{arguments}\marg{code} macro \prefix{re}{defines} macros only within math mode without changing the text mode definition. + +\DescribeMacro{\i} +\DescribeMacro{\d} +The imaginary unit "\i" and the differential "\d" are defined using this functionality. + +\DescribeMacro{\overline} +The "\overline" macro is adjusted to \overline{work also outside} of math mode using the \software{soulutf8} \cite{soulutf8} package. + +\DescribeMacro{\oset} +\DescribeMacro{\overleft} +\DescribeMacro{\overright} +\DescribeMacro{\overleftright} +A better looking over left right arrow is defined \ie $\overleftright{\partial}$ using a new "\oset"\marg{over}\marg{math} functionality. + +\DescribeMacro{\diag} +\DescribeMacro{\sgn} +Diagonal matrix "\diag", signum "\sgn", trace "\tr", "\Tr", and "\rank" operators are defined. + +\DescribeMacro{\Re} +\DescribeMacro{\Im} +The real and imaginary projectors are redefined to look like ordinary operators. + +\DescribeMacro{\sin} +\DescribeMacro{\cos} +\DescribeMacro{\tan} +"\cos" and "\tan" are adjusted to have the same height as "\sin". + +\DescribeMacro{\accsc} +"\arccsc" and other inverse trigonometric functions are defined. + +\subsection{Fractions and units} + +\DescribeMacro{\unit} +\DescribeMacro{\inv} +The correct spacing for units is provided by the macro "\unit"\oarg{value}\marg{unit} from the \software{units} package \cite{units} which can also be used in text mode. +The macro "\inv"\oarg{power}\marg{text} allows to avoid math mode also for inverse units such as \unit[5]{\inv{fb}} typeset via "\unit[5]{\inv{fb}}". + +\DescribeMacro{\nicefrac} +\DescribeMacro{\flatfrac} +\DescribeMacro{\textfrac} +The "\frac"\marg{number}\marg{number} macro is accompanied by "\nicefrac"\linebreak[1]\marg{number}\linebreak[1]\marg{number}, "\textfrac"\marg{number}\marg{number}, and "\flatfrac"\marg{number}\marg{number} leading to $\frac12$, $\nicefrac12$, \textfrac12, and $\flatfrac12$. +The "\textfrac" macro is mostly intended if a font with oldstyle numerals is used. + +Some macros of the \software{physics} package \cite{physics} are reimplemented with a more conventional typesetting in mind. +Finer details about mathematical typesetting can be found in \cite{gregorio:2020}. + +\subsection{Differentials and derivatives} + +\DescribeMacro{\differential} +\DescribeMacro{\newderivative} +\DescribeMacro{\newpartialderivative} +The three macros "\differential"\marg{symbol}, "\newderivative""{\name}"\marg{symbol}, and "\newpartialderivative""{\name}"\marg{symbol} allow to define a differential with correct spacing, a derivative using this differential, and if necessary a partial derivative that can handle three dimensional derivatives. + +\DescribeMacro{\d} +\DescribeMacro{\dv} +These macros are used for the usual differential and derivative, producing $\d x$ via "\d x" and +\begin{center} +\begin{tabular}{*4c} +"\dv[f]x" & "\dv*[f]x^n" & "\dv[f]x*^n" & "\dv*[f]x*^n" \\ +$\dv[f]x$ & $\dv*[f]x^n$ & $\dv[f]x*^n$ & $\dv*[f]x*^n$ \\ +"\dv xf" & "\dv*xf" & "\dv x*f" & "\dv*x*f" \\ +$\dv xf$ & $\dv*xf$ & $\dv x*f$ & $\dv*x*f$ +\end{tabular} +\end{center} +via "\dv*"\oarg{f}\marg{x}"*""^"\marg{n}. +Upright differential can be produced via "\renewcommand" "{\diffsymbol}""{\mathrm d}". + +\DescribeMacro{\pd} +\DescribeMacro{\pdv} +Similarly a partial differential and derivative are defined that can be used according to "\pdv*"\oarg{f}\marg{x}"*""^"\marg{a}\oarg{y}"^"\marg{b}\oarg{z}"^"\marg{c}. +\begin{center} +\begin{tabular}{*4c} +"\pdv[f]x" & "\pdv[f]x[y]" & "\pdv[f]x^3" & "\pdv[f]x^2[y]" \\ +$\pdv[f]x$ & $\pdv[f]x[y]$ & $\pdv[f]x^3$ & $\pdv[f]x^2[y]$ \\ +"\pdv[f]x^2[y]^3" & "\pdv[f]x[y]^3" & "\pdv x[y]f"\\ +$\pdv[f]x^2[y]^3$ & $\pdv[f]x[y]^3$ & $\pdv x[y]f$ +\end{tabular} +\end{center} + +\DescribeMacro{\var} +\DescribeMacro{\fdv} +Similarly a functional variation and functional derivative are defined. + +\DescribeMacro{\cancel} +\DescribeMacro{\slashed} +The "\cancel"\marg{characters} macro from the \software{cancel} package \cite{cancel} and the "\slashed" \marg{character} macro from the \software{slashed} package \cite{slashed} allow to $\cancel{\text{cancel}}$ math and use the Dirac slash notation \ie $\slashed \pd$, respectively. + +\subsection{Paired delimiters} + +\DescribeMacro{\abs} +\DescribeMacro{\norm} +\begin{center} +\begin{tabular}{*8r} +"\abs x" & "\norm x" & "\norm[2]x" & "\norm*[2]x" \\ +$\abs x$ & $\norm x$ & $\norm[2]x$ & $\norm*[2]x$ +\end{tabular} +\end{center} + +\DescribeMacro{\eval} +\DescribeMacro{\order} +\begin{center} +\begin{tabular}{*8r} +"\order x" & "\eval x_0^\infty" & "\eval* x_0^\infty" \\ +$\order x$ & $\eval x_0^\infty$ & $\eval* x_0^\infty$ +\end{tabular} +\end{center} + +\DescribeMacro{\newpair} +\DescribeMacro{\comm} +\DescribeMacro{\acomm} +The "\newpair"\marg{name}\marg{left delim} \marg{right delim}"_"\marg{subscript}"^"\marg{superscript} macro is defined and used for the definition of \prefix{anti}{commutators} and Poisson brackets. +\begin{center} +\begin{tabular}{*8r} +"\pb xy" & "\comm xy" & "\acomm xy" \\ +$\pb xy$ & $\comm xy$ & $\acomm xy$ +\end{tabular} +\end{center} +They can easily be redefined using \eg "\newpair\comm\lbrack\rbrack_-". + +\DescribeMacro{\bra} +\DescribeMacro{\ket} +\DescribeMacro{\braket} +\DescribeMacro{\ketbra} +\DescribeMacro{\mel} +\DescribeMacro{\ev} +\DescribeMacro{\vev} +Macros for the bra-ket notation are introduced. +\begin{center} +\begin{tabular}{*4c} +"\bra x" & "\ket x" & "\braket xy" & "\ketbra xy" \\ +$\bra x$ & $\ket x$ & $\braket xy$ & $\ketbra xy$ \\ +"\mel xyz" & "\ev x" & "\ev[\Omega] x" & "\vev x" \\ +$\mel xyz$ & $\ev x$ & $\ev[\Omega] x$ & $\vev x$ +\end{tabular} +\end{center} + +\DescribeMacro{\column} +\DescribeMacro{\row} +\begin{center} +\begin{tabular}{*4c} +"\column{x,y,z}" & "\row{x,y,z}" \\ +$\column{x,y,z}$ & $\row{x,y,z}$ \\ +\end{tabular} +\end{center} + +\section{Environments} + +\DescribeMacro{eqnarray} +The "eqnarray" environment is depreciated, the "split", "multline", "align", "multlined", "aligned", "alignedat", and "cases" environments of the \software{amsmath} and \software{mathtools} packages should be used instead. + +\DescribeMacro{equation} +Use the "equation" environment for short equations. +\begin{columns} +\begin{verbatim} +\begin{equation} + left = right \ . +\end{equation} +\end{verbatim} +\column +\begin{equation} +\framebox[2em]{left\strut} = \framebox[7em]{right\strut} \ . +\end{equation} +\end{columns} + +\DescribeMacro{multline} +Use the "multline" environment for longer equations. +\begin{columns} +\begin{verbatim} +\begin{multline} + left = right 1 \\ + + right 2 \ . +\end{multline} +\end{verbatim} +\column +\begin{multline} +\framebox[2em]{left\strut} = \framebox[7em]{right 1\strut} \\ +\framebox[7em]{+ right 2\strut} \ . +\end{multline} +\end{columns} + +\DescribeMacro{split} +Use the "split" sub environment for equations in which multiple equal signs should be aligned. +\begin{columns} +\begin{verbatim} +\begin{equation} \begin{split} + left &= right 1 \\ + &= right 2 \ . +\end{split} \end{equation} +\end{verbatim} +\column +\begin{equation} +\begin{split} +\framebox[2em]{left\strut} &= \framebox[7em]{right 1\strut} \\ +&= \framebox[7em]{right 2\strut} \ . +\end{split} +\end{equation} +\end{columns} + +\DescribeMacro{align} +Use the "align" environment for the vertical alignment and horizontal distribution of multiple equations. +\begin{columns} +\begin{verbatim} +\begin{subequations} \begin{align} + left &= right \ , & + left &= right \ , \\ + left &= right \ , & + left &= right \ . +\end{align} \end{subequations} +\end{verbatim} +\column +\begin{subequations} +\begin{align} +\framebox[2em]{left\strut} &= \framebox[3em]{right\strut} \ , & +\framebox[2em]{left\strut} &= \framebox[3em]{right\strut} \ , \\ +\framebox[2em]{left\strut} &= \framebox[3em]{right\strut} \ , & +\framebox[2em]{left\strut} &= \framebox[3em]{right\strut} \ . +\end{align} +\end{subequations} +\end{columns} + +\DescribeMacro{aligned} +Use the "aligned" environment within a "equation" environment if the aligned equations should be labeled with a single equation number. + +\DescribeMacro{multlined} +Use the "multlined" environment if either "split" or "align" contain very long lines. +\begin{columns} +\begin{verbatim} +\begin{equation} \begin{split} + left &= right 1 \\ &= + \begin{multlined}[t] + right 2 \\ + right 3 \ . + \end{multlined} +\end{split} \end{equation} +\end{verbatim} +\column +\begin{equation} +\begin{split} +\framebox[2em]{left\strut} &= \framebox[7em]{right 1\strut} \\ &= + \begin{multlined}[t] + \framebox[7em]{right 2\strut} \\ + \framebox[7em]{+ right 3\strut} \ . +\end{multlined} +\end{split} +\end{equation} +\end{columns} + +\DescribeMacro{alignat} +Use the "alignat" environment together with the "\mathllap" macro for the alignment of multiple equations with vastly different lengths. +\begin{columns} +\begin{verbatim} +\begin{subequations} +\begin{alignat}{2} + left &= long right && \ , \\ + le. 2 &= ri. 2 \ , & + \mathllap{le. 3 = ri. 3} & \ . +\end{alignat} +\end{subequations} +\end{verbatim} +\column +\begin{subequations} +\begin{alignat}{2} +\framebox[2em]{left\strut} &= +\framebox[11em]{long right\strut} && \ , \\ +\framebox[2em]{le.\ 2\strut} +&= \framebox[2.5em]{ri.\ 2\strut} \ , & +\mathllap{\framebox[2em]{le.\ 3\strut} += \framebox[2.5em]{ri.\ 3\strut}} & \ . +\end{alignat} +\end{subequations} +\end{columns} + +As a rule of thumb if you have to use "\notag", "\nonumber", or perform manual spacing via "\quad" you are probably using the wrong environment. + +\printbibliography + +\end{document} + +\endinput +%% +%% End of file `hep-math-documentation.tex'. diff --git a/Master/texmf-dist/doc/latex/hep-math/hep-math-implementation.pdf b/Master/texmf-dist/doc/latex/hep-math/hep-math-implementation.pdf Binary files differnew file mode 100644 index 00000000000..5ad2837b74c --- /dev/null +++ b/Master/texmf-dist/doc/latex/hep-math/hep-math-implementation.pdf diff --git a/Master/texmf-dist/doc/latex/hep-math/hep-math-test.tex b/Master/texmf-dist/doc/latex/hep-math/hep-math-test.tex new file mode 100644 index 00000000000..bcdb1db4579 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hep-math/hep-math-test.tex @@ -0,0 +1,39 @@ +%% +%% This is file `hep-math-test.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% hep-math-implementation.dtx (with options: `test') +%% This is a generated file. +%% Copyright (C) 2019-2020 by Jan Hajer +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in: +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. + + +\documentclass{article} + +\usepackage{hep-math} + +\begin{document} + +\begin{gather} + \bra{x}\ket{y} + \braket*{x}{y}\\ + \dv[f]{x}^3 + \pdv[f]{x}[y]^2[z]^3 + \fdv[f]{x}^3[y]\\ + \set{x \suchthat x \in X} +\end{gather} + +\end{document} + + +\endinput +%% +%% End of file `hep-math-test.tex'. diff --git a/Master/texmf-dist/doc/latex/hep-math/license.md b/Master/texmf-dist/doc/latex/hep-math/license.md new file mode 100644 index 00000000000..494f58131f7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hep-math/license.md @@ -0,0 +1,416 @@ +The LaTeX Project Public License +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +LPPL Version 1.3c 2008-05-04 + +Copyright 1999 2002-2008 LaTeX3 Project + Everyone is allowed to distribute verbatim copies of this + license document, but modification of it is not allowed. + + +PREAMBLE +======== + +The LaTeX Project Public License (LPPL) is the primary license under +which the LaTeX kernel and the base LaTeX packages are distributed. + +You may use this license for any work of which you hold the copyright +and which you wish to distribute. This license may be particularly +suitable if your work is TeX-related (such as a LaTeX package), but +it is written in such a way that you can use it even if your work is +unrelated to TeX. + +The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', +below, gives instructions, examples, and recommendations for authors +who are considering distributing their works under this license. + +This license gives conditions under which a work may be distributed +and modified, as well as conditions under which modified versions of +that work may be distributed. + +We, the LaTeX3 Project, believe that the conditions below give you +the freedom to make and distribute modified versions of your work +that conform with whatever technical specifications you wish while +maintaining the availability, integrity, and reliability of +that work. If you do not see how to achieve your goal while +meeting these conditions, then read the document `cfgguide.tex' +and `modguide.tex' in the base LaTeX distribution for suggestions. + + +DEFINITIONS +=========== + +In this license document the following terms are used: + + `Work' + Any work being distributed under this License. + + `Derived Work' + Any work that under any applicable law is derived from the Work. + + `Modification' + Any procedure that produces a Derived Work under any applicable + law -- for example, the production of a file containing an + original file associated with the Work or a significant portion of + such a file, either verbatim or with modifications and/or + translated into another language. + + `Modify' + To apply any procedure that produces a Derived Work under any + applicable law. + + `Distribution' + Making copies of the Work available from one person to another, in + whole or in part. Distribution includes (but is not limited to) + making any electronic components of the Work accessible by + file transfer protocols such as FTP or HTTP or by shared file + systems such as Sun's Network File System (NFS). + + `Compiled Work' + A version of the Work that has been processed into a form where it + is directly usable on a computer system. This processing may + include using installation facilities provided by the Work, + transformations of the Work, copying of components of the Work, or + other activities. Note that modification of any installation + facilities provided by the Work constitutes modification of the Work. + + `Current Maintainer' + A person or persons nominated as such within the Work. If there is + no such explicit nomination then it is the `Copyright Holder' under + any applicable law. + + `Base Interpreter' + A program or process that is normally needed for running or + interpreting a part or the whole of the Work. + + A Base Interpreter may depend on external components but these + are not considered part of the Base Interpreter provided that each + external component clearly identifies itself whenever it is used + interactively. Unless explicitly specified when applying the + license to the Work, the only applicable Base Interpreter is a + `LaTeX-Format' or in the case of files belonging to the + `LaTeX-format' a program implementing the `TeX language'. + + + +CONDITIONS ON DISTRIBUTION AND MODIFICATION +=========================================== + +1. Activities other than distribution and/or modification of the Work +are not covered by this license; they are outside its scope. In +particular, the act of running the Work is not restricted and no +requirements are made concerning any offers of support for the Work. + +2. You may distribute a complete, unmodified copy of the Work as you +received it. Distribution of only part of the Work is considered +modification of the Work, and no right to distribute such a Derived +Work may be assumed under the terms of this clause. + +3. You may distribute a Compiled Work that has been generated from a +complete, unmodified copy of the Work as distributed under Clause 2 +above, as long as that Compiled Work is distributed in such a way that +the recipients may install the Compiled Work on their system exactly +as it would have been installed if they generated a Compiled Work +directly from the Work. + +4. If you are the Current Maintainer of the Work, you may, without +restriction, modify the Work, thus creating a Derived Work. You may +also distribute the Derived Work without restriction, including +Compiled Works generated from the Derived Work. Derived Works +distributed in this manner by the Current Maintainer are considered to +be updated versions of the Work. + +5. If you are not the Current Maintainer of the Work, you may modify +your copy of the Work, thus creating a Derived Work based on the Work, +and compile this Derived Work, thus creating a Compiled Work based on +the Derived Work. + +6. If you are not the Current Maintainer of the Work, you may +distribute a Derived Work provided the following conditions are met +for every component of the Work unless that component clearly states +in the copyright notice that it is exempt from that condition. Only +the Current Maintainer is allowed to add such statements of exemption +to a component of the Work. + + a. If a component of this Derived Work can be a direct replacement + for a component of the Work when that component is used with the + Base Interpreter, then, wherever this component of the Work + identifies itself to the user when used interactively with that + Base Interpreter, the replacement component of this Derived Work + clearly and unambiguously identifies itself as a modified version + of this component to the user when used interactively with that + Base Interpreter. + + b. Every component of the Derived Work contains prominent notices + detailing the nature of the changes to that component, or a + prominent reference to another file that is distributed as part + of the Derived Work and that contains a complete and accurate log + of the changes. + + c. No information in the Derived Work implies that any persons, + including (but not limited to) the authors of the original version + of the Work, provide any support, including (but not limited to) + the reporting and handling of errors, to recipients of the + Derived Work unless those persons have stated explicitly that + they do provide such support for the Derived Work. + + d. You distribute at least one of the following with the Derived Work: + + 1. A complete, unmodified copy of the Work; + if your distribution of a modified component is made by + offering access to copy the modified component from a + designated place, then offering equivalent access to copy + the Work from the same or some similar place meets this + condition, even though third parties are not compelled to + copy the Work along with the modified component; + + 2. Information that is sufficient to obtain a complete, + unmodified copy of the Work. + +7. If you are not the Current Maintainer of the Work, you may +distribute a Compiled Work generated from a Derived Work, as long as +the Derived Work is distributed to all recipients of the Compiled +Work, and as long as the conditions of Clause 6, above, are met with +regard to the Derived Work. + +8. The conditions above are not intended to prohibit, and hence do not +apply to, the modification, by any method, of any component so that it +becomes identical to an updated version of that component of the Work as +it is distributed by the Current Maintainer under Clause 4, above. + +9. Distribution of the Work or any Derived Work in an alternative +format, where the Work or that Derived Work (in whole or in part) is +then produced by applying some process to that format, does not relax or +nullify any sections of this license as they pertain to the results of +applying that process. + +10. a. A Derived Work may be distributed under a different license + provided that license itself honors the conditions listed in + Clause 6 above, in regard to the Work, though it does not have + to honor the rest of the conditions in this license. + + b. If a Derived Work is distributed under a different license, that + Derived Work must provide sufficient documentation as part of + itself to allow each recipient of that Derived Work to honor the + restrictions in Clause 6 above, concerning changes from the Work. + +11. This license places no restrictions on works that are unrelated to +the Work, nor does this license place any restrictions on aggregating +such works with the Work by any means. + +12. Nothing in this license is intended to, or may be used to, prevent +complete compliance by all parties with all applicable laws. + + +NO WARRANTY +=========== + +There is no warranty for the Work. Except when otherwise stated in +writing, the Copyright Holder provides the Work `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 Work is with you. Should the Work prove defective, you assume +the cost of all necessary servicing, repair, or correction. + +In no event unless required by applicable law or agreed to in writing +will The Copyright Holder, or any author named in the components of the +Work, or any other party who may distribute and/or modify the Work as +permitted above, be liable to you for damages, including any general, +special, incidental or consequential damages arising out of any use of +the Work or out of inability to use the Work (including, but not limited +to, loss of data, data being rendered inaccurate, or losses sustained by +anyone as a result of any failure of the Work to operate with any other +programs), even if the Copyright Holder or said author or said other +party has been advised of the possibility of such damages. + + +MAINTENANCE OF THE WORK +======================= + +The Work has the status `author-maintained' if the Copyright Holder +explicitly and prominently states near the primary copyright notice in +the Work that the Work can only be maintained by the Copyright Holder +or simply that it is `author-maintained'. + +The Work has the status `maintained' if there is a Current Maintainer +who has indicated in the Work that they are willing to receive error +reports for the Work (for example, by supplying a valid e-mail +address). It is not required for the Current Maintainer to acknowledge +or act upon these error reports. + +The Work changes from status `maintained' to `unmaintained' if there +is no Current Maintainer, or the person stated to be Current +Maintainer of the work cannot be reached through the indicated means +of communication for a period of six months, and there are no other +significant signs of active maintenance. + +You can become the Current Maintainer of the Work by agreement with +any existing Current Maintainer to take over this role. + +If the Work is unmaintained, you can become the Current Maintainer of +the Work through the following steps: + + 1. Make a reasonable attempt to trace the Current Maintainer (and + the Copyright Holder, if the two differ) through the means of + an Internet or similar search. + + 2. If this search is successful, then enquire whether the Work + is still maintained. + + a. If it is being maintained, then ask the Current Maintainer + to update their communication data within one month. + + b. If the search is unsuccessful or no action to resume active + maintenance is taken by the Current Maintainer, then announce + within the pertinent community your intention to take over + maintenance. (If the Work is a LaTeX work, this could be + done, for example, by posting to comp.text.tex.) + + 3a. If the Current Maintainer is reachable and agrees to pass + maintenance of the Work to you, then this takes effect + immediately upon announcement. + + b. If the Current Maintainer is not reachable and the Copyright + Holder agrees that maintenance of the Work be passed to you, + then this takes effect immediately upon announcement. + + 4. If you make an `intention announcement' as described in 2b. above + and after three months your intention is challenged neither by + the Current Maintainer nor by the Copyright Holder nor by other + people, then you may arrange for the Work to be changed so as + to name you as the (new) Current Maintainer. + + 5. If the previously unreachable Current Maintainer becomes + reachable once more within three months of a change completed + under the terms of 3b) or 4), then that Current Maintainer must + become or remain the Current Maintainer upon request provided + they then update their communication data within one month. + +A change in the Current Maintainer does not, of itself, alter the fact +that the Work is distributed under the LPPL license. + +If you become the Current Maintainer of the Work, you should +immediately provide, within the Work, a prominent and unambiguous +statement of your status as Current Maintainer. You should also +announce your new status to the same pertinent community as +in 2b) above. + + +WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE +====================================================== + +This section contains important instructions, examples, and +recommendations for authors who are considering distributing their +works under this license. These authors are addressed as `you' in +this section. + +Choosing This License or Another License +---------------------------------------- + +If for any part of your work you want or need to use *distribution* +conditions that differ significantly from those in this license, then +do not refer to this license anywhere in your work but, instead, +distribute your work under a different license. You may use the text +of this license as a model for your own license, but your license +should not refer to the LPPL or otherwise give the impression that +your work is distributed under the LPPL. + +The document `modguide.tex' in the base LaTeX distribution explains +the motivation behind the conditions of this license. It explains, +for example, why distributing LaTeX under the GNU General Public +License (GPL) was considered inappropriate. Even if your work is +unrelated to LaTeX, the discussion in `modguide.tex' may still be +relevant, and authors intending to distribute their works under any +license are encouraged to read it. + +A Recommendation on Modification Without Distribution +----------------------------------------------------- + +It is wise never to modify a component of the Work, even for your own +personal use, without also meeting the above conditions for +distributing the modified component. While you might intend that such +modifications will never be distributed, often this will happen by +accident -- you may forget that you have modified that component; or +it may not occur to you when allowing others to access the modified +version that you are thus distributing it and violating the conditions +of this license in ways that could have legal implications and, worse, +cause problems for the community. It is therefore usually in your +best interest to keep your copy of the Work identical with the public +one. Many works provide ways to control the behavior of that work +without altering any of its licensed components. + +How to Use This License +----------------------- + +To use this license, place in each of the components of your work both +an explicit copyright notice including your name and the year the work +was authored and/or last substantially modified. Include also a +statement that the distribution and/or modification of that +component is constrained by the conditions in this license. + +Here is an example of such a notice and statement: + + %% pig.dtx + %% Copyright 2005 M. Y. Name + % + % This work may be distributed and/or modified under the + % conditions of the LaTeX Project Public License, either version 1.3 + % of this license or (at your option) any later version. + % The latest version of this license is in + % http://www.latex-project.org/lppl.txt + % and version 1.3 or later is part of all distributions of LaTeX + % version 2005/12/01 or later. + % + % This work has the LPPL maintenance status `maintained'. + % + % The Current Maintainer of this work is M. Y. Name. + % + % This work consists of the files pig.dtx and pig.ins + % and the derived file pig.sty. + +Given such a notice and statement in a file, the conditions +given in this license document would apply, with the `Work' referring +to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being +generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' +referring to any `LaTeX-Format', and both `Copyright Holder' and +`Current Maintainer' referring to the person `M. Y. Name'. + +If you do not want the Maintenance section of LPPL to apply to your +Work, change `maintained' above into `author-maintained'. +However, we recommend that you use `maintained', as the Maintenance +section was added in order to ensure that your Work remains useful to +the community even when you can no longer maintain and support it +yourself. + +Derived Works That Are Not Replacements +--------------------------------------- + +Several clauses of the LPPL specify means to provide reliability and +stability for the user community. They therefore concern themselves +with the case that a Derived Work is intended to be used as a +(compatible or incompatible) replacement of the original Work. If +this is not the case (e.g., if a few lines of code are reused for a +completely different task), then clauses 6b and 6d shall not apply. + + +Important Recommendations +------------------------- + + Defining What Constitutes the Work + + The LPPL requires that distributions of the Work contain all the + files of the Work. It is therefore important that you provide a + way for the licensee to determine which files constitute the Work. + This could, for example, be achieved by explicitly listing all the + files of the Work near the copyright notice of each file or by + using a line such as: + + % This work consists of all files listed in manifest.txt. + + in that place. In the absence of an unequivocal list it might be + impossible for the licensee to determine what is considered by you + to comprise the Work and, in such a case, the licensee would be + entitled to make reasonable conjectures as to which files comprise + the Work. + diff --git a/Master/texmf-dist/source/latex/hep-math/hep-math-implementation.dtx b/Master/texmf-dist/source/latex/hep-math/hep-math-implementation.dtx new file mode 100644 index 00000000000..1d13d8196e0 --- /dev/null +++ b/Master/texmf-dist/source/latex/hep-math/hep-math-implementation.dtx @@ -0,0 +1,1134 @@ +% \iffalse meta-comment +% +% Copyright (C) 2019 by Jan Hajer +% ----------------------------------- +% +% This file may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3c +% of this license or (at your option) any later version. +% The latest version of this license is in: +% +% http://www.latex-project.org/lppl.txt +% +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% \fi +% +% \iffalse + +%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01] +%<package>\ProvidesPackage{hep-math}[2021/09/01 v1.0 Math and physics macros] +%<documentation>\ProvidesFile{hep-math-documentation.tex}[2021/09/01 v1.0 hep-math documentation] +% +%<*documentation> + +\RequirePackage[l2tabu, orthodox]{nag} + +\documentclass{ltxdoc} +\AtBeginDocument{\DeleteShortVerb{\|}} +\AtBeginDocument{\MakeShortVerb{\"}} + +\EnableCrossrefs +\CodelineIndex +\RecordChanges + +\usepackage[parskip]{hep-paper} + +\newenvironment{columns}[1][.5]{% + \par\vspace{-\bigskipamount}% + \begin{minipage}[t]{\linewidth}% + \begin{minipage}[t]{#1\linewidth}% + \def\column{% + \end{minipage}% + \begin{minipage}[t]{\linewidth-#1\linewidth}% + }% +}{\end{minipage}\end{minipage}\par} + +\bibliography{bibliography} + +\usepackage{hologo} + +\MacroIndent=1.5em +\setlength{\fboxsep}{1pt} +\AtBeginEnvironment{macrocode}{\renewcommand{\ttdefault}{clmt}} +%</documentation> + +%<*driver> +\expandafter\newif\csname ifshort\endcsname +\shortfalse +\begin{document} +\DocInput{hep-math-implementation.dtx} +\end{document} +%</driver> +% +% \fi +% +% \CheckSum{610} +% +% \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 \~} +% +% \changes{v1.0}{2021/09/01}{Initial version of the style file.} +% +% \ifshort +%<*documentation> +% \fi +% +\GetFileInfo{hep-math.sty} + +\title{The \software{hep-math} package\thanks{This document corresponds to \software{hep-math}~\fileversion.}} +\subtitle{Extended math macros} +\author{Jan Hajer \email{jan.hajer@unibas.ch}} +\date{\filedate} + +% \ifshort +\begin{document} +% \fi + +\newgeometry{vscale=.8, vmarginratio=3:4, includeheadfoot, left=11em, marginparwidth=4.6cm, marginparsep=3mm, right=7em} + +\maketitle + +\begin{abstract} +The \software{hep-math} package provides some additional features beyond the \software{mathtools} and \software{amsmath} packages. +\end{abstract} + +To use the package place "\usepackage{hep-math}" in the preamble. + +The \software{mathtools} \cite{mathtools} package is loaded, which in turn loads the \hologo{AmSLaTeX} \software{amsmath} \cite{amsmath} package. +Horizontal spacing in inline equations and page breaks in block equations are marginally adjusted. +\DescribeMacro{\left} +\DescribeMacro{\right} +Spacing around "\left" and "\right" is fixed with the \software{mleftright} package \cite{mleftright}. + +\section{Macros} + +\DescribeMacro{\mathdef} +The "\mathdef"\marg{name}\oarg{arguments}\marg{code} macro \prefix{re}{defines} macros only within math mode without changing the text mode definition. + +\DescribeMacro{\i} +\DescribeMacro{\d} +The imaginary unit "\i" and the differential "\d" are defined using this functionality. + +\DescribeMacro{\overline} +The "\overline" macro is adjusted to \overline{work also outside} of math mode using the \software{soulutf8} \cite{soulutf8} package. + +\DescribeMacro{\oset} +\DescribeMacro{\overleft} +\DescribeMacro{\overright} +\DescribeMacro{\overleftright} +A better looking over left right arrow is defined \ie $\overleftright{\partial}$ using a new "\oset"\marg{over}\marg{math} functionality. + +\DescribeMacro{\diag} +\DescribeMacro{\sgn} +Diagonal matrix "\diag", signum "\sgn", trace "\tr", "\Tr", and "\rank" operators are defined. + +\DescribeMacro{\Re} +\DescribeMacro{\Im} +The real and imaginary projectors are redefined to look like ordinary operators. + +\DescribeMacro{\sin} +\DescribeMacro{\cos} +\DescribeMacro{\tan} +"\cos" and "\tan" are adjusted to have the same height as "\sin". + +\DescribeMacro{\accsc} +"\arccsc" and other inverse trigonometric functions are defined. + +\subsection{Fractions and units} + +\DescribeMacro{\unit} +\DescribeMacro{\inv} +The correct spacing for units is provided by the macro "\unit"\oarg{value}\marg{unit} from the \software{units} package \cite{units} which can also be used in text mode. +The macro "\inv"\oarg{power}\marg{text} allows to avoid math mode also for inverse units such as \unit[5]{\inv{fb}} typeset via "\unit[5]{\inv{fb}}". + +\DescribeMacro{\nicefrac} +\DescribeMacro{\flatfrac} +\DescribeMacro{\textfrac} +The "\frac"\marg{number}\marg{number} macro is accompanied by "\nicefrac"\linebreak[1]\marg{number}\linebreak[1]\marg{number}, "\textfrac"\marg{number}\marg{number}, and "\flatfrac"\marg{number}\marg{number} leading to $\frac12$, $\nicefrac12$, \textfrac12, and $\flatfrac12$. +The "\textfrac" macro is mostly intended if a font with oldstyle numerals is used. + +Some macros of the \software{physics} package \cite{physics} are reimplemented with a more conventional typesetting in mind. +Finer details about mathematical typesetting can be found in \cite{gregorio:2020}. + +\subsection{Differentials and derivatives} + +\DescribeMacro{\differential} +\DescribeMacro{\newderivative} +\DescribeMacro{\newpartialderivative} +The three macros "\differential"\marg{symbol}, "\newderivative""{\name}"\marg{symbol}, and "\newpartialderivative""{\name}"\marg{symbol} allow to define a differential with correct spacing, a derivative using this differential, and if necessary a partial derivative that can handle three dimensional derivatives. + +\DescribeMacro{\d} +\DescribeMacro{\dv} +These macros are used for the usual differential and derivative, producing $\d x$ via "\d x" and +\begin{center} +\begin{tabular}{*4c} +"\dv[f]x" & "\dv*[f]x^n" & "\dv[f]x*^n" & "\dv*[f]x*^n" \\ +$\dv[f]x$ & $\dv*[f]x^n$ & $\dv[f]x*^n$ & $\dv*[f]x*^n$ \\ +"\dv xf" & "\dv*xf" & "\dv x*f" & "\dv*x*f" \\ +$\dv xf$ & $\dv*xf$ & $\dv x*f$ & $\dv*x*f$ +\end{tabular} +\end{center} +via "\dv*"\oarg{f}\marg{x}"*""^"\marg{n}. +Upright differential can be produced via "\renewcommand" "{\diffsymbol}""{\mathrm d}". + +\DescribeMacro{\pd} +\DescribeMacro{\pdv} +Similarly a partial differential and derivative are defined that can be used according to "\pdv*"\oarg{f}\marg{x}"*""^"\marg{a}\oarg{y}"^"\marg{b}\oarg{z}"^"\marg{c}. +\begin{center} +\begin{tabular}{*4c} +"\pdv[f]x" & "\pdv[f]x[y]" & "\pdv[f]x^3" & "\pdv[f]x^2[y]" \\ +$\pdv[f]x$ & $\pdv[f]x[y]$ & $\pdv[f]x^3$ & $\pdv[f]x^2[y]$ \\ +"\pdv[f]x^2[y]^3" & "\pdv[f]x[y]^3" & "\pdv x[y]f"\\ +$\pdv[f]x^2[y]^3$ & $\pdv[f]x[y]^3$ & $\pdv x[y]f$ +\end{tabular} +\end{center} + +\DescribeMacro{\var} +\DescribeMacro{\fdv} +Similarly a functional variation and functional derivative are defined. + +\DescribeMacro{\cancel} +\DescribeMacro{\slashed} +The "\cancel"\marg{characters} macro from the \software{cancel} package \cite{cancel} and the "\slashed" \marg{character} macro from the \software{slashed} package \cite{slashed} allow to $\cancel{\text{cancel}}$ math and use the Dirac slash notation \ie $\slashed \pd$, respectively. + +\subsection{Paired delimiters} + +\DescribeMacro{\abs} +\DescribeMacro{\norm} +\begin{center} +\begin{tabular}{*8r} +"\abs x" & "\norm x" & "\norm[2]x" & "\norm*[2]x" \\ +$\abs x$ & $\norm x$ & $\norm[2]x$ & $\norm*[2]x$ +\end{tabular} +\end{center} + +\DescribeMacro{\eval} +\DescribeMacro{\order} +\begin{center} +\begin{tabular}{*8r} +"\order x" & "\eval x_0^\infty" & "\eval* x_0^\infty" \\ +$\order x$ & $\eval x_0^\infty$ & $\eval* x_0^\infty$ +\end{tabular} +\end{center} + +\DescribeMacro{\newpair} +\DescribeMacro{\comm} +\DescribeMacro{\acomm} +The "\newpair"\marg{name}\marg{left delim} \marg{right delim}"_"\marg{subscript}"^"\marg{superscript} macro is defined and used for the definition of \prefix{anti}{commutators} and Poisson brackets. +\begin{center} +\begin{tabular}{*8r} +"\pb xy" & "\comm xy" & "\acomm xy" \\ +$\pb xy$ & $\comm xy$ & $\acomm xy$ +\end{tabular} +\end{center} +They can easily be redefined using \eg "\newpair\comm\lbrack\rbrack_-". + +\DescribeMacro{\bra} +\DescribeMacro{\ket} +\DescribeMacro{\braket} +\DescribeMacro{\ketbra} +\DescribeMacro{\mel} +\DescribeMacro{\ev} +\DescribeMacro{\vev} +Macros for the bra-ket notation are introduced. +\begin{center} +\begin{tabular}{*4c} +"\bra x" & "\ket x" & "\braket xy" & "\ketbra xy" \\ +$\bra x$ & $\ket x$ & $\braket xy$ & $\ketbra xy$ \\ +"\mel xyz" & "\ev x" & "\ev[\Omega] x" & "\vev x" \\ +$\mel xyz$ & $\ev x$ & $\ev[\Omega] x$ & $\vev x$ +\end{tabular} +\end{center} + +\DescribeMacro{\column} +\DescribeMacro{\row} +\begin{center} +\begin{tabular}{*4c} +"\column{x,y,z}" & "\row{x,y,z}" \\ +$\column{x,y,z}$ & $\row{x,y,z}$ \\ +\end{tabular} +\end{center} + +\section{Environments} + +\DescribeMacro{eqnarray} +The "eqnarray" environment is depreciated, the "split", "multline", "align", "multlined", "aligned", "alignedat", and "cases" environments of the \software{amsmath} and \software{mathtools} packages should be used instead. + +\DescribeMacro{equation} +Use the "equation" environment for short equations. +\begin{columns} +\begin{verbatim} +\begin{equation} + left = right \ . +\end{equation} +\end{verbatim} +\column +\begin{equation} +\framebox[2em]{left\strut} = \framebox[7em]{right\strut} \ . +\end{equation} +\end{columns} + +\DescribeMacro{multline} +Use the "multline" environment for longer equations. +\begin{columns} +\begin{verbatim} +\begin{multline} + left = right 1 \\ + + right 2 \ . +\end{multline} +\end{verbatim} +\column +\begin{multline} +\framebox[2em]{left\strut} = \framebox[7em]{right 1\strut} \\ +\framebox[7em]{+ right 2\strut} \ . +\end{multline} +\end{columns} + +\DescribeMacro{split} +Use the "split" sub environment for equations in which multiple equal signs should be aligned. +\begin{columns} +\begin{verbatim} +\begin{equation} \begin{split} + left &= right 1 \\ + &= right 2 \ . +\end{split} \end{equation} +\end{verbatim} +\column +\begin{equation} +\begin{split} +\framebox[2em]{left\strut} &= \framebox[7em]{right 1\strut} \\ +&= \framebox[7em]{right 2\strut} \ . +\end{split} +\end{equation} +\end{columns} + +\DescribeMacro{align} +Use the "align" environment for the vertical alignment and horizontal distribution of multiple equations. +\begin{columns} +\begin{verbatim} +\begin{subequations} \begin{align} + left &= right \ , & + left &= right \ , \\ + left &= right \ , & + left &= right \ . +\end{align} \end{subequations} +\end{verbatim} +\column +\begin{subequations} +\begin{align} +\framebox[2em]{left\strut} &= \framebox[3em]{right\strut} \ , & +\framebox[2em]{left\strut} &= \framebox[3em]{right\strut} \ , \\ +\framebox[2em]{left\strut} &= \framebox[3em]{right\strut} \ , & +\framebox[2em]{left\strut} &= \framebox[3em]{right\strut} \ . +\end{align} +\end{subequations} +\end{columns} + +\DescribeMacro{aligned} +Use the "aligned" environment within a "equation" environment if the aligned equations should be labeled with a single equation number. + +\DescribeMacro{multlined} +Use the "multlined" environment if either "split" or "align" contain very long lines. +\begin{columns} +\begin{verbatim} +\begin{equation} \begin{split} + left &= right 1 \\ &= + \begin{multlined}[t] + right 2 \\ + right 3 \ . + \end{multlined} +\end{split} \end{equation} +\end{verbatim} +\column +\begin{equation} +\begin{split} +\framebox[2em]{left\strut} &= \framebox[7em]{right 1\strut} \\ &= + \begin{multlined}[t] + \framebox[7em]{right 2\strut} \\ + \framebox[7em]{+ right 3\strut} \ . +\end{multlined} +\end{split} +\end{equation} +\end{columns} + +\DescribeMacro{alignat} +Use the "alignat" environment together with the "\mathllap" macro for the alignment of multiple equations with vastly different lengths. +\begin{columns} +\begin{verbatim} +\begin{subequations} +\begin{alignat}{2} + left &= long right && \ , \\ + le. 2 &= ri. 2 \ , & + \mathllap{le. 3 = ri. 3} & \ . +\end{alignat} +\end{subequations} +\end{verbatim} +\column +\begin{subequations} +\begin{alignat}{2} +\framebox[2em]{left\strut} &= +\framebox[11em]{long right\strut} && \ , \\ +\framebox[2em]{le.\ 2\strut} +&= \framebox[2.5em]{ri.\ 2\strut} \ , & +\mathllap{\framebox[2em]{le.\ 3\strut} += \framebox[2.5em]{ri.\ 3\strut}} & \ . +\end{alignat} +\end{subequations} +\end{columns} + +As a rule of thumb if you have to use "\notag", "\nonumber", or perform manual spacing via "\quad" you are probably using the wrong environment. + +% \ifshort +\printbibliography + +\end{document} +% +%</documentation> +% \fi +% +% \StopEventually{ +% \printbibliography +% \PrintChanges +% } +% +% \appendix +% +% \section{Implementation} +% +%<*package> +% +% Load the \software{mathtools} package \cite{mathtools} which loads the \software{amsmath} package \cite{amsmath}. +% Allow page breaks within equations if necessary. +% Adjust the thick and med mu skips slightly. +% \begin{macrocode} +\RequirePackage{mathtools} +\allowdisplaybreaks[1] +\thickmuskip=5mu plus 3mu minus 1mu +\medmuskip=4mu plus 2mu minus 3mu +% \end{macrocode} +% +% \begin{macro}{\mathdef} +% Define the "\mathdef"\marg{name}\oarg{arguments}\marg{macro} macro which \prefix{re}{defines} macros in math mode only. +% This macro is implemented using the \software{xparse} package \cite{xparse}. +% \begin{macrocode} +\RequirePackage{xparse} +\DeclareDocumentCommand{\mathdef}{mO{0}m}{% + \expandafter\let\csname hep@text\string#1\endcsname=#1 + \expandafter\newcommand\csname hep@math\string#1\endcsname[#2]{#3} + \DeclareRobustCommand#1{% + \ifmmode + \expandafter\let\expandafter\next\csname% + hep@math\string#1\endcsname% + \else + \expandafter\let\expandafter\next\csname% + hep@text\string#1\endcsname% + \fi + \next + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\i} +% Provide an upright imaginary unit in math mode. +% \begin{macrocode} +\AtBeginDocument{\mathdef{\i}{\operatorname{i}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\overline} +% Redefine "\overline" to be a text macro using the \software{soulutf8} package \cite{soulutf8}. +% Extend it as a math macro with the original definition from the \software{amsmath} package \cite{amsmath}. +% \begin{macrocode} +\RequirePackage{soulutf8} +% \def\overline#1{{\renewcommand{\ULdepth}{-1.9ex}{}\uline{#1}}} +\newcommand\textoverline[1]{{\setul{-1.9ex}{}\ul{#1}}} +\let\overline\textoverline +\DeclareRobustCommand{\over@line}[1]{\@@overline{#1}} +\mathdef{\overline}{\over@line} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\oset} +% Define a new overset macro "\oset"\oarg{offset}\marg{over}\marg{base} +% \begin{macrocode} +\newcommand{\oset}[3][-1pt]{% + \text{\raisebox{.2ex}{$\mathop{#3}\limits^{% + \vbox to#1{\kern-2\ex@\hbox{$\scriptscriptstyle#2$}\vss}% + }$}}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\overleftright} +% Define a over left right arrow "\overleftright"\marg{base}. +% \begin{macrocode} +\newcommand{\overleft}[1]{\oset{\leftarrow}{#1}} +\newcommand{\overright}[1]{\oset{\rightarrow}{#1}} +\newcommand{\overleftright}[1]{\oset{\leftrightarrow}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{eqnarray} +% Undefine the "eqnarray" environment if not prevented by package option. +% \begin{macrocode} +% \newif\ifhep@eqnarray\hep@eqnarraytrue +% \ifhep@eqnarray\else +% \let\eqnarray\@undefined +% \let\endeqnarray\@undefined +% \fi +% \end{macrocode} +% \end{macro} +% +% \subsection{Operators} +% +% \begin{macro}{\tr} +% \begin{macro}{\Tr} +% \begin{macro}{\rank} +% \begin{macro}{\erf} +% \begin{macro}{\Res} +% \begin{macro}{\sgn} +% \begin{macro}{\sgn} +% \begin{macro}{\diag} +% Provide the "\diag", "\sgn", and some other operators. +% \begin{macrocode} +\DeclareMathOperator{\tr}{tr} +\DeclareMathOperator{\Tr}{Tr} +\DeclareMathOperator{\rank}{rank} +\DeclareMathOperator{\erf}{erf} +\DeclareMathOperator{\Res}{Res} +\DeclareMathOperator{\sgn}{sgn} +\DeclareMathOperator{\diag}{diag} +\let\det\relax\DeclareMathOperator{\det}{det} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} + +% \begin{macro}{\Re} +% \begin{macro}{\Im} +% Redefine the real and imaginary projectors. +% \begin{macrocode} +\let\Re\relax\DeclareMathOperator{\Re}{Re} +\let\Im\relax\DeclareMathOperator{\Im}{Im} +% \end{macrocode} +% \end{macro} +% \end{macro} + +% \begin{macro}{\transpose} +% \begin{macro}{\trans} +% Define a transpose symbol. +% \begin{macrocode} +\newcommand*{\hep@transpose}[2]{\raisebox{\depth}{$\m@th#1\intercal$}} +\newcommand*{\transpose}{{\mathpalette\hep@transpose{}}} +\let\trans\transpose +% \end{macrocode} +% \end{macro} +% \end{macro} + + + +% \subsubsection{Trigonometric functions} +% +% \begin{macro}{\cos} +% \begin{macro}{\tan} +% Adjust the height of of cos and tan to be equal to sin. +% \begin{macrocode} +\let\cos\undefined\DeclareMathOperator{\cos}{cos\vphantom{i}} +\let\tan\undefined\DeclareMathOperator{\tan}{tan\vphantom{i}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\arccsc} +% \begin{macro}{\arcsec} +% \begin{macro}{\arccot} +% Define arc operators. +% \begin{macrocode} +\DeclareMathOperator{\arccsc}{arccsc} +\DeclareMathOperator{\arcsec}{arcsec} +\DeclareMathOperator{\arccot}{arccot} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{\asin} +% \begin{macro}{\acos} +% \begin{macro}{\atan} +% \begin{macro}{\acsc} +% \begin{macro}{\asec} +% \begin{macro}{\acot} +% Define shorthand for arc operators. +% \begin{macrocode} +\DeclareMathOperator{\asin}{asin} +\DeclareMathOperator{\acos}{acos} +\DeclareMathOperator{\atan}{atan} +\DeclareMathOperator{\acsc}{acsc} +\DeclareMathOperator{\asec}{asec} +\DeclareMathOperator{\acot}{acot} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{\csch} +% \begin{macro}{\sech} +% Define csch and sech operators. +% \begin{macrocode} +\DeclareMathOperator{\csch}{csch} +\DeclareMathOperator{\sech}{sech} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsection{Units and fractions} +% +% \begin{macro}{\unit} +% Load the \software{units} package \cite{units} which provides the "\units" and "\nicefrac" macros. +% \begin{macrocode} +\RequirePackage{units} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\inv} +% Provide a macro for the inverse, useful in combination with the unit macro in text mode. +% \begin{macrocode} +\newcommand{\inv}[2][1]{#2\ensuremath{^{-#1}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textfrac} +% Provide the "\textfrac" macro useful in combination with a font using lining numerals. +% \begin{macrocode} +\newcommand{\textfrac}[2]{\ensuremath{\nicefrac{\text{#1}}{\text{#2}}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\flatfrac} +% Provide a flat fraction. +% \begin{macrocode} +\DeclarePairedDelimiterX{\hep@flatfrac}[2]{.}{.}{% + #1\delimsize/\hep@left@delim#2% +} +\NewDocumentCommand{\flatfrac}{somm}{% + \IfBooleanTF{#1}{% + \hep@flatfrac*{#3}{#4}% + }{% + \IfNoValueTF{#2}{\,\hep@left@delim#3/\hep@left@delim#4\,% + }{% + \hep@flatfrac[#2]{#3}{#4}% + }% + }% +} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Differentials and derivatives} +% +% \begin{macro}{\differential} +% Define a generic differential "\differential". +% \begin{macrocode} +\newcommand{\differential}[1]{\mathop{}\!#1} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\newderivative} +% Define a generic derivative. +% \begin{macrocode} +\newcommand\newderivative[2]{ + \NewDocumentCommand{#1}{somse{^}}{% + \IfBooleanTF{##4}{% + \IfBooleanTF{##1}{\nicefrac}{\frac}% + }{% + \IfBooleanTF{##1}{\flatfrac}{\dfrac}% + }{% + \differential#2\IfValueT{##5}{^{##5\!}}\IfValueT{##2}{##2}% + }{% + \differential#2{##3}\IfValueT{##5}{^{##5}}% + }% + } +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\newpartialderivative} +% Define a generic partial derivative +% \begin{macrocode} +\newcommand\newpartialderivative[2]{ + \NewDocumentCommand{#1}{somsE{^}{1}oE{^}{1}oE{^}{1}}{% + \def\hep@one{\IfValueTF{##6}{##7}{0}} + \def\hep@two{\IfValueTF{##8}{##9}{0}} + \def\hep@sum{\the\numexpr##5+\hep@one+\hep@two\relax} + \IfBooleanTF{##4}{% + \IfBooleanTF{##1}{\nicefrac}{\frac}% + }{% + \IfBooleanTF{##1}{\flatfrac}{\dfrac}% + }{% + \differential#2\ifnum\hep@sum=1\relax\else{^{\hep@sum\!}}\fi + \IfValueT{##2}{##2}% + }{% + \differential#2{##3}\ifnum##5=1\relax\else{^{##5}}\fi% + \IfValueT{##6}{#2##6\ifnum##7=1\relax\else{^{##7}}\fi}% + \IfValueT{##8}{#2##8\ifnum##9=1\relax\else{^{##9}}\fi}% + }% + } +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\diffsymbol} +% \begin{macro}{\diff} +% \begin{macro}{\d} +% \begin{macro}{\derivative} +% \begin{macro}{\dv} +% Define the differential "\d" and the usual derivative. +% \begin{macrocode} +\providecommand{\diffsymbol}{d} +\newcommand{\diff}{\differential\diffsymbol} +\AtBeginDocument{\mathdef{\d}{\diff}} +\newderivative{\derivative}{\diffsymbol} +\newcommand\dv{\derivative} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\partialdifferential} +% \begin{macro}{\pd} +% \begin{macro}{\partialderivative} +% \begin{macro}{\pdv} +% Define the partial differential and derivative. +% \begin{macrocode} +\newcommand\partialdifferential{\differential\partial} +\newcommand\pd{\partialdifferential} +\newpartialderivative{\partialderivative}{\partial} +\newcommand\pdv{\partialderivative} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\gaugediffsymbol} +% \begin{macro}{\gaugediff} +% \begin{macro}{\D} +% Define the gauge covariant differential "\D". +% \begin{macrocode} +\providecommand{\gaugediffsymbol}{D} +\newcommand{\gaugediff}{\differential\gaugediffsymbol} +\newcommand{\D}{\gaugediff} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\covariantdiff} +% \begin{macro}{\cd} +% Define the covariant differential "\cd". +% \begin{macrocode} +\newcommand{\covariantdiff}{\differential\nabla} +\newcommand{\cd}{\covariantdiff} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\variation} +% \begin{macro}{\var} +% \begin{macro}{\functionalderivative} +% \begin{macro}{\fdv} +% Define the functional variation and derivative. +% \begin{macrocode} +\newcommand\variation{\differential\delta} +\newcommand\var{\variation} +\newpartialderivative{\functionalderivative}{\delta} +\newcommand\fdv{\functionalderivative} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\cancel} +% \begin{macro}{\slashed} +% Load the \software{cancel} \cite{cancel} and \software{slashed} \cite{slashed} packages which provide the "\cancel" and "\slashed" macros. +% \begin{macrocode} +\RequirePackage{cancel} +\RequirePackage{slashed} +\declareslashed{}{/}{.06}{0}{\D} +\declareslashed{}{/}{.055}{0}{\pd} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsection{Paired delimiters} +% +% \begin{macro}{\left} +% \begin{macro}{\right} +% Load the \software{mleftright} package \cite{mleftright} and adjust the spacing around "\left" and "\right". +% \begin{macrocode} +\RequirePackage{mleftright} +\mleftright +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\noargumentsymbol} +% \begin{macro}{\optionalargument} +% Allow for macros to have an empty argument. +% \begin{macrocode} +\newcommand{\noargumentsymbol}{\:\cdot\:} +\newcommand{\optionalargument}[1]{\ifblank{#1}{\noargumentsymbol}{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\abs} +% \begin{macro}{\norm} +% \begin{macro}{\pnorm} +% Absolute value and norm. +% \begin{macrocode} +\DeclarePairedDelimiterX\abs[1]\lvert\rvert{\optionalargument{#1}} +\DeclarePairedDelimiterX\hep@norm[1]\lVert\rVert{\optionalargument{#1}} +\DeclarePairedDelimiterXPP\hep@pnorm[2]{}\lVert\rVert{_{#1}}{#2} +\NewDocumentCommand{\norm}{som}{% + \IfValueTF{#2}{% + \IfBooleanTF{#1}{\hep@pnorm*}{\hep@pnorm}{#2}% + }{% + \IfBooleanTF{#1}{\hep@norm*}{\hep@norm}% + }{\optionalargument{#3}}% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} + +% \begin{macro}{\ordersymbol} +% \begin{macro}{\order} +% Order symbol and macro. +% \begin{macrocode} +\providecommand{\ordersymbol}{\mathcal{O}} +\DeclarePairedDelimiterXPP\order[1]{\ordersymbol}(){}{#1} +% \end{macrocode} +% \end{macro} +% \end{macro} + +% \begin{macro}{\evaluated} +% \begin{macro}{\eval} +% Vertical evaluation bar +% \begin{macrocode} +\DeclarePairedDelimiter{\hep@evaluated}{.}{\rvert} +\NewDocumentCommand{\evaluated}{som}{% + \IfBooleanTF{#1}{% + \hep@evaluated*{#3}% + }{% + \IfNoValueTF{#2}{#3\rvert}{\hep@evaluated[#2]{#3}}% + }% +} +\newcommand\eval{\evaluated} +% \end{macrocode} +% \end{macro} +% \end{macro} + +% \begin{macro}{\row} +% \begin{macro}{\column} +% Shortcuts for rows and columns +% \begin{macrocode} +\newcommand*{\rowseperator}{,\,} +\ExplSyntaxOn +\newcommand*{\hep@row}[1]{ + \seq_set_split:Nnn\hep@seq{,}{#1} + \begin{matrix}\seq_use:Nn\hep@seq{\rowseperator}\end{matrix} +} +\newcommand*{\hep@column}[1]{% + \seq_set_split:Nnn\hep@seq{,}{#1}% + \begin{matrix}\seq_use:Nn\hep@seq{\\}\end{matrix}% +} +\ExplSyntaxOff +\DeclarePairedDelimiterX{\row}[1]{(}{)}{\hep@row{#1}} +\NewDocumentCommand{\column}{me{^}e{_}}{% + \left(\hep@column{#1}\right)\IfValueT{#2}{^{\!\!\!#2}}\IfValueT{#3}{_{\!\!\!#3}}% +} +% \end{macrocode} +% \end{macro} +% \end{macro} + +% \subsubsection{Set and Probability} +% +% \begin{macro}{\midbar} +% Define a generic midbar. +% \begin{macrocode} +\newcommand\hep@left@delim{\mathopen{}} +\providecommand{\midbar}[1][]{% + \nonscript\:#1\vert\allowbreak\nonscript\:\hep@left@delim% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\suchthat} +% \begin{macro}{\set} +% Define a "\set" macro that allows a midbar via "\suchthat". +% \begin{macrocode} +\providecommand\suchthat{\midbar} +\DeclarePairedDelimiterX\set[1]\{\}{% + \renewcommand\suchthat{\midbar[\delimsize]}#1% +} +% \end{macrocode} +% \end{macro} +% \end{macro} + +% \begin{macro}{\probabilitysymbol} +% \begin{macro}{\given} +% \begin{macro}{\Pr} +% Redefine the "\Pr" macro to a macro that takes a "\given" macro and generates a midbar. +% \begin{macrocode} +\providecommand{\probabilitysymbol}{\operatorname{Pr}} +\providecommand\given{\midbar} +\DeclarePairedDelimiterXPP\hep@Pr[1]{% + \probabilitysymbol}(){}{% + \renewcommand\given{\midbar[\delimsize]}#1% +} +\let\Pr\relax +\NewDocumentCommand{\Pr}{so}{% + \IfValueTF{#2}{% + \IfBooleanTF{#1}{\hep@Pr*}{\hep@Pr}{#2}% + }{% + \probabilitysymbol% + }% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} + +% \subsubsection{Commutators} +% +% \begin{macro}{\newpair} +% Define the "\newpair" macro that generates pairs surrounded by brackets. +% \begin{macrocode} +\NewDocumentCommand{\newpair}{mmme{_}e{^}}{% + \IfNoValueTF{#4}{% + \IfNoValueTF{#5}{% + \DeclarePairedDelimiterX{#1}[2]{#2}{#3}% + }{% + \DeclarePairedDelimiterXPP{#1}[2]{}{#2}{#3}{^{#5}}% + }% + }{% + \DeclarePairedDelimiterXPP{#1}[2]{}{#2}{#3}{_{#4}}% + }{% + \optionalargument{##1},\optionalargument{##2}% + }% +} +% \end{macrocode} +%\end{macro} +% +% \begin{macro}{\innerproduct} +% \begin{macro}{\poissonbracket} +% \begin{macro}{\pb} +% \begin{macro}{\commutator} +% \begin{macro}{\comm} +% \begin{macro}{\anticommutator} +% \begin{macro}{\acomm} +% Poissonbracket, commutator and anti-commutator. +% \begin{macrocode} +\newpair\innerproduct\langle\rangle +\newpair\poissonbracket\lbrace\rbrace +\newpair\commutator\lbrack\rbrack +\newcommand\pb{\poissonbracket} +\newcommand\comm{\commutator} +\newcommand\acomm{\poissonbracket} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsubsection{Bra-ket notation} +% +% \begin{macro}{\braketspace} +% Define the space within braket notation. +% \begin{macrocode} +\providecommand\braketspace{\mskip1mu} +\newcommand\hep@midvert{% + \braketspace\delimsize\vert\braketspace\hep@left@delim% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\braket} +% Define the braket macro. +% \begin{macrocode} +\DeclarePairedDelimiterX\braket[2]{\langle}{\rangle}{% + \braketspace#1\hep@midvert#2\braketspace% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\bra} +% Define the bra macro. +% \begin{macrocode} +\DeclarePairedDelimiterXPP\hep@bra[1]{% + }{\langle}{\rvert}{\braketspace}{\braketspace#1\braketspace% +} +\NewDocumentCommand{\bra}{smt\ket sgt\ketbra sgg}{% + \IfBooleanTF{#6}{% + \IfBooleanTF{#1}{\braket*{#2}{#8}}{\braket{#2}{#8}}% + \IfBooleanTF{#7}{\bra*{#9}}{\bra{#9}}% + }{ + \IfBooleanTF{#3}{% + \IfBooleanTF{#1}{\braket*}{% + \IfBooleanTF{#4}{\braket*}{\braket}}{#2}{#5% + }% + }{% + \IfBooleanTF{#1}{\hep@bra*}{\hep@bra}{#2}% + }% + }% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\ket} +% Define the ket macro. +% \begin{macrocode} +\DeclarePairedDelimiterXPP\ket[1]{% + \braketspace}{\lvert}{\rangle}{% +}{% + \braketspace\hep@left@delim#1\braketspace% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\ketbra} +% Define the ketbra macro. +% \begin{macrocode} +\NewDocumentCommand{\ketbra}{smm}{% + \IfBooleanTF{#1}{% + \ket*{#2}\bra*{#3}% + }{% + \ket{#2}\bra{#3}% + }% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\matrixelement} +% \begin{macro}{\mel} +% Define the matrixelement macro. +% \begin{macrocode} +\DeclarePairedDelimiterX\matrixelement[3]{% + \langle}{\rangle +}{% + \braketspace#1\hep@midvert#2\hep@midvert#3\braketspace% +} +\newcommand\matrixel{\matrixelement} +\newcommand\mel{\matrixelement} +% \end{macrocode} +% \end{macro} +% \end{macro} + +% \begin{macro}{\expectationvalue} +% \begin{macro}{\ev} +% \begin{macro}{\vev} +% Define the expectationvalue and vev macros. +% \begin{macrocode} +\DeclarePairedDelimiterX\hep@expvalue[1]{\langle}{\rangle}{% + \braketspace#1\braketspace% +} +\NewDocumentCommand{\expectationvalue}{som}{% + \IfNoValueTF{#2}{% + \IfBooleanTF{#1}{\hep@expvalue*}{\hep@expvalue}{#3}% + }{% + \IfBooleanTF{#1}{\matrixelement*}{\matrixelement}{#2}{#3}{#2}% + }% +} +\newcommand\ev{\expectationvalue} +\newcommand\vev[1]{\expectationvalue[0]{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +%</package> +% +% \section{Test} +% +%<*test> +% +% \begin{macrocode} +\documentclass{article} + +\usepackage{hep-math} + +\begin{document} + +\begin{gather} + \bra{x}\ket{y} + \braket*{x}{y}\\ + \dv[f]{x}^3 + \pdv[f]{x}[y]^2[z]^3 + \fdv[f]{x}^3[y]\\ + \set{x \suchthat x \in X} +\end{gather} + +\end{document} + +% \end{macrocode} +%</test> +% +% \section{Readme} +% +%<*readme> +% +% \begin{macrocode} +# The `hep-math` package + +Extended math macros + +## Introduction + +The `hep-math` package provides some additional features beyond the `mathtools` and `amsmath` packages. + +To use the package place `\usepackage{hep-math}` in the preamble. + +## Author + +Jan Hajer + +## License + +This file may be distributed and/or modified under the conditions of the `LaTeX` Project Public License, either version 1.3c of this license or (at your option) any later version. +The latest version of this license is in `http://www.latex-project.org/lppl.txt` and version 1.3c or later is part of all distributions of LaTeX version 2005/12/01 or later. +% \end{macrocode} +% +%</readme> +% +% \Finale + +\endinput + +% \PrintIndex +% makeindex -s gglo.ist -o hep-math-implementation.gls hep-math-implementation.glo +% makeindex -s gglo.ist -o hep-math-implementation.ind hep-math-implementation.idx diff --git a/Master/texmf-dist/source/latex/hep-math/hep-math.ins b/Master/texmf-dist/source/latex/hep-math/hep-math.ins new file mode 100644 index 00000000000..1d02e20dcee --- /dev/null +++ b/Master/texmf-dist/source/latex/hep-math/hep-math.ins @@ -0,0 +1,49 @@ +%% Copyright (C) 2019-2020 by Jan Hajer +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3c or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. + +\input docstrip.tex +\keepsilent +\usedir{tex/latex/hep-math} + +\preamble +This is a generated file. +Copyright (C) 2019-2020 by Jan Hajer +This file may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either +version 1.3c of this license or (at your option) any later +version. The latest version of this license is in: +http://www.latex-project.org/lppl.txt +and version 1.3c or later is part of all distributions of +LaTeX version 2005/12/01 or later. +\endpreamble + +\generate{ + \file{hep-math-documentation.tex}{\from{hep-math-implementation.dtx}{documentation}} + \file{hep-math.sty}{\from{hep-math-implementation.dtx}{package}} + \file{hep-math-test.tex}{\from{hep-math-implementation.dtx}{test}} + \nopreamble\nopostamble\file{README-hep-math.md}{\from{hep-math-implementation.dtx}{readme}} +} + +\Msg{*********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the} +\Msg{* following file into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space hep-math.sty} +\Msg{*} +\Msg{* To produce the documentation run the file} +\Msg{* hep-math-documentation.dtx through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*********************************************************} + +\endbatchfile diff --git a/Master/texmf-dist/tex/latex/hep-math/hep-math.sty b/Master/texmf-dist/tex/latex/hep-math/hep-math.sty new file mode 100644 index 00000000000..4799710d3ae --- /dev/null +++ b/Master/texmf-dist/tex/latex/hep-math/hep-math.sty @@ -0,0 +1,305 @@ +%% +%% This is file `hep-math.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% hep-math-implementation.dtx (with options: `package') +%% This is a generated file. +%% Copyright (C) 2019-2020 by Jan Hajer +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in: +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. + +\NeedsTeXFormat{LaTeX2e}[2005/12/01] +\ProvidesPackage{hep-math}[2021/09/01 v1.0 Math and physics macros] + +\RequirePackage{mathtools} +\allowdisplaybreaks[1] +\thickmuskip=5mu plus 3mu minus 1mu +\medmuskip=4mu plus 2mu minus 3mu +\RequirePackage{xparse} +\DeclareDocumentCommand{\mathdef}{mO{0}m}{% + \expandafter\let\csname hep@text\string#1\endcsname=#1 + \expandafter\newcommand\csname hep@math\string#1\endcsname[#2]{#3} + \DeclareRobustCommand#1{% + \ifmmode + \expandafter\let\expandafter\next\csname% + hep@math\string#1\endcsname% + \else + \expandafter\let\expandafter\next\csname% + hep@text\string#1\endcsname% + \fi + \next + }% +} +\AtBeginDocument{\mathdef{\i}{\operatorname{i}}} +\RequirePackage{soulutf8} +\newcommand\textoverline[1]{{\setul{-1.9ex}{}\ul{#1}}} +\let\overline\textoverline +\DeclareRobustCommand{\over@line}[1]{\@@overline{#1}} +\mathdef{\overline}{\over@line} +\newcommand{\oset}[3][-1pt]{% + \text{\raisebox{.2ex}{$\mathop{#3}\limits^{% + \vbox to#1{\kern-2\ex@\hbox{$\scriptscriptstyle#2$}\vss}% + }$}}% +} +\newcommand{\overleft}[1]{\oset{\leftarrow}{#1}} +\newcommand{\overright}[1]{\oset{\rightarrow}{#1}} +\newcommand{\overleftright}[1]{\oset{\leftrightarrow}{#1}} +\DeclareMathOperator{\tr}{tr} +\DeclareMathOperator{\Tr}{Tr} +\DeclareMathOperator{\rank}{rank} +\DeclareMathOperator{\erf}{erf} +\DeclareMathOperator{\Res}{Res} +\DeclareMathOperator{\sgn}{sgn} +\DeclareMathOperator{\diag}{diag} +\let\det\relax\DeclareMathOperator{\det}{det} + +\let\Re\relax\DeclareMathOperator{\Re}{Re} +\let\Im\relax\DeclareMathOperator{\Im}{Im} + +\newcommand*{\hep@transpose}[2]{\raisebox{\depth}{$\m@th#1\intercal$}} +\newcommand*{\transpose}{{\mathpalette\hep@transpose{}}} +\let\trans\transpose + +\let\cos\undefined\DeclareMathOperator{\cos}{cos\vphantom{i}} +\let\tan\undefined\DeclareMathOperator{\tan}{tan\vphantom{i}} +\DeclareMathOperator{\arccsc}{arccsc} +\DeclareMathOperator{\arcsec}{arcsec} +\DeclareMathOperator{\arccot}{arccot} +\DeclareMathOperator{\asin}{asin} +\DeclareMathOperator{\acos}{acos} +\DeclareMathOperator{\atan}{atan} +\DeclareMathOperator{\acsc}{acsc} +\DeclareMathOperator{\asec}{asec} +\DeclareMathOperator{\acot}{acot} +\DeclareMathOperator{\csch}{csch} +\DeclareMathOperator{\sech}{sech} +\RequirePackage{units} +\newcommand{\inv}[2][1]{#2\ensuremath{^{-#1}}} +\newcommand{\textfrac}[2]{\ensuremath{\nicefrac{\text{#1}}{\text{#2}}}} +\DeclarePairedDelimiterX{\hep@flatfrac}[2]{.}{.}{% + #1\delimsize/\hep@left@delim#2% +} +\NewDocumentCommand{\flatfrac}{somm}{% + \IfBooleanTF{#1}{% + \hep@flatfrac*{#3}{#4}% + }{% + \IfNoValueTF{#2}{\,\hep@left@delim#3/\hep@left@delim#4\,% + }{% + \hep@flatfrac[#2]{#3}{#4}% + }% + }% +} +\newcommand{\differential}[1]{\mathop{}\!#1} +\newcommand\newderivative[2]{ + \NewDocumentCommand{#1}{somse{^}}{% + \IfBooleanTF{##4}{% + \IfBooleanTF{##1}{\nicefrac}{\frac}% + }{% + \IfBooleanTF{##1}{\flatfrac}{\dfrac}% + }{% + \differential#2\IfValueT{##5}{^{##5\!}}\IfValueT{##2}{##2}% + }{% + \differential#2{##3}\IfValueT{##5}{^{##5}}% + }% + } +} +\newcommand\newpartialderivative[2]{ + \NewDocumentCommand{#1}{somsE{^}{1}oE{^}{1}oE{^}{1}}{% + \def\hep@one{\IfValueTF{##6}{##7}{0}} + \def\hep@two{\IfValueTF{##8}{##9}{0}} + \def\hep@sum{\the\numexpr##5+\hep@one+\hep@two\relax} + \IfBooleanTF{##4}{% + \IfBooleanTF{##1}{\nicefrac}{\frac}% + }{% + \IfBooleanTF{##1}{\flatfrac}{\dfrac}% + }{% + \differential#2\ifnum\hep@sum=1\relax\else{^{\hep@sum\!}}\fi + \IfValueT{##2}{##2}% + }{% + \differential#2{##3}\ifnum##5=1\relax\else{^{##5}}\fi% + \IfValueT{##6}{#2##6\ifnum##7=1\relax\else{^{##7}}\fi}% + \IfValueT{##8}{#2##8\ifnum##9=1\relax\else{^{##9}}\fi}% + }% + } +} +\providecommand{\diffsymbol}{d} +\newcommand{\diff}{\differential\diffsymbol} +\AtBeginDocument{\mathdef{\d}{\diff}} +\newderivative{\derivative}{\diffsymbol} +\newcommand\dv{\derivative} +\newcommand\partialdifferential{\differential\partial} +\newcommand\pd{\partialdifferential} +\newpartialderivative{\partialderivative}{\partial} +\newcommand\pdv{\partialderivative} +\providecommand{\gaugediffsymbol}{D} +\newcommand{\gaugediff}{\differential\gaugediffsymbol} +\newcommand{\D}{\gaugediff} +\newcommand{\covariantdiff}{\differential\nabla} +\newcommand{\cd}{\covariantdiff} +\newcommand\variation{\differential\delta} +\newcommand\var{\variation} +\newpartialderivative{\functionalderivative}{\delta} +\newcommand\fdv{\functionalderivative} +\RequirePackage{cancel} +\RequirePackage{slashed} +\declareslashed{}{/}{.06}{0}{\D} +\declareslashed{}{/}{.055}{0}{\pd} +\RequirePackage{mleftright} +\mleftright +\newcommand{\noargumentsymbol}{\:\cdot\:} +\newcommand{\optionalargument}[1]{\ifblank{#1}{\noargumentsymbol}{#1}} +\DeclarePairedDelimiterX\abs[1]\lvert\rvert{\optionalargument{#1}} +\DeclarePairedDelimiterX\hep@norm[1]\lVert\rVert{\optionalargument{#1}} +\DeclarePairedDelimiterXPP\hep@pnorm[2]{}\lVert\rVert{_{#1}}{#2} +\NewDocumentCommand{\norm}{som}{% + \IfValueTF{#2}{% + \IfBooleanTF{#1}{\hep@pnorm*}{\hep@pnorm}{#2}% + }{% + \IfBooleanTF{#1}{\hep@norm*}{\hep@norm}% + }{\optionalargument{#3}}% +} + +\providecommand{\ordersymbol}{\mathcal{O}} +\DeclarePairedDelimiterXPP\order[1]{\ordersymbol}(){}{#1} + +\DeclarePairedDelimiter{\hep@evaluated}{.}{\rvert} +\NewDocumentCommand{\evaluated}{som}{% + \IfBooleanTF{#1}{% + \hep@evaluated*{#3}% + }{% + \IfNoValueTF{#2}{#3\rvert}{\hep@evaluated[#2]{#3}}% + }% +} +\newcommand\eval{\evaluated} + +\newcommand*{\rowseperator}{,\,} +\ExplSyntaxOn +\newcommand*{\hep@row}[1]{ + \seq_set_split:Nnn\hep@seq{,}{#1} + \begin{matrix}\seq_use:Nn\hep@seq{\rowseperator}\end{matrix} +} +\newcommand*{\hep@column}[1]{% + \seq_set_split:Nnn\hep@seq{,}{#1}% + \begin{matrix}\seq_use:Nn\hep@seq{\\}\end{matrix}% +} +\ExplSyntaxOff +\DeclarePairedDelimiterX{\row}[1]{(}{)}{\hep@row{#1}} +\NewDocumentCommand{\column}{me{^}e{_}}{% + \left(\hep@column{#1}\right)\IfValueT{#2}{^{\!\!\!#2}}\IfValueT{#3}{_{\!\!\!#3}}% +} + +\newcommand\hep@left@delim{\mathopen{}} +\providecommand{\midbar}[1][]{% + \nonscript\:#1\vert\allowbreak\nonscript\:\hep@left@delim% +} + +\providecommand\suchthat{\midbar} +\DeclarePairedDelimiterX\set[1]\{\}{% + \renewcommand\suchthat{\midbar[\delimsize]}#1% +} + +\providecommand{\probabilitysymbol}{\operatorname{Pr}} +\providecommand\given{\midbar} +\DeclarePairedDelimiterXPP\hep@Pr[1]{% + \probabilitysymbol}(){}{% + \renewcommand\given{\midbar[\delimsize]}#1% +} +\let\Pr\relax +\NewDocumentCommand{\Pr}{so}{% + \IfValueTF{#2}{% + \IfBooleanTF{#1}{\hep@Pr*}{\hep@Pr}{#2}% + }{% + \probabilitysymbol% + }% +} + +\NewDocumentCommand{\newpair}{mmme{_}e{^}}{% + \IfNoValueTF{#4}{% + \IfNoValueTF{#5}{% + \DeclarePairedDelimiterX{#1}[2]{#2}{#3}% + }{% + \DeclarePairedDelimiterXPP{#1}[2]{}{#2}{#3}{^{#5}}% + }% + }{% + \DeclarePairedDelimiterXPP{#1}[2]{}{#2}{#3}{_{#4}}% + }{% + \optionalargument{##1},\optionalargument{##2}% + }% +} +\newpair\innerproduct\langle\rangle +\newpair\poissonbracket\lbrace\rbrace +\newpair\commutator\lbrack\rbrack +\newcommand\pb{\poissonbracket} +\newcommand\comm{\commutator} +\newcommand\acomm{\poissonbracket} +\providecommand\braketspace{\mskip1mu} +\newcommand\hep@midvert{% + \braketspace\delimsize\vert\braketspace\hep@left@delim% +} +\DeclarePairedDelimiterX\braket[2]{\langle}{\rangle}{% + \braketspace#1\hep@midvert#2\braketspace% +} + +\DeclarePairedDelimiterXPP\hep@bra[1]{% + }{\langle}{\rvert}{\braketspace}{\braketspace#1\braketspace% +} +\NewDocumentCommand{\bra}{smt\ket sgt\ketbra sgg}{% + \IfBooleanTF{#6}{% + \IfBooleanTF{#1}{\braket*{#2}{#8}}{\braket{#2}{#8}}% + \IfBooleanTF{#7}{\bra*{#9}}{\bra{#9}}% + }{ + \IfBooleanTF{#3}{% + \IfBooleanTF{#1}{\braket*}{% + \IfBooleanTF{#4}{\braket*}{\braket}}{#2}{#5% + }% + }{% + \IfBooleanTF{#1}{\hep@bra*}{\hep@bra}{#2}% + }% + }% +} + +\DeclarePairedDelimiterXPP\ket[1]{% + \braketspace}{\lvert}{\rangle}{% +}{% + \braketspace\hep@left@delim#1\braketspace% +} + +\NewDocumentCommand{\ketbra}{smm}{% + \IfBooleanTF{#1}{% + \ket*{#2}\bra*{#3}% + }{% + \ket{#2}\bra{#3}% + }% +} + +\DeclarePairedDelimiterX\matrixelement[3]{% + \langle}{\rangle +}{% + \braketspace#1\hep@midvert#2\hep@midvert#3\braketspace% +} +\newcommand\matrixel{\matrixelement} +\newcommand\mel{\matrixelement} + +\DeclarePairedDelimiterX\hep@expvalue[1]{\langle}{\rangle}{% + \braketspace#1\braketspace% +} +\NewDocumentCommand{\expectationvalue}{som}{% + \IfNoValueTF{#2}{% + \IfBooleanTF{#1}{\hep@expvalue*}{\hep@expvalue}{#3}% + }{% + \IfBooleanTF{#1}{\matrixelement*}{\matrixelement}{#2}{#3}{#2}% + }% +} +\newcommand\ev{\expectationvalue} +\newcommand\vev[1]{\expectationvalue[0]{#1}} + +\endinput +%% +%% End of file `hep-math.sty'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 99a4807b45a..aeb29a4f9c7 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -384,7 +384,7 @@ my @TLP_working = qw( harvard harveyballs harvmac hatching hausarbeit-jura havannah hc he-she hecthese helmholtz-ellis-ji-notation helvetic hep hep-acronym hep-bibliography hep-float hep-font hep-float - hep-math-font hep-paper hepnames + hep-math hep-math-font hep-paper hepnames hepparticles hepthesis hepunits here heuristica hexgame hf-tikz hfbright hfoldsty hhtensor highlightlatex hindawi-latex-template hindmadurai diff --git a/Master/tlpkg/tlpsrc/hep-math.tlpsrc b/Master/tlpkg/tlpsrc/hep-math.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/hep-math.tlpsrc |