diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/hep-paper/hep-math.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/hep-paper/hep-math.sty | 284 |
1 files changed, 284 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/hep-paper/hep-math.sty b/Master/texmf-dist/tex/latex/hep-paper/hep-math.sty new file mode 100644 index 00000000000..65e057596f4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/hep-paper/hep-math.sty @@ -0,0 +1,284 @@ +%% +%% This is file `hep-math.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% hep-paper-implementation.dtx (with options: `math') +%% 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/08/01 v1.8 Font adjustments for publications in High Energy Physics] + +\newif\ifhep@lining\hep@liningtrue +\newif\ifhep@eqnarray\hep@eqnarraytrue +\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{ulem} +\def\overline#1{{\renewcommand{\ULdepth}{-1.9ex}{}\uline{#1}}} +\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{\overleftright}[1]{\oset{\leftrightarrow}{#1}} +\ifhep@eqnarray\else + \let\eqnarray\@undefined + \let\endeqnarray\@undefined +\fi +\DeclareMathOperator{\tr}{tr} +\DeclareMathOperator{\Tr}{Tr} +\DeclareMathOperator{\rank}{rank} +\DeclareMathOperator{\erf}{erf} +\DeclareMathOperator{\Res}{Res} +\DeclareMathOperator{\sgn}{sgn} +\DeclareMathOperator{\diag}{diag} + +\let\Re\relax\DeclareMathOperator{\Re}{Re} +\let\Im\relax\DeclareMathOperator{\Im}{Im} + +\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} +\RequirePackage{xpatch} +\ifhep@lining\else + \xpatchcmd{\unit}{\else#1}{% + \else\ifthenelse{\boolean{mmode}}{#1}{\textl{#1}}% + }{}{} + \xpatchcmd{\unitfrac}{\else#1}{% + \else\ifthenelse{\boolean{mmode}}{#1}{\textl{#1}}% + }{}{} +\fi +\newcommand{\inv}[2][1]{#2\ensuremath{^{-#1}}} +\DeclarePairedDelimiterX{\hep@flatfrac}[2]{.}{.}{% + #1\delimsize/\makeleftdelim#2% +} +\NewDocumentCommand{\flatfrac}{somm}{% + \IfBooleanTF{#1}{% + \hep@flatfrac*{#3}{#4}% + }{% + \IfNoValueTF{#2}{\,\makeleftdelim#3/\makeleftdelim#4\,% + }{% + \hep@flatfrac[#2]{#3}{#4}% + }% + }% +} +\newcommand{\textfrac}[2]{\ensuremath{\nicefrac{\text{#1}}{\text{#2}}}} +\newcommand{\makedifferential}[1]{\mathop{}\!#1} +\providecommand{\differentialsymbol}{d} +\newcommand{\differential}{\makedifferential\differentialsymbol} +\AtBeginDocument{\mathdef{\d}{\differential}} + +\newcommand\makederivative[2]{ + \NewDocumentCommand{#1}{somso}{% + \IfBooleanTF{##4}{% + \IfBooleanTF{##1}{\nicefrac}{\frac}% + }{% + \IfBooleanTF{##1}{\flatfrac}{\dfrac}% + }{% + \makedifferential#2\IfValueT{##2}{^{##2}}\IfValueT{##5}{##5}% + }{% + \makedifferential#2{##3}\IfValueT{##2}{^{##2}}% + }% + } +} +\makederivative{\derivative}{d} +\newcommand\dv{\derivative} + +\newcommand\variation{\makedifferential\delta} +\newcommand\var{\variation} + +\makederivative{\functionalderivative}{\delta} +\newcommand\fdv{\functionalderivative} + +\RequirePackage{etoolbox} +\newcommand\makepartialderivative[2]{ + \NewDocumentCommand{#1}{sO{}O{}msoo}{% + \IfBooleanTF{##5}{% + \IfBooleanTF{##1}{\nicefrac}{\frac}% + }{% + \IfBooleanTF{##1}{\flatfrac}{\dfrac}% + }{% + \makedifferential#2\IfValueTF{##7}{% + \ifblank{##2}{ + \ifblank{##3}{^2}{^{\the\numexpr##3+1\relax}}% + }{% + \ifblank{##3}{% + ^{\the\numexpr##2+1\relax}}{^{{\the\numexpr##2+##3\relax}}% + }% + }% + }{\IfValueT{##2}{^{##2}}}\IfValueT{##6}{##6}% + }{% + \makedifferential#2{##4}\IfValueT{##2}{^{##2}}% + \IfValueT{##7}{#2##7\IfValueT{##3}{^{##3}}}% + }% + } +} + +\makepartialderivative{\partialderivative}{\partial} +\newcommand\pdv{\partialderivative} +\RequirePackage{cancel} +\RequirePackage{slashed} +\RequirePackage{mleftright} +\mleftright +\newcommand{\noargumentsymbol}{\:\cdot\:} +\newcommand{\optionalargument}[1]{\ifblank{#1}{\noargumentsymbol}{#1}} +\DeclarePairedDelimiterX\abs[1]\lvert\rvert{\optionalargument{#1}} +\DeclarePairedDelimiterX\norm[1]\lVert\rVert{\optionalargument{#1}} +\DeclarePairedDelimiterXPP\hep@pnorm[2]{}\lVert\rVert{_{#1}}{#2} +\NewDocumentCommand{\pnorm}{som}{% + \IfValueTF{#2}{% + \IfBooleanTF{#1}{\hep@pnorm*}{\hep@pnorm}{#2}% + }{% + \IfBooleanTF{#1}{\norm*}{\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\makeleftdelim{\mathopen{}} +\providecommand{\midbar}[1][]{% + \nonscript\:#1\vert\allowbreak\nonscript\:\makeleftdelim% +} + +\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% + }% +} + +\DeclarePairedDelimiterX\innerproduct[2]{% + \langle}{\rangle}{\optionalargument{#1},\optionalargument{#2}% +} +\DeclarePairedDelimiterX\poissonbracket[2]{% + \lbrace}{\rbrace}{\optionalargument{#1},\optionalargument{#2}% +} +\newcommand\pb{\poissonbracket} +\DeclarePairedDelimiterX\commutator[2]{% + \lbrack}{\rbrack}{\optionalargument{#1},\optionalargument{#2}% +} +\newcommand\comm{\commutator} +\DeclarePairedDelimiterX\anticommutator[2]{% + \lbrace}{\rbrace}{\optionalargument{#1},\optionalargument{#2}% +} +\newcommand\acomm{\anticommutator} +\providecommand\braketspace{\mskip1mu} +\newcommand\hep@midvert{% + \braketspace\delimsize\vert\braketspace\makeleftdelim% +} +\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\makeleftdelim#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'. |