texlive[56236] Master/texmf-dist: hep-paper (1sep20)

commits+karl at tug.org commits+karl at tug.org
Tue Sep 1 23:34:50 CEST 2020


Revision: 56236
          http://tug.org/svn/texlive?view=revision&revision=56236
Author:   karl
Date:     2020-09-01 23:34:50 +0200 (Tue, 01 Sep 2020)
Log Message:
-----------
hep-paper (1sep20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/hep-paper/README.md
    trunk/Master/texmf-dist/doc/latex/hep-paper/bibliography.bib
    trunk/Master/texmf-dist/source/latex/hep-paper/hep-paper.ins
    trunk/Master/texmf-dist/tex/latex/hep-paper/hep-paper.dbx
    trunk/Master/texmf-dist/tex/latex/hep-paper/hep-paper.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-documentation.pdf
    trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-documentation.tex
    trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-implementation.pdf
    trunk/Master/texmf-dist/source/latex/hep-paper/hep-paper-implementation.dtx

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper.pdf
    trunk/Master/texmf-dist/source/latex/hep-paper/hep-paper.dtx

Modified: trunk/Master/texmf-dist/doc/latex/hep-paper/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hep-paper/README.md	2020-09-01 21:34:25 UTC (rev 56235)
+++ trunk/Master/texmf-dist/doc/latex/hep-paper/README.md	2020-09-01 21:34:50 UTC (rev 56236)
@@ -12,6 +12,14 @@
     \documentclass{article}
     \usepackage{hep-paper}
 
+## Installation
+
+Running `pdflatex hep-paper.ins` will generate the main style file `hep-paper.sty` together with the necessary datamodel file `hep-paper.dbx`.
+These two files must be moved into a folder the `tex` installation is aware of, e.g. the folder containing the document that should use the `hep-paper` package.
+Additionally the documentation file `hep-paper-documentation.tex` will be generated.
+Subsequently running `pdflatex hep-paper-documentation.tex` will generate the documentation `hep-paper-documentation.pdf`.
+Finally running `pdflatex hep-paper-implementation.dtx` will generate the complete documentation of the implementation `hep-paper-implementation.pdf`
+
 ## Author
 
 Jan Hajer

Modified: trunk/Master/texmf-dist/doc/latex/hep-paper/bibliography.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hep-paper/bibliography.bib	2020-09-01 21:34:25 UTC (rev 56235)
+++ trunk/Master/texmf-dist/doc/latex/hep-paper/bibliography.bib	2020-09-01 21:34:50 UTC (rev 56236)
@@ -1,6 +1,6 @@
 @article{hep-paper,
 title = "The |hep-paper| package",
-subtitle = "Publications in High Energy Physics",
+subtitle = "Publications in high energy physics",
 author = "Jan Hajer",
 year = "2019",
 eprinttype = "ctan",
@@ -123,7 +123,6 @@
 @article{amsmath,
 title = "The |amsmath| package",
 subtitle = "AMS mathematical facilities for \hologo{LaTeX}",
-author = "\hologo{LaTeX}",
 collaboration = "\hologo{LaTeX} Team",
 date = "1994",
 url = "https://ams.org/tex/amslatex",
@@ -348,7 +347,9 @@
 
 @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",
 }
@@ -494,7 +495,6 @@
 title = "\hologo{LaTeX2e}\ font selection",
 subtitle = "Docmentation of \hologo{LaTeX} font commands",
 collaboration = "\hologo{LaTeX} Team",
-author = "\hologo{LaTeX} Team",
 date = "1995",
 eprinttype = "ctan",
 eprint = "fntguide",
@@ -516,6 +516,15 @@
 eprint = "soul",
 }
 
+ at 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",
@@ -555,13 +564,15 @@
 
 @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} package",
+title = "The REV\hologo{TeX} class",
 subtitle = "Styles for various Physics Journals",
 author = "Mark Doyle and Arthur Ogawa",
 collaboration = "American Physical Society",
@@ -656,7 +667,6 @@
 
 @article{jhep,
 title = "The |JHEP| package",
-author = "SISSA Medialab",
 collaboration = "SISSA Medialab",
 date = "1997",
 url = "https://jhep.sissa.it/jhep/help/JHEP_TeXclass.jsp",
@@ -664,7 +674,6 @@
 
 @article{jcap,
 title = "The |JCAP| package",
-author = "SISSA Medialab",
 collaboration = "SISSA Medialab",
 date = "2002",
 url = "https://jcap.sissa.it/jcap/help/JCAP_TeXclass.jsp",
@@ -682,7 +691,7 @@
 @article{bbm,
 title = "|bbm|",
 subtitle = "\enquote{Blackboard-style} cm fonts",
-author = "	Gilles Robert",
+author = "Gilles Robert",
 date = "1993",
 eprinttype = "ctan",
 eprint = "bbm",
@@ -698,3 +707,64 @@
 organization = "Cornell University",
 ReportNumber = "test",
 }
+
+ at article{dsfont,
+title = "The |doublestroke| font",
+subtitle = "Typeset mathematical double stroke symbols",
+author = "Olaf Kummer",
+date = "1995",
+eprinttype = "ctan",
+eprint = "doublestroke",
+}
+
+ at 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",
+}
+
+ at 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",
+}
+
+ at article{footnotebackref,
+title = "The |footnotebackref| package",
+subtitle = "Back-references from footnotes",
+author = "Holger Lange",
+date = "2012",
+eprinttype = "ctan",
+eprint = "footnotebackref",
+}
+
+ at article{cancel,
+title = "The |cancel| package",
+subtitle = "Place lines through maths formulae",
+author = "Donald Arseneau",
+date = "2013",
+eprinttype = "ctan",
+eprint = "cancel",
+}
+
+ at 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",
+}
+
+ at manual{beamer-1,
+eprinttype = "github",
+eprintclass = "josephwright",
+eprint = "beamer",
+}

Added: trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-documentation.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-documentation.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-documentation.pdf	2020-09-01 21:34:25 UTC (rev 56235)
+++ trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-documentation.pdf	2020-09-01 21:34:50 UTC (rev 56236)

Property changes on: trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-documentation.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-documentation.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-documentation.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-documentation.tex	2020-09-01 21:34:50 UTC (rev 56236)
@@ -0,0 +1,609 @@
+%%
+%% This is file `hep-paper-documentation.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hep-paper-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.
+\RequirePackage[l2tabu, orthodox]{nag}
+\documentclass{ltxdoc}
+
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+
+\MacroIndent=1.5em
+
+\usepackage[parskip]{hep-paper}
+
+\bibliography{bibliography}
+
+\acronym{PDF}{portable document format}
+\acronym{URL}{uniform resource locator}
+
+\usepackage{hologo}
+
+\newenvironment{columns}[1][.5]{%
+  \begin{minipage}[t]{\linewidth}%
+  \begin{minipage}[t]{#1\linewidth}%
+  \newcommand{\column}{%
+    \end{minipage}%
+    \begin{minipage}[t]{\linewidth-#1\linewidth}%
+  }%
+}{\end{minipage}\end{minipage}}
+
+\setlength{\fboxsep}{1pt}
+
+\begin{document}
+
+\GetFileInfo{hep-paper.sty}
+
+\title{The |hep-paper| package\thanks{This document corresponds to \protecting{|hep-paper|}~\fileversion.}}
+\author{Jan Hajer \email{jan.hajer at uclouvain.be}}
+\affiliation{Centre for Cosmology, Particle Physics and Phenomenology, Université catholique de Louvain, Louvain-la-Neuve B-1348, Belgium}
+\preprint{Preprint-Number}
+\date{\normalfont\filedate}
+
+\maketitle
+
+\begin{abstract}
+The |hep-paper| package aims to provide a single style file containing most configurations and macros necessary to write appealing publications in High Energy Physics.
+Instead of reinventing the wheel by introducing newly created macros |hep-paper| preferably loads third party packages as long as they are lightweight enough.
+\end{abstract}
+
+\tableofcontents\clearpage
+
+\newgeometry{vscale=.8, vmarginratio=3:4, includeheadfoot, left=11em, marginparwidth=4.6cm, marginparsep=3mm, right=7em}
+
+\section{Introduction}
+
+For usual publications it is enough to load additionally to the |article| class without optional arguments only the |hep-paper| package \cite{hep-paper}.
+
+| \documentclass{article}|\\
+| \usepackage{hep-paper}|
+
+The most notable changes after loading the |hep-paper| package is the change of some \hologo{LaTeX} defaults.
+The paper and font sizes are set to A4 and \unit[11]{pt}, respectively.
+Additionally, the paper geometry is set to the values known from the (depreciated) |a4wide| package \cite{a4wide} using the |geometry| package \cite{geometry}.
+Furthermore, the font is changed to |lmodern| \cite{lmodern} with |microtype| \cite{microtype} optimizations.
+Finally, \PDF hyperlinks are implemented with the |hyperref| package \cite{hyperref}.
+
+\subsection{Options}
+
+\DescribeMacro{paper}
+The |paper=|\meta{format} option loads the specified paper format.
+The possible \meta{formats} are:
+|a0|, |a1|, |a2|, |a3|, |a4|, |a5|, |a6|,
+|b0|, |b1|, |b2|, |b3|, |b4|, |b5|, |b6|,
+|c0|, |c1|, |c2|, |c3|, |c4|, |c5|, |c6|,
+|ansia|, |ansib|, |ansic|, |ansid|, |ansie|,
+|letter|, |executive|, |legal|.
+The default is |a4|.
+
+\DescribeMacro{font}
+The |font=|\meta{size} option loads the specified font size.
+The possible \meta{sizes} are:
+|8pt|, |9pt|, |10pt|, |11pt|, |12pt|, |14pt|, |17pt|, |20pt|.
+The default is \unit[11]{pt}.
+
+\DescribeMacro{lang}
+The |lang|=\meta{name} option switches the document language to the chosen value.
+The possible values are given by the |babel| package \cite{babel}.
+The default is |british|.
+
+\DescribeMacro{sansserif}
+The |sansserif| option switches the document including math to the sans serif font shape.
+
+\DescribeMacro{parskip}
+The |parskip| option makes use of the |parskip| package \cite{parskip} and changes how two paragraphs are separated from each other.
+The \hologo{LaTeX} default is separation via indentation the |parskip| option switches to separation via vertical space.
+\footnote{Although the |parskip| option is used for this document, it is recommended only for very few document types such as technical manuals or answers to referees.}
+
+\subsubsection{Deactivation}
+
+The \software{hep-paper} package loads few bigger packages which have a large impact on the document.
+The deactivation options prevent such adjustments.
+
+\DescribeMacro{defaults}
+The |defaults| option prevents the adjustment of the page geometry and the font size set by the document class.
+
+\DescribeMacro{title}
+The |title=false| option deactivates the title page adjustments.
+
+\DescribeMacro{bibliography}
+The |bibliography|=\meta{key} option prevents the automatic loading of the |biblatex| package \cite{biblatex} if \meta{key}=|false|.
+Otherwise the \meta{key} is passed as |style| string to the |biblatex| package.
+
+\DescribeMacro{glossaries}
+The |glossaries=false| option deactives acronyms and the use of the |glossaries| package \cite{glossaries}.
+
+\DescribeMacro{references}
+The |references=false| option prevents the |cleveref| pacakge \cite{cleveref} from being loaded and deactivates further redefinitions of reference macros.
+
+\subsubsection{Compatibility}
+
+The compatibility options activate the compatibility mode for certain classes and packages used for publications in high energy physics.
+They are mostly suitable combinations of options described in the previous section.
+If \software{hep-paper} is able to detect the presence of such a class or package, \ie if it is loaded before the \software{hep-paper} package, the compatibility mode is activated automatically.
+
+\DescribeMacro{beamer}
+The |beamer| option activates the \software{beamer} \cite{beamer} compatibility mode.
+
+\DescribeMacro{jhep}
+The |jhep| option activates the \software{JHEP} \cite{jhep} compatibility mode.
+
+\DescribeMacro{jcap}
+The |jcap| option activates the \software{JCAP} \cite{jcap} compatibility mode.
+
+\DescribeMacro{revtex}
+The |revtex| option activates the REV\hologo{TeX} \cite{revtex} compatibility mode.
+
+\DescribeMacro{pos}
+The |pos| option activates the \software{PoS} compatibility mode.
+
+\subsubsection{Reactivation}
+
+The \software{hep-paper} package deactivates unrecommended macros, which can be reactivated manually.
+
+\DescribeMacro{manualplacement}
+The |manualplacement| option reactivates manual float placement.
+
+\DescribeMacro{eqnarray}
+The |eqnarray| option reactivates the depreciated |eqnarray| environment.
+
+\section{Macros and environments}
+
+\subsection{Title page}
+
+\DescribeMacro{\author}
+\DescribeMacro{\affiliation}
+\DescribeMacro{\email}
+In order to facilitate multiple authors with different affiliations the |authblk| package \cite{authblk} is loaded.
+The following lines add \eg two authors with different affiliations
+
+| \author[1]{Author one \email{Email one}}|\\
+| \affiliation[1]{Affiliation one}|\\
+| \author[2]{Author two \email{Email two}}|\\
+| \affiliation[1,2]{Affiliation two}|
+
+\DescribeMacro{\title}
+The \PDF meta information is set according to the |\title|\marg{text} and |\author| \marg{text} information.
+
+\DescribeMacro{\preprint}
+The |\preprint|\marg{numer} macro places a pre-print number in the upper right corner of the title page.
+
+\DescribeEnv{abstract}
+The |abstract| environment is adjusted to not start with an indentation.
+
+\subsection{Text}
+
+Hyphenation is provided by the |babel| package \cite{babel} and quotation commands are provided by the |csquotes| package \cite{csquotes} recommended by the |babel| package.
+\DescribeMacro{\enquote}
+\DescribeMacro{\MakeOuterQuote}
+The latter package provides the convenient macros |\enquote|\marg{text} and |\MakeOuterQuote{"}| allowing to leave the choice of quotation marks to \hologo{LaTeX} and use |"| instead of the pair |``| and |''|, respectively.
+
+\DescribeMacro{\eg}
+\DescribeMacro{\vs}
+The |foreign| package \cite{foreign} defines macros such as |\eg|, |\ie|, |\cf|, and |\vs| which are typeset as \eg, \ie, \cf, and \vs.
+
+\DescribeMacro{\no}
+The |\no|\marg{number} macro is typeset as \no{123}.
+
+\DescribeMacro{\software}
+The |\software|\oarg{version}\marg{name} macro is typeset as \software[\fileversion]{HEP-Paper}.
+
+\DescribeMacro{\online}
+The |\online|\marg{url}\marg{text} macro combines the features of the |\href|\marg{url} \marg{text} \cite{hyperref} and the |\url|\marg{text} \cite{url} macros, resulting in \eg \online{https://ctan.org/pkg/hep-paper}{ctan.org/pkg/hep-paper}.
+
+The |inlinelist| and |enumdescript| environments are defined using the |enumitem| package \cite{enumitem}.
+
+\DescribeMacro{inlinelist}
+\begin{columns}
+|The three main points are|
+|\begin{inlinelist}|
+
+| \item one|
+
+| \item two|
+
+| \item three|
+
+|\end{inlinelist}|
+\column
+The three main points are
+\begin{inlinelist}
+ \item one
+ \item two
+ \item three
+\end{inlinelist}
+\end{columns}
+
+\DescribeMacro{enumdescript}
+\begin{columns}[.6]
+|\begin{enumdescript}[label=\Roman*)]|
+
+| \item{First} one|
+
+| \item{Second} two|
+
+| \item{Third} three|
+
+|\end{enumdescript}|
+\column
+\begin{enumdescript}[label=\Roman*)]
+ \item{First} one
+ \item{Second} two
+ \item{Third} three
+\end{enumdescript}
+\end{columns}
+
+\DescribeMacro{\textsc}
+A bold versions \textbf{\textsc{Small Caps}} and a sans serif version of \textsf{\textsc{Small Caps}} is provided, using the |sansmathfonts| package \cite{sansmathfonts}.
+
+\DescribeMacro{\underline}
+\DescribeMacro{\overline}
+The |\underline| macro is redefined to allow line-breaks using the |ulem| package \cite{ulem}.
+The |\overline| macro is extended to also \overline{overline} text outside of math environments.
+
+\DescribeMacro{\useparskip}
+\DescribeMacro{\useparindent}
+If the |parskip| option is activated the |\useparindent| macro switches back the usual parindent mode, while the |\useparskip| macro switches to the parskip mode.
+
+\subsubsection{References and footnotes}
+
+\DescribeMacro{\cref}
+References are extended with the |cleveref| package \cite{cleveref}, which allows to \eg just type |\cref|\marg{key}  in order to write \enquote{figure 1}.
+Furthermore, the |cleveref| package allows to reference multiple objects within one |\cref|\marg{key1,key2}.
+
+\DescribeMacro{\cite}
+Citations are adjusted to not start on a new line in order to avoid the repeated use of |~\cite|\marg{key}.
+
+\DescribeMacro{\ref}
+\DescribeMacro{\eqref}
+\DescribeMacro{\subref}
+References are also adjusted to not start on a new line and are redefined in order to handle multiple references at once.
+
+\DescribeMacro{\footnote}
+Footnotes are adjusted to swallow white space before the footnote mark and at the beginning of the footnote text.
+
+\subsubsection{Acronyms}
+
+\DescribeMacro{\acronym}
+\DescribeMacro{\shortacronym}
+\DescribeMacro{\longacronym}
+The |\acronym|\meta{*}\oarg{typeset abbreviation}\marg{abbreviation}\meta{*}\marg{definition}\oarg{plural\linebreak[4]definition} macro generates the singular |\|\meta{abbreviation} and plural |\|\meta{abbreviation}|s| macros.
+The first star prevents the addition of an \enquote{s} to the abbreviation plural.
+The second star restores the \hologo{TeX} default of swallowing subsequent white space.
+The long form is only shown at the first appearance of these macros, later appearances generate the abbreviation with a hyperlink to the long form.
+Capitalization at the beginning of paragraphs and sentences is ensured.
+The |\shortacronym| and |\longacronym| macros are drop-in replacements of the |\acronym| macro showing only the short or long form of their acronym.
+\DescribeMacro{\resetacronym}
+\DescribeMacro{\dummyacronym}
+The first use form of the acronym can be enforced by resetting the acronym counter with |\resetacronym|\marg{key}.
+If the acronym counter equals one at the end of the document the short form of the acronym is not introduced.
+Placing a |\dummyacronym|\marg{key} at the end of the document ensures that the short form is introduced.
+
+\subsection{Math}
+
+The |mathtools| \cite{mathtools} and |amssymb| \cite{amsfonts} packages are loaded.
+They in turn load the \hologo{AmSLaTeX} |amsmath| \cite{amsmath} and |amsfonts| \cite{amsfonts} packages.
+\DescribeMacro{\mathbf}
+Bold math, via |\mathbf| is improved by the |bm| package \cite{bm}, \ie ($ A  b  \Gamma \delta \mathbf A \mathbf b \mathbf \Gamma \mathbf \delta$).
+Macros switching to |bfseries| such as |\section|\marg{text} are ensured to also typeset math in bold.
+This may cause trouble if bold symbols carry an additional non-implicit meaning.
+\DescribeMacro{\text}
+The |\text|\marg{text} macro makes it possible to write text within math mode, \ie ($ \text A  \text b  \text \Gamma \text \delta \text{\textbf A} \text{\textbf b} \text{\textbf \Gamma} \text{\textbf \delta}$).
+The often used |\mathrm|\marg{text} and |{\rm|\meta{text}|}| macros are \emph{not} the correct tool for this purpose, as they switch to roman font shape.
+This behaviour conflicts \eg with the |sansserif| package option.
+\DescribeMacro{\mathsf}
+The math sans serif alphabet is redefined to be italic sans serif if the main text is serif and italic serif if the main text is sans serif, \ie ($\mathsf A \mathsf b \mathsf \Gamma \mathsf \delta \mathbf{\mathsf A} \mathbf{\mathsf b} \mathbf{\mathsf \Gamma} \mathbf{\mathsf \delta}$).
+\DescribeMacro{\mathscr}
+The |\mathcal| font \ie ($\mathcal{ABCD}$) is accompanied by the |\mathscr| font \ie ($\mathscr{ABCD}$).
+\DescribeMacro{\mathbb}
+The |\mathbb| font is improved by the |doublestroke| package \cite{dsfont} and adjusted depending on the |sansserif| option \ie ($\mathbb{Ah1}$).
+\DescribeMacro{\mathfrak}
+Finally, the |\mathfrak| font is also available \ie ($\mathfrak{AaBb12}$).
+Details about the font handling in \hologo{TeX} can be found in \ccite{fntguide}.
+
+\DescribeMacro{\nicefrac}
+\DescribeMacro{\flatfrac}
+The |\frac|\marg{number}\marg{number} macro is accompanied by |\nicefrac|\linebreak[1]\marg{number}\linebreak[1]\marg{number} and |\flatfrac|\marg{number}\marg{number} leading to $\frac12$, $\nicefrac 12$, and $\flatfrac 12$.
+\DescribeMacro{\diag}
+\DescribeMacro{\sgn}
+Diagonal matrix |\diag| and signum |\sgn| operators are defined.
+
+\DescribeMacro{\mathdef}
+The |\mathdef|\marg{name}\oarg{arguments}\marg{code} macro (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{\numberwithin}
+For longer paper it can be useful to re-number the equation in accordance with the section numbering |\numberwithin{equation}{section}|.
+\DescribeMacro{subequations}
+In order to further reduce the size the of equation counter it can be useful to wrap |align| environments with multiple rows in a |subequations| environment.
+Both macros are provided by the |amsmath| package.
+
+\DescribeMacro{eqnarray}
+The depreciated |eqnarray| environment is undefined as long this behaviour is not prevented by the |eqnarray| package option.
+The |split|, |multline|, |align|, |multlined|, |aligned|, |alignedat|, and |cases| environments of the |amsmath| and |mathtools| packages should be used instead.
+
+\DescribeMacro{equation}
+Use the |equation| environment for short equations.
+
+\begin{columns}
+|\begin{equation}|
+
+| left = right \ .|
+
+|\end{equation}|
+\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{multline}|
+
+| left = right 1 \\|
+
+| + right 2 \ .|
+
+|\end{multline}|
+\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{equation} \begin{split}|
+
+| left &= right 1 \\|
+
+| &= right 2 \ .|
+
+|\end{split} \end{equation}|
+\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{subequations}|
+|\begin{align}|
+
+| left &= right \ , &|
+| left &= right \ , \\|
+| left &= right \ , &|
+| left &= right \ .|
+
+|\end{align}|
+|\end{subequations}|
+\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{equation} \begin{split}|
+
+| left &= right 1 \\ &=|
+| \begin{multlined}[t]|
+|  right 2 \\ + right 3 \ .|
+| \end{multlined}|
+|\end{split} \end{equation}|
+\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{subequations}|
+|\begin{alignat}{2}|
+
+| left &= long right && \ , \\|
+
+| le. 2 &= ri. 2 \ , &|
+
+| \mathllap{le. 3 = ri. 3} & \ .|
+|\end{alignat}|
+|\end{subequations}|
+\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.
+
+\subsubsection{Physics}
+
+Greek letters are adjusted to always be italic and upright in math and text mode, respectively, using the |fixmath| \cite{fixmath} and |alphabeta| \cite{alphabeta} packages.
+This allows differentiations like
+\begin{align}
+\sigma &= \unit[5]{fb} \ , & &\text{at \unit[5]{\sigma} C.L.} \ , & \mu &= \unit[5]{cm} \ , & l &= \text{\unit[5]{\mu m}} \ ,
+\label{eq:greek}
+\end{align}
+and \eg to distinguish gauge $\nu$ and mass \nu\ eigenstates in models with massive neutrinos.
+Additionally, Greek letters can also be directly typed using Unicode.
+
+\DescribeMacro{\ev}
+\DescribeMacro{\pdv}
+\DescribeMacro{\comm}
+\DescribeMacro{\order}
+The |physics| package \cite{physics} provides additional macros such as
+\begin{align}
+&\ev{\phi} \ ,
+&&\pdv[n]{f}{x} \ ,
+&&\comm{A}{B} \ ,
+&&\order{x^2} \ ,
+&&\eval{x}_0^\infty \ ,
+&&\det(M)\ .
+\end{align}
+
+\DescribeMacro{\cancel}
+\DescribeMacro{\slashed}
+The |\cancel|\marg{characters} macro from the |cancel| \cite{cancel} package and the |\slashed| \marg{character} macro from the |slashed| \cite{slashed} package allow to $\cancel{\text{cancel}}$ math and use the Dirac slash notation \ie $\slashed \partial$, respectively.
+
+\DescribeMacro{\overleftright}
+A better looking over left right arrow is defined \ie $\overleftright{\partial}$.
+
+\DescribeMacro{\unit}
+\DescribeMacro{\inv}
+The correct spacing for units, \cf \cref{eq:greek}, is provided by the macro |\unit|\oarg{value} \marg{unit} from the |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}}|.
+
+\subsection{Floats}
+
+\DescribeEnv{figure}
+\DescribeEnv{table}
+Automatic float placement is adjusted to place a single float at the top of pages and to reduce the number of float pages, using the \hologo{LaTeX} macros.
+
+|\setcounter{bottomnumber}{0}| \hfill no floats at the bottom of a page (default 1) \\
+|\setcounter{topnumber}{1}| \hfill a single float at the top of a page (default 2) \\
+|\setcounter{dbltopnumber}{1}| \hfill same for full widths floats in two-column mode \\
+|\renewcommand{\textfraction}{.1}| \hfill large floats are allowed (default 0.2)\\
+|\renewcommand{\topfraction}{.9}| \hfill (default 0.7) \\
+|\renewcommand{\dbltopfraction}{.9}| \hfill (default 0.7) \\
+|\renewcommand{\floatpagefraction}{.8}| \hfill float pages must be full (default 0.5)
+
+Additionally, manual float placement is deactivated but can be reactivated using the |manualplacement| package option.
+It is however recommended to archive the desired design by adjusting above macros.
+The most useful float placement is usually archived by placing the float \emph{in front} of the paragraph it is referenced in first.
+\DescribeMacro{\raggedright}
+The float environments have been adjusted to center their content.
+The usual behaviour can be reactivated using |\raggedright|.
+
+\begin{table}
+\begin{panels}{.6}
+\raggedright
+|\begin{panels}{.6}|\\
+|code|\\
+|\panel{.4}|\\
+|\begin{tabular}...\end{tabular}|\\
+|\end{panels}|\\
+\caption{Code for this panel environment.}
+\label{tab:panels}
+\panel{.4}
+\begin{tabular}{cccc}
+\toprule
+\multicolumn{2}{c}{one}& \multicolumn{2}{c}{two} \\ \cmidrule(r){1-2} \cmidrule(l){3-4}
+\multirow{2}{*}{a} & b & c & d \\
+ & b & c & d \\
+\bottomrule
+\end{tabular}
+\caption{The \protecting{|booktabs|} and \protecting{|multirow|} features.}
+\label{tab:booktabs}
+\end{panels}
+\caption{Example use of the \protecting{|panels|} environment in Panel \subref{tab:panels} and the features from the \protecting{|booktabs|} and \protecting{|multirow|} packages in Panel \subref{tab:booktabs}.
+} \label{tab:table}
+\end{table}
+
+\DescribeEnv{panels}
+\DescribeMacro{\panel}
+The |panels| environment makes use of the |subcaption| package \cite{subcaption}.
+It provides sub-floats and takes as mandatory argument either the number of sub-floats (default~2) or the width of the first sub-float as fraction of the |\linewidth|.
+Within the |\begin{panels}|\oarg{vertical alignment}\marg{width} environment the |\panel| macro initiates a new sub-float.
+In the case that the width of the first sub-float has been given as an optional argument to the |panels| environment the |\panel|\marg{width} macro takes the width of the next sub-float as mandatory argument.
+The example code is presented in \cref{tab:panels}.
+
+\DescribeEnv{tabular}
+The |booktabs| \cite{booktabs} and |multirow| \cite{multirow} packages are loaded enabling publication quality tabulars such as in \cref{tab:booktabs}.
+
+\DescribeMacro{\graphic}
+\DescribeMacro{\graphics}
+The |graphicx| package \cite{graphicx} is loaded and the |\graphic|\oarg{width}\marg{figure} macro is defined, which is a wrapper for the |\includegraphics|\marg{figure} macro and takes the figure width as fraction of the |\linewidth| as optional argument (default~1).
+If the graphics are located in a sub-folder its path can be indicated by |\graphics|\marg{subfolder}.
+
+\subsection{Bibliography}
+
+\DescribeMacro{\bibliography}
+\DescribeMacro{\printbibliography}
+The |biblatex| package \cite{biblatex} is loaded for bibliography management.
+The user has to add the line |\bibliography|\marg{my.bib} to the preamble of the document and |\printbibliography| at the end of the document.
+The bibliography is generated by \software{Biber} \cite{biber}.
+|biblatex| is extended to be able to cope with the |collaboration| and |reportNumber| fields provided by \online{https://inspirehep.net}{inspirehep.net} and a bug in the volume number is fixed.
+Additionally, the PubMed IDs are recognized and \online{https://ctan.org}{ctan.org}, \online{https://github.com}{github.com}, \online{https://gitlab.com}{gitlab.com}, \online{https://bitbucket.org}{bitbucket.org}, \online{https://www.launchpad.net}{launchpad.net}, \online{https://sourceforge.net}{sourceforge.net}, and \online{https://hepforge.org}{hepforge.org} are valid |eprinttype|s.
+\DescribeMacro{erratum}
+Errata can be included using the |related| feature.
+
+| \article{|\meta{key1}|,|\\
+|   |\dots|,|\\
+|   relatedtype="erratum",|\\
+|   related="|\meta{key2}|",|\\
+| }|\\
+| \article{|\meta{key2}|,|\\
+|   |\dots|,|\\
+| }|
+
+\section{Conclusion}
+
+The |hep-paper| package provides a matching selection of preloaded packages and additional macros enabling the user to focus on the content instead of the layout by reducing the amount of manual tasks.
+The majority of the loaded packages are fairly lightweight, the others can be deactivated with package options.
+
+\DescribeMacro{arxiv-collector}
+\nolinkurl{arxiv.org} \cite{arxiv} requires the setup dependent |bbl| files instead of the original |bib| files, which causes trouble if the local \hologo{LaTeX} version differs from the one used by arXiv.
+The |arxiv-collector| python script \cite{arxiv-collector} alleviates this problem by collecting all files necessary for publication on arXiv (including figures).
+
+\printbibliography
+
+\end{document}
+
+\endinput
+%%
+%% End of file `hep-paper-documentation.tex'.


Property changes on: trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-documentation.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-implementation.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-implementation.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-implementation.pdf	2020-09-01 21:34:25 UTC (rev 56235)
+++ trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-implementation.pdf	2020-09-01 21:34:50 UTC (rev 56236)

Property changes on: trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper-implementation.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/latex/hep-paper/hep-paper.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/source/latex/hep-paper/hep-paper-implementation.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/hep-paper/hep-paper-implementation.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/hep-paper/hep-paper-implementation.dtx	2020-09-01 21:34:50 UTC (rev 56236)
@@ -0,0 +1,2473 @@
+% \iffalse meta-comment
+%
+% 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.
+%
+% \fi
+%
+% \iffalse
+%
+%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+%<package>\ProvidesPackage{hep-paper}[2020/08/01 v1.4 Publications in High Energy Physics]
+%<datamodel>\ProvidesFile{hep-paper.dbx}[2020/08/01 v1.4 HEP-Paper biblatex data model]
+%
+%<*documentation>
+\RequirePackage[l2tabu, orthodox]{nag}
+\documentclass{ltxdoc}
+
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+
+\MacroIndent=1.5em
+
+\usepackage[parskip]{hep-paper}
+
+\bibliography{bibliography}
+
+\acronym{PDF}{portable document format}
+\acronym{URL}{uniform resource locator}
+
+\usepackage{hologo}
+
+\newenvironment{columns}[1][.5]{%
+  \begin{minipage}[t]{\linewidth}%
+  \begin{minipage}[t]{#1\linewidth}%
+  \newcommand{\column}{%
+    \end{minipage}%
+    \begin{minipage}[t]{\linewidth-#1\linewidth}%
+  }%
+}{\end{minipage}\end{minipage}}
+
+\setlength{\fboxsep}{1pt}
+%</documentation>
+
+%<*driver>
+\expandafter\newif\csname ifshort\endcsname
+\shortfalse
+\begin{document}
+\DocInput{hep-paper-implementation.dtx}
+\end{document}
+%</driver>
+%
+% \fi
+%
+% \CheckSum{1302}
+%
+% \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}{2019/01/01}{Initial version of the style file.}
+% \changes{v1.1}{2020/01/01}{Transition to documented \hologo{LaTeX} source file.}
+% \changes{v1.2}{2020/03/01}{Introduction of package options.}
+% \changes{v1.3}{2020/05/01}{Inclusion of JHEP and JCAP package options. Fix of incompatibility with recent subcaption package version. Move of biblatex datamodel into its own file}
+% \changes{v1.4}{2020/08/01}{If possible the compatibility options are selected automatically. Inclusion of PubMed IDs in bibliography.}
+%
+% \ifshort
+%<*documentation>
+%
+\begin{document}
+% \fi
+
+\GetFileInfo{hep-paper.sty}
+
+\title{The |hep-paper| package\thanks{This document corresponds to \protecting{|hep-paper|}~\fileversion.}}
+\author{Jan Hajer \email{jan.hajer at uclouvain.be}}
+\affiliation{Centre for Cosmology, Particle Physics and Phenomenology, Université catholique de Louvain, Louvain-la-Neuve B-1348, Belgium}
+\preprint{Preprint-Number}
+\date{\normalfont\filedate}
+
+\maketitle
+
+\begin{abstract}
+The |hep-paper| package aims to provide a single style file containing most configurations and macros necessary to write appealing publications in High Energy Physics.
+Instead of reinventing the wheel by introducing newly created macros |hep-paper| preferably loads third party packages as long as they are lightweight enough.
+\end{abstract}
+
+\tableofcontents\clearpage
+
+\newgeometry{vscale=.8, vmarginratio=3:4, includeheadfoot, left=11em, marginparwidth=4.6cm, marginparsep=3mm, right=7em}
+
+\section{Introduction}
+
+For usual publications it is enough to load additionally to the |article| class without optional arguments only the |hep-paper| package \cite{hep-paper}.
+
+| \documentclass{article}|\\
+| \usepackage{hep-paper}|
+
+The most notable changes after loading the |hep-paper| package is the change of some \hologo{LaTeX} defaults.
+The paper and font sizes are set to A4 and \unit[11]{pt}, respectively.
+Additionally, the paper geometry is set to the values known from the (depreciated) |a4wide| package \cite{a4wide} using the |geometry| package \cite{geometry}.
+Furthermore, the font is changed to |lmodern| \cite{lmodern} with |microtype| \cite{microtype} optimizations.
+Finally, \PDF hyperlinks are implemented with the |hyperref| package \cite{hyperref}.
+
+\subsection{Options}
+
+\DescribeMacro{paper}
+The |paper=|\meta{format} option loads the specified paper format.
+The possible \meta{formats} are:
+|a0|, |a1|, |a2|, |a3|, |a4|, |a5|, |a6|,
+|b0|, |b1|, |b2|, |b3|, |b4|, |b5|, |b6|,
+|c0|, |c1|, |c2|, |c3|, |c4|, |c5|, |c6|,
+|ansia|, |ansib|, |ansic|, |ansid|, |ansie|,
+|letter|, |executive|, |legal|.
+The default is |a4|.
+
+\DescribeMacro{font}
+The |font=|\meta{size} option loads the specified font size.
+The possible \meta{sizes} are:
+|8pt|, |9pt|, |10pt|, |11pt|, |12pt|, |14pt|, |17pt|, |20pt|.
+The default is \unit[11]{pt}.
+
+\DescribeMacro{lang}
+The |lang|=\meta{name} option switches the document language to the chosen value.
+The possible values are given by the |babel| package \cite{babel}.
+The default is |british|.
+
+\DescribeMacro{sansserif}
+The |sansserif| option switches the document including math to the sans serif font shape.
+
+\DescribeMacro{parskip}
+The |parskip| option makes use of the |parskip| package \cite{parskip} and changes how two paragraphs are separated from each other.
+The \hologo{LaTeX} default is separation via indentation the |parskip| option switches to separation via vertical space.
+\footnote{Although the |parskip| option is used for this document, it is recommended only for very few document types such as technical manuals or answers to referees.}
+
+\subsubsection{Deactivation}
+
+The \software{hep-paper} package loads few bigger packages which have a large impact on the document.
+The deactivation options prevent such adjustments.
+
+\DescribeMacro{defaults}
+The |defaults| option prevents the adjustment of the page geometry and the font size set by the document class.
+
+\DescribeMacro{title}
+The |title=false| option deactivates the title page adjustments.
+
+\DescribeMacro{bibliography}
+The |bibliography|=\meta{key} option prevents the automatic loading of the |biblatex| package \cite{biblatex} if \meta{key}=|false|.
+Otherwise the \meta{key} is passed as |style| string to the |biblatex| package.
+
+\DescribeMacro{glossaries}
+The |glossaries=false| option deactives acronyms and the use of the |glossaries| package \cite{glossaries}.
+
+\DescribeMacro{references}
+The |references=false| option prevents the |cleveref| pacakge \cite{cleveref} from being loaded and deactivates further redefinitions of reference macros.
+
+\subsubsection{Compatibility}
+
+The compatibility options activate the compatibility mode for certain classes and packages used for publications in high energy physics.
+They are mostly suitable combinations of options described in the previous section.
+If \software{hep-paper} is able to detect the presence of such a class or package, \ie if it is loaded before the \software{hep-paper} package, the compatibility mode is activated automatically.
+
+\DescribeMacro{beamer}
+The |beamer| option activates the \software{beamer} \cite{beamer} compatibility mode.
+
+\DescribeMacro{jhep}
+The |jhep| option activates the \software{JHEP} \cite{jhep} compatibility mode.
+
+\DescribeMacro{jcap}
+The |jcap| option activates the \software{JCAP} \cite{jcap} compatibility mode.
+
+\DescribeMacro{revtex}
+The |revtex| option activates the REV\hologo{TeX} \cite{revtex} compatibility mode.
+
+\DescribeMacro{pos}
+The |pos| option activates the \software{PoS} compatibility mode.
+
+\subsubsection{Reactivation}
+
+The \software{hep-paper} package deactivates unrecommended macros, which can be reactivated manually.
+
+\DescribeMacro{manualplacement}
+The |manualplacement| option reactivates manual float placement.
+
+\DescribeMacro{eqnarray}
+The |eqnarray| option reactivates the depreciated |eqnarray| environment.
+
+\section{Macros and environments}
+
+\subsection{Title page}
+
+\DescribeMacro{\author}
+\DescribeMacro{\affiliation}
+\DescribeMacro{\email}
+In order to facilitate multiple authors with different affiliations the |authblk| package \cite{authblk} is loaded.
+The following lines add \eg two authors with different affiliations
+
+| \author[1]{Author one \email{Email one}}|\\
+| \affiliation[1]{Affiliation one}|\\
+| \author[2]{Author two \email{Email two}}|\\
+| \affiliation[1,2]{Affiliation two}|
+
+\DescribeMacro{\title}
+The \PDF meta information is set according to the |\title|\marg{text} and |\author| \marg{text} information.
+
+\DescribeMacro{\preprint}
+The |\preprint|\marg{numer} macro places a pre-print number in the upper right corner of the title page.
+
+\DescribeEnv{abstract}
+The |abstract| environment is adjusted to not start with an indentation.
+
+\subsection{Text}
+
+Hyphenation is provided by the |babel| package \cite{babel} and quotation commands are provided by the |csquotes| package \cite{csquotes} recommended by the |babel| package.
+\DescribeMacro{\enquote}
+\DescribeMacro{\MakeOuterQuote}
+The latter package provides the convenient macros |\enquote|\marg{text} and |\MakeOuterQuote{"}| allowing to leave the choice of quotation marks to \hologo{LaTeX} and use |"| instead of the pair |``| and |''|, respectively.
+
+\DescribeMacro{\eg}
+\DescribeMacro{\vs}
+The |foreign| package \cite{foreign} defines macros such as |\eg|, |\ie|, |\cf|, and |\vs| which are typeset as \eg, \ie, \cf, and \vs.
+
+\DescribeMacro{\no}
+The |\no|\marg{number} macro is typeset as \no{123}.
+
+\DescribeMacro{\software}
+The |\software|\oarg{version}\marg{name} macro is typeset as \software[\fileversion]{HEP-Paper}.
+
+\DescribeMacro{\online}
+The |\online|\marg{url}\marg{text} macro combines the features of the |\href|\marg{url} \marg{text} \cite{hyperref} and the |\url|\marg{text} \cite{url} macros, resulting in \eg \online{https://ctan.org/pkg/hep-paper}{ctan.org/pkg/hep-paper}.
+
+The |inlinelist| and |enumdescript| environments are defined using the |enumitem| package \cite{enumitem}.
+
+\DescribeMacro{inlinelist}
+\begin{columns}
+|The three main points are|
+|\begin{inlinelist}|
+
+| \item one|
+
+| \item two|
+
+| \item three|
+
+|\end{inlinelist}|
+\column
+The three main points are
+\begin{inlinelist}
+ \item one
+ \item two
+ \item three
+\end{inlinelist}
+\end{columns}
+
+\DescribeMacro{enumdescript}
+\begin{columns}[.6]
+|\begin{enumdescript}[label=\Roman*)]|
+
+| \item{First} one|
+
+| \item{Second} two|
+
+| \item{Third} three|
+
+|\end{enumdescript}|
+\column
+\begin{enumdescript}[label=\Roman*)]
+ \item{First} one
+ \item{Second} two
+ \item{Third} three
+\end{enumdescript}
+\end{columns}
+
+\DescribeMacro{\textsc}
+A bold versions \textbf{\textsc{Small Caps}} and a sans serif version of \textsf{\textsc{Small Caps}} is provided, using the |sansmathfonts| package \cite{sansmathfonts}.
+
+\DescribeMacro{\underline}
+\DescribeMacro{\overline}
+The |\underline| macro is redefined to allow line-breaks using the |ulem| package \cite{ulem}.
+The |\overline| macro is extended to also \overline{overline} text outside of math environments.
+
+\DescribeMacro{\useparskip}
+\DescribeMacro{\useparindent}
+If the |parskip| option is activated the |\useparindent| macro switches back the usual parindent mode, while the |\useparskip| macro switches to the parskip mode.
+
+\subsubsection{References and footnotes}
+
+\DescribeMacro{\cref}
+References are extended with the |cleveref| package \cite{cleveref}, which allows to \eg just type |\cref|\marg{key}  in order to write \enquote{figure 1}.
+Furthermore, the |cleveref| package allows to reference multiple objects within one |\cref|\marg{key1,key2}.
+
+\DescribeMacro{\cite}
+Citations are adjusted to not start on a new line in order to avoid the repeated use of |~\cite|\marg{key}.
+
+\DescribeMacro{\ref}
+\DescribeMacro{\eqref}
+\DescribeMacro{\subref}
+References are also adjusted to not start on a new line and are redefined in order to handle multiple references at once.
+
+\DescribeMacro{\footnote}
+Footnotes are adjusted to swallow white space before the footnote mark and at the beginning of the footnote text.
+
+\subsubsection{Acronyms}
+
+\DescribeMacro{\acronym}
+\DescribeMacro{\shortacronym}
+\DescribeMacro{\longacronym}
+The |\acronym|\meta{*}\oarg{typeset abbreviation}\marg{abbreviation}\meta{*}\marg{definition}\oarg{plural\linebreak[4]definition} macro generates the singular |\|\meta{abbreviation} and plural |\|\meta{abbreviation}|s| macros.
+The first star prevents the addition of an \enquote{s} to the abbreviation plural.
+The second star restores the \hologo{TeX} default of swallowing subsequent white space.
+The long form is only shown at the first appearance of these macros, later appearances generate the abbreviation with a hyperlink to the long form.
+Capitalization at the beginning of paragraphs and sentences is ensured.
+The |\shortacronym| and |\longacronym| macros are drop-in replacements of the |\acronym| macro showing only the short or long form of their acronym.
+\DescribeMacro{\resetacronym}
+\DescribeMacro{\dummyacronym}
+The first use form of the acronym can be enforced by resetting the acronym counter with |\resetacronym|\marg{key}.
+If the acronym counter equals one at the end of the document the short form of the acronym is not introduced.
+Placing a |\dummyacronym|\marg{key} at the end of the document ensures that the short form is introduced.
+
+\subsection{Math}
+
+The |mathtools| \cite{mathtools} and |amssymb| \cite{amsfonts} packages are loaded.
+They in turn load the \hologo{AmSLaTeX} |amsmath| \cite{amsmath} and |amsfonts| \cite{amsfonts} packages.
+\DescribeMacro{\mathbf}
+Bold math, via |\mathbf| is improved by the |bm| package \cite{bm}, \ie ($ A  b  \Gamma \delta \mathbf A \mathbf b \mathbf \Gamma \mathbf \delta$).
+Macros switching to |bfseries| such as |\section|\marg{text} are ensured to also typeset math in bold.
+This may cause trouble if bold symbols carry an additional non-implicit meaning.
+\DescribeMacro{\text}
+The |\text|\marg{text} macro makes it possible to write text within math mode, \ie ($ \text A  \text b  \text \Gamma \text \delta \text{\textbf A} \text{\textbf b} \text{\textbf \Gamma} \text{\textbf \delta}$).
+The often used |\mathrm|\marg{text} and |{\rm|\meta{text}|}| macros are \emph{not} the correct tool for this purpose, as they switch to roman font shape.
+This behaviour conflicts \eg with the |sansserif| package option.
+\DescribeMacro{\mathsf}
+The math sans serif alphabet is redefined to be italic sans serif if the main text is serif and italic serif if the main text is sans serif, \ie ($\mathsf A \mathsf b \mathsf \Gamma \mathsf \delta \mathbf{\mathsf A} \mathbf{\mathsf b} \mathbf{\mathsf \Gamma} \mathbf{\mathsf \delta}$).
+\DescribeMacro{\mathscr}
+The |\mathcal| font \ie ($\mathcal{ABCD}$) is accompanied by the |\mathscr| font \ie ($\mathscr{ABCD}$).
+\DescribeMacro{\mathbb}
+The |\mathbb| font is improved by the |doublestroke| package \cite{dsfont} and adjusted depending on the |sansserif| option \ie ($\mathbb{Ah1}$).
+\DescribeMacro{\mathfrak}
+Finally, the |\mathfrak| font is also available \ie ($\mathfrak{AaBb12}$).
+Details about the font handling in \hologo{TeX} can be found in \ccite{fntguide}.
+
+\DescribeMacro{\nicefrac}
+\DescribeMacro{\flatfrac}
+The |\frac|\marg{number}\marg{number} macro is accompanied by |\nicefrac|\linebreak[1]\marg{number}\linebreak[1]\marg{number} and |\flatfrac|\marg{number}\marg{number} leading to $\frac12$, $\nicefrac 12$, and $\flatfrac 12$.
+\DescribeMacro{\diag}
+\DescribeMacro{\sgn}
+Diagonal matrix |\diag| and signum |\sgn| operators are defined.
+
+\DescribeMacro{\mathdef}
+The |\mathdef|\marg{name}\oarg{arguments}\marg{code} macro (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{\numberwithin}
+For longer paper it can be useful to re-number the equation in accordance with the section numbering |\numberwithin{equation}{section}|.
+\DescribeMacro{subequations}
+In order to further reduce the size the of equation counter it can be useful to wrap |align| environments with multiple rows in a |subequations| environment.
+Both macros are provided by the |amsmath| package.
+
+\DescribeMacro{eqnarray}
+The depreciated |eqnarray| environment is undefined as long this behaviour is not prevented by the |eqnarray| package option.
+The |split|, |multline|, |align|, |multlined|, |aligned|, |alignedat|, and |cases| environments of the |amsmath| and |mathtools| packages should be used instead.
+
+\DescribeMacro{equation}
+Use the |equation| environment for short equations.
+
+\begin{columns}
+|\begin{equation}|
+
+| left = right \ .|
+
+|\end{equation}|
+\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{multline}|
+
+| left = right 1 \\|
+
+| + right 2 \ .|
+
+|\end{multline}|
+\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{equation} \begin{split}|
+
+| left &= right 1 \\|
+
+| &= right 2 \ .|
+
+|\end{split} \end{equation}|
+\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{subequations}|
+|\begin{align}|
+
+| left &= right \ , &|
+| left &= right \ , \\|
+| left &= right \ , &|
+| left &= right \ .|
+
+|\end{align}|
+|\end{subequations}|
+\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{equation} \begin{split}|
+
+| left &= right 1 \\ &=|
+| \begin{multlined}[t]|
+|  right 2 \\ + right 3 \ .|
+| \end{multlined}|
+|\end{split} \end{equation}|
+\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{subequations}|
+|\begin{alignat}{2}|
+
+| left &= long right && \ , \\|
+
+| le. 2 &= ri. 2 \ , &|
+
+| \mathllap{le. 3 = ri. 3} & \ .|
+|\end{alignat}|
+|\end{subequations}|
+\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.
+
+\subsubsection{Physics}
+
+Greek letters are adjusted to always be italic and upright in math and text mode, respectively, using the |fixmath| \cite{fixmath} and |alphabeta| \cite{alphabeta} packages.
+This allows differentiations like
+\begin{align}
+\sigma &= \unit[5]{fb} \ , & &\text{at \unit[5]{\sigma} C.L.} \ , & \mu &= \unit[5]{cm} \ , & l &= \text{\unit[5]{\mu m}} \ ,
+\label{eq:greek}
+\end{align}
+and \eg to distinguish gauge $\nu$ and mass \nu\ eigenstates in models with massive neutrinos.
+Additionally, Greek letters can also be directly typed using Unicode.
+
+\DescribeMacro{\ev}
+\DescribeMacro{\pdv}
+\DescribeMacro{\comm}
+\DescribeMacro{\order}
+The |physics| package \cite{physics} provides additional macros such as
+\begin{align}
+&\ev{\phi} \ ,
+&&\pdv[n]{f}{x} \ ,
+&&\comm{A}{B} \ ,
+&&\order{x^2} \ ,
+&&\eval{x}_0^\infty \ ,
+&&\det(M)\ .
+\end{align}
+
+\DescribeMacro{\cancel}
+\DescribeMacro{\slashed}
+The |\cancel|\marg{characters} macro from the |cancel| \cite{cancel} package and the |\slashed| \marg{character} macro from the |slashed| \cite{slashed} package allow to $\cancel{\text{cancel}}$ math and use the Dirac slash notation \ie $\slashed \partial$, respectively.
+
+\DescribeMacro{\overleftright}
+A better looking over left right arrow is defined \ie $\overleftright{\partial}$.
+
+\DescribeMacro{\unit}
+\DescribeMacro{\inv}
+The correct spacing for units, \cf \cref{eq:greek}, is provided by the macro |\unit|\oarg{value} \marg{unit} from the |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}}|.
+
+\subsection{Floats}
+
+\DescribeEnv{figure}
+\DescribeEnv{table}
+Automatic float placement is adjusted to place a single float at the top of pages and to reduce the number of float pages, using the \hologo{LaTeX} macros.
+
+|\setcounter{bottomnumber}{0}| \hfill no floats at the bottom of a page (default 1) \\
+|\setcounter{topnumber}{1}| \hfill a single float at the top of a page (default 2) \\
+|\setcounter{dbltopnumber}{1}| \hfill same for full widths floats in two-column mode \\
+|\renewcommand{\textfraction}{.1}| \hfill large floats are allowed (default 0.2)\\
+|\renewcommand{\topfraction}{.9}| \hfill (default 0.7) \\
+|\renewcommand{\dbltopfraction}{.9}| \hfill (default 0.7) \\
+|\renewcommand{\floatpagefraction}{.8}| \hfill float pages must be full (default 0.5)
+
+Additionally, manual float placement is deactivated but can be reactivated using the |manualplacement| package option.
+It is however recommended to archive the desired design by adjusting above macros.
+The most useful float placement is usually archived by placing the float \emph{in front} of the paragraph it is referenced in first.
+\DescribeMacro{\raggedright}
+The float environments have been adjusted to center their content.
+The usual behaviour can be reactivated using |\raggedright|.
+
+\begin{table}
+\begin{panels}{.6}
+\raggedright
+|\begin{panels}{.6}|\\
+|code|\\
+|\panel{.4}|\\
+|\begin{tabular}...\end{tabular}|\\
+|\end{panels}|\\
+\caption{Code for this panel environment.}
+\label{tab:panels}
+\panel{.4}
+\begin{tabular}{cccc}
+\toprule
+\multicolumn{2}{c}{one}& \multicolumn{2}{c}{two} \\ \cmidrule(r){1-2} \cmidrule(l){3-4}
+\multirow{2}{*}{a} & b & c & d \\
+ & b & c & d \\
+\bottomrule
+\end{tabular}
+\caption{The \protecting{|booktabs|} and \protecting{|multirow|} features.}
+\label{tab:booktabs}
+\end{panels}
+\caption{Example use of the \protecting{|panels|} environment in Panel \subref{tab:panels} and the features from the \protecting{|booktabs|} and \protecting{|multirow|} packages in Panel \subref{tab:booktabs}.
+} \label{tab:table}
+\end{table}
+
+\DescribeEnv{panels}
+\DescribeMacro{\panel}
+The |panels| environment makes use of the |subcaption| package \cite{subcaption}.
+It provides sub-floats and takes as mandatory argument either the number of sub-floats (default~2) or the width of the first sub-float as fraction of the |\linewidth|.
+Within the |\begin{panels}|\oarg{vertical alignment}\marg{width} environment the |\panel| macro initiates a new sub-float.
+In the case that the width of the first sub-float has been given as an optional argument to the |panels| environment the |\panel|\marg{width} macro takes the width of the next sub-float as mandatory argument.
+The example code is presented in \cref{tab:panels}.
+
+\DescribeEnv{tabular}
+The |booktabs| \cite{booktabs} and |multirow| \cite{multirow} packages are loaded enabling publication quality tabulars such as in \cref{tab:booktabs}.
+
+\DescribeMacro{\graphic}
+\DescribeMacro{\graphics}
+The |graphicx| package \cite{graphicx} is loaded and the |\graphic|\oarg{width}\marg{figure} macro is defined, which is a wrapper for the |\includegraphics|\marg{figure} macro and takes the figure width as fraction of the |\linewidth| as optional argument (default~1).
+If the graphics are located in a sub-folder its path can be indicated by |\graphics|\marg{subfolder}.
+
+\subsection{Bibliography}
+
+\DescribeMacro{\bibliography}
+\DescribeMacro{\printbibliography}
+The |biblatex| package \cite{biblatex} is loaded for bibliography management.
+The user has to add the line |\bibliography|\marg{my.bib} to the preamble of the document and |\printbibliography| at the end of the document.
+The bibliography is generated by \software{Biber} \cite{biber}.
+|biblatex| is extended to be able to cope with the |collaboration| and |reportNumber| fields provided by \online{https://inspirehep.net}{inspirehep.net} and a bug in the volume number is fixed.
+Additionally, the PubMed IDs are recognized and \online{https://ctan.org}{ctan.org}, \online{https://github.com}{github.com}, \online{https://gitlab.com}{gitlab.com}, \online{https://bitbucket.org}{bitbucket.org}, \online{https://www.launchpad.net}{launchpad.net}, \online{https://sourceforge.net}{sourceforge.net}, and \online{https://hepforge.org}{hepforge.org} are valid |eprinttype|s.
+\DescribeMacro{erratum}
+Errata can be included using the |related| feature.
+
+| \article{|\meta{key1}|,|\\
+|   |\dots|,|\\
+|   relatedtype="erratum",|\\
+|   related="|\meta{key2}|",|\\
+| }|\\
+| \article{|\meta{key2}|,|\\
+|   |\dots|,|\\
+| }|
+
+\section{Conclusion}
+
+The |hep-paper| package provides a matching selection of preloaded packages and additional macros enabling the user to focus on the content instead of the layout by reducing the amount of manual tasks.
+The majority of the loaded packages are fairly lightweight, the others can be deactivated with package options.
+
+\DescribeMacro{arxiv-collector}
+\nolinkurl{arxiv.org} \cite{arxiv} requires the setup dependent |bbl| files instead of the original |bib| files, which causes trouble if the local \hologo{LaTeX} version differs from the one used by arXiv.
+The |arxiv-collector| python script \cite{arxiv-collector} alleviates this problem by collecting all files necessary for publication on arXiv (including figures).
+
+% \ifshort
+\printbibliography
+
+\end{document}
+%
+%</documentation>
+% \fi
+%
+% \StopEventually{
+% \printbibliography
+% \PrintChanges
+% }
+%
+% \addtocontents{toc}{\protect\clearpage}
+% \clearpage
+% \appendix
+%
+% \ifshort
+%<*package>
+% \fi
+%
+% \section{Options}
+%
+% Load the |pdftexcmds| \cite{pdftexcmds} and |kvoptions| \cite{kvoptions} packages and define a |hep| namespace.
+%    \begin{macrocode}
+\RequirePackage{pdftexcmds}
+\RequirePackage{kvoptions}
+\SetupKeyvalOptions{
+  family=hep,
+  prefix=hep@
+}
+%    \end{macrocode}
+%
+% \begin{macro}{paper}
+% Define a |paper=|\meta{size} option.
+% Make A4 paper the default.
+%    \begin{macrocode}
+\DeclareStringOption[a4]{paper}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{font}
+% Define a |font=|\meta{size} option.
+% Make \unit[11]{pt} the default font size.
+%    \begin{macrocode}
+\DeclareStringOption[11pt]{font}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{lang}
+% Define the |lang| option, which takes the values provided by the |babel| package \cite{babel}.
+% Make |british| the default language.
+%    \begin{macrocode}
+\DeclareStringOption[british]{lang}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{sansserif}
+% Define the option pair |serif| and |sansserif| controling the font shape of the whole document.
+%    \begin{macrocode}
+\DeclareBoolOption[true]{serif}
+\DeclareComplementaryOption{sansserif}{serif}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{parskip}
+% Define the option pair |parindent| and |parskip| controlling the separation of paragraphs.
+%    \begin{macrocode}
+\DeclareBoolOption[true]{parindent}
+\DeclareComplementaryOption{parskip}{parindent}
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsection{Deactivation}
+%
+% \begin{macro}{defaults}
+% Define the |defaults| option which deactivates the |paper| and |font| options and prevents the change of the class defaults by this package.
+%    \begin{macrocode}
+\DeclareBoolOption[false]{defaults}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{title}
+% Provide the option |title| for deactivating redefinition of title macros.
+%    \begin{macrocode}
+\DeclareBoolOption[true]{title}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{bibliography}
+% Provide the option |bibliography| for passing a |style| string to the |biblatex| package \cite{biblatex} or disabling the automatic loading of |biblatex|.
+%    \begin{macrocode}
+\DeclareStringOption[numeric-comp]{bibliography}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{glossaries}
+% Provide the option |glossaries| able to turn of the use of the |glossaries| package \cite{glossaries}.
+%    \begin{macrocode}
+\DeclareBoolOption[true]{glossaries}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{references}
+% Provide the option |references| for preventing the |cleveref| package from being loaded redefinitions of reference macros.
+%    \begin{macrocode}
+\DeclareBoolOption[true]{references}
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsection{Compatibility}
+%
+% \begin{macro}{beamer}
+% Provide the option |beamer| for \software{beamer} \cite{beamer} compatibility mode.
+%    \begin{macrocode}
+\DeclareBoolOption[false]{beamer}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{revtex}
+% Provide the option |revtex| for REV\hologo{TeX} \cite{revtex} compatibility mode.
+%    \begin{macrocode}
+\DeclareBoolOption[false]{revtex}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{jhep}
+% Provide the option |jhep| for |JHEP| \cite{jhep} compatibility mode.
+%    \begin{macrocode}
+\DeclareBoolOption[false]{jhep}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{jcap}
+% Provide the option |jcap| for |JCAP| \cite{jcap} compatibility mode.
+%    \begin{macrocode}
+\DeclareBoolOption[false]{jcap}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{pos}
+% Provide the option |pos| for |PoS| compatibility mode.
+%    \begin{macrocode}
+\DeclareBoolOption[false]{pos}
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsection{Reactivation}
+%
+% \begin{macro}{eqnarray}
+% Provide the option |eqnarray| for reactivating the |eqnarray| environment.
+%    \begin{macrocode}
+\DeclareBoolOption[false]{eqnarray}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{manualplacement}
+% Provide the |manualplacement| option for reactivating the manual placement of floats.
+%    \begin{macrocode}
+\DeclareBoolOption[false]{manualplacement}
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsection{Process options}
+%
+%    \begin{macrocode}
+\ProcessKeyvalOptions*
+%    \end{macrocode}
+%
+% \subsection{Set compatibility}
+%
+% Set the |pos| compatibility options.
+%    \begin{macrocode}
+\@ifclassloaded{PoS}{\setkeys{hep}{pos}}{}
+\ifhep at pos
+  \setkeys{hep}{defaults, title=false}
+  \DeclareRobustCommand\boldmath{\@nomath\boldmath\mathversion{bold}}
+\fi
+%    \end{macrocode}
+%
+% Set the |beamer| compatibility options.
+%    \begin{macrocode}
+\@ifclassloaded{beamer}{\setkeys{hep}{beamer}}{}
+\ifhep at beamer
+  \setkeys{hep}{defaults, title=false, references=false, sansserif}
+\fi
+%    \end{macrocode}
+%
+% Set the |revtex| compatibility options.
+%    \begin{macrocode}
+\@ifclassloaded{revtex4}{\setkeys{hep}{revtex}}{}
+\@ifclassloaded{revtex4-1}{\setkeys{hep}{revtex}}{}
+\@ifclassloaded{revtex4-2}{\setkeys{hep}{revtex}}{}
+\ifhep at revtex
+  \setkeys{hep}{defaults, title=false, bibliography=false, lang=american}
+\fi
+%    \end{macrocode}
+%
+% Define the SISSA conditional.
+%    \begin{macrocode}
+\@ifpackageloaded{jheppub}{\setkeys{hep}{jhep}}{}
+\@ifpackageloaded{jcappub}{\setkeys{hep}{jcap}}{}
+\newif\ifhep at sissa
+\ifhep at jhep\hep at sissatrue
+\else
+  \ifhep at jcap\hep at sissatrue
+  \else\hep at sissafalse
+  \fi
+\fi
+%    \end{macrocode}
+%
+% Set the SISSA compatibility options.
+%    \begin{macrocode}
+\ifhep at sissa
+  \setkeys{hep}{title=false, bibliography=false}
+  \PassOptionsToPackage{
+    colorlinks=true, linktocpage=true, pdfproducer=medialab, pdfa=true,
+    urlcolor=blue, anchorcolor=blue, citecolor=blue, filecolor=blue,
+    linkcolor=blue, menucolor=blue, pagecolor=blue
+  }{hyperref}
+  \PassOptionsToPackage{reset}{geometry}
+\fi
+%    \end{macrocode}
+% Set the JHEP compatibility options.
+%    \begin{macrocode}
+\ifhep at jhep
+  \voffset 0in
+  \hoffset 0in
+\fi
+%    \end{macrocode}
+
+% \section{Text}
+%
+% Load the |alphabeta| package \cite{alphabeta} first in order to archive the correct behaviour.
+% The |alphabeta| package provides upright Greek letters in text mode.
+%    \begin{macrocode}
+\RequirePackage{alphabeta}
+%    \end{macrocode}
+%
+% Set the whole text to sans serif if requested.
+% Load the |sansmathfonts| package \cite{sansmathfonts} first.
+% Although, most fonts will later be overwritten by the |lmodern| package \cite{lmodern} some mathematical objects are ensured to be in sans serif.
+%    \begin{macrocode}
+\ifhep at serif\else
+  \RequirePackage{sansmathfonts}
+  \renewcommand\familydefault{\sfdefault}
+\fi
+%    \end{macrocode}
+%
+% \begin{macro}{\ifxetexorluatex}
+% Load the |ifluatex| \cite{ifluatex} and |ifxetex| \cite{ifxetex} packages.
+% Define the |\ifxetexorluatex| conditional checking if the package is executed by \hologo{LuaLaTeX} or \hologo{XeLaTeX}.
+%    \begin{macrocode}
+\RequirePackage{ifluatex}
+\RequirePackage{ifxetex}
+\newif\ifxetexorluatex
+\ifxetex\xetexorluatextrue
+\else
+  \ifluatex\xetexorluatextrue
+  \else\xetexorluatexfalse
+  \fi
+\fi
+%    \end{macrocode}
+% \end{macro}
+%
+% Pick the correct font encoding depending on the engine used and load the |fontenc| package \cite{fontenc} with this encoding.
+% For details of the font encoding see \cite{encguide}.
+%    \begin{macrocode}
+\ifxetexorluatex
+  \def\hep at encoding{TU}
+\else
+  \def\hep at encoding{T1}
+\fi
+\RequirePackage[\hep at encoding]{fontenc}
+%    \end{macrocode}
+% Fix the remaining coputer modern fonts \cite{fix-cm}, load the |lmodern| font \cite{lmodern}, the |textcomp| extension \cite{textcomp}, and the |microtype| font optimization \cite{microtype}.
+%    \begin{macrocode}
+\RequirePackage{fix-cm}
+\RequirePackage{lmodern}
+\RequirePackage{textcomp}
+\RequirePackage{microtype}
+%    \end{macrocode}
+%
+% Define bold and sans serif small caps font shapes using the fontspec package \cite{fontspec}.
+% The font abbreviations are
+% \begin{description}[nosep]
+%  \item[lmr] Latin modern roman font
+%  \item[lmss] Latin modern sans serif font
+%  \item[cmss] Computer modern sans serif font
+%  \item[xcmss] Extended computer modern sans serif font (from the |sansmathfonts| package \cite{sansmathfonts})
+%  \item[bx] Bold extended series
+%  \item[b] Bold series
+%  \item[m] Medium weight and width series
+%  \item[c] Medium weight, condensed width series
+%  \item[sc] Caps and small caps font shape
+% \end{description}
+%    \begin{macrocode}
+\ifxetexorluatex
+  \RequirePackage{fontspec}
+  \setmainfont{Latin Modern Roman}[
+    UprightFeatures={SmallCapsFont={[lmromancaps10-regular.otf]}},
+    BoldFeatures={
+      SmallCapsFeatures={Letters=SmallCaps},
+      SmallCapsFont={[cmunbx.otf]}
+    }
+  ]
+  \DeclareFontShape{\hep at encoding}{lmss}{bx}{sc}{<->cmssbxcsc10}{}
+  \DeclareFontShape{\hep at encoding}{lmss}{b}{sc}{<->cmssbxcsc10}{}
+  \DeclareFontShape{\hep at encoding}{lmss}{m}{sc}{%
+    <-9>cmsscsc8<9-10>cmsscsc9<10->cmsscsc10%
+  }{}
+\else
+  \rmfamily
+  \DeclareFontShape{\hep at encoding}{lmr}{b}{sc}{<->ssub*cmr/bx/sc}{}
+  \DeclareFontShape{\hep at encoding}{lmr}{bx}{sc}{<->ssub*cmr/bx/sc}{}
+  \sffamily
+  \DeclareFontShape{\hep at encoding}{lmss}{bx}{sc}{<->ssub*xcmss/bx/sc}{}
+  \DeclareFontShape{\hep at encoding}{lmss}{b}{sc}{<->ssub*xcmss/bx/sc}{}
+  \DeclareFontShape{\hep at encoding}{lmss}{m}{sc}{<->ssub*xcmss/m/sc}{}
+\fi
+%    \end{macrocode}
+
+% Load the |inputenc| \cite{inputenc} package.
+%    \begin{macrocode}
+\ifxetexorluatex\else
+  \RequirePackage[utf8]{inputenc}
+\fi
+%    \end{macrocode}
+%
+% Load the |babel| \cite{babel} package for hyphenation and the recommended |csquotes| package \cite{csquotes}.
+%    \begin{macrocode}
+\RequirePackage[\hep at lang]{babel}
+\RequirePackage{csquotes}
+%    \end{macrocode}
+%
+% \begin{macro}{\underline}
+% Load the |ulem| package \cite{ulem} for hyphenable underlined text.
+%    \begin{macrocode}
+\RequirePackage[normalem]{ulem}
+\let\underline\uline
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsection{Font size} \label{sec:font size}
+%
+% Undefine previously defined font sizes and load the \hologo{LaTeX} font size file corresponding to the font size option.
+%    \begin{macrocode}
+\ifhep at defaults\else
+  \def\hep at remove@pt#1pt{#1}
+  \edef\hep at pt@size{\expandafter\hep at remove@pt\hep at font}
+  \let\small\relax
+  \let\footnotesize\relax
+  \let\scriptsize\relax
+  \let\tiny\relax
+  \let\large\relax
+  \let\Large\relax
+  \let\LARGE\relax
+  \let\huge\relax
+  \let\Huge\relax
+  \input{size\hep at pt@size.clo}
+\fi
+%    \end{macrocode}
+
+% \subsection{Text macros}
+%
+%\begin{macro}{\vs}
+% Load the |foreign| package \cite{foreign} in order to highlight abbreviations and vocabularies from foreign languages.
+% Add the missing |\vs| command.
+%    \begin{macrocode}
+\ifnum\pdf at strcmp{\hep at lang}{american}=0
+  \newcommand{\hep at lang@foreign}{USenglish}
+\else
+  \ifnum\pdf at strcmp{\hep at lang}{USenglish}=0
+    \newcommand{\hep at lang@foreign}{USenglish}
+  \else
+    \newcommand{\hep at lang@foreign}{british}
+  \fi
+\fi
+\RequirePackage[all, \hep at lang@foreign]{foreign}
+\DeclareRobustCommand\vs{\xperiodafter{{\foreignabbrfont{vs}}}}
+%    \end{macrocode}
+% \end{macro}
+%
+% The |foreign| package relies on the |xspace| package \cite{xspace}.
+% Ensure that |\xspace| is compatible with the |\enquote| macro from the |csquote| package.
+%    \begin{macrocode}
+\xspaceaddexceptions{\csq at qclose@i}
+%    \end{macrocode}
+
+%\begin{macro}{\no}
+% Define the macro |\no|\marg{number} for the use of \textnumero\ with appropriate spacing.
+%    \begin{macrocode}
+\newcommand{\no}[1]{\textnumero~#1}
+%    \end{macrocode}
+% \end{macro}
+%
+%\begin{macro}{\software}
+% Define a macro for software with optional version information |\software|\linebreak[1]\oarg{version}\linebreak[1]\marg{name}, using the |relsize| package \cite{relsize}.
+%    \begin{macrocode}
+\RequirePackage{relsize}
+\newcommand{\software}[2][\hspace{-\fontdimen2\font}]{%
+  {\smaller\textsc{#2}~#1}%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\online}
+% Define the |\online|\marg{text}\marg{url} macro combining the features of the |\href| and the |\url| macros.
+%    \begin{macrocode}
+\newcommand{\online}[2]{\href{#1}{\nolinkurl{#2}}}
+%    \end{macrocode}
+% \end{macro}
+
+% \subsection{Lists}
+%
+% Load the |enumitem| package \cite{enumitem}.
+%    \begin{macrocode}
+\RequirePackage[inline]{enumitem}
+%    \end{macrocode}
+%
+% \begin{environment}{inlinelist}
+% Define an inline list environment.
+%    \begin{macrocode}
+\newlist{inlinelist}{enumerate*}{1}
+\setlist*[inlinelist,1]{%
+  label=\roman*), itemjoin={,\ }, itemjoin*={, and\ }, after=.%
+}
+%    \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{enumdescript}
+% Define an enumdescript list environment.
+%    \begin{macrocode}
+\newlist{enum at descript}{enumerate}{2}
+\setlist[enum at descript]{label=\arabic*.}
+\newenvironment{enumdescript}[1][]{
+\begin{enum at descript}[#1]
+  \let\hep at item\item
+  \renewcommand{\item}[2][]{
+    \ifx&##1&\hep at item\else\hep at item[##1]\fi
+    \textbf{##2}\ifx##2\empty\else~\fi\@ifnextchar\par\@gobble\relax
+  }
+}{\end{enum at descript}}
+%    \end{macrocode}
+% \end{environment}
+
+% \section{Geometry}
+%
+% Load the |geometry| package \cite{geometry} and adjust the text width and height to the values of the |a4wide| package \cite{a4wide}.
+% This step must happen after readjusting the font size in \cref{sec:font size}.
+%    \begin{macrocode}
+\ifhep at defaults\else
+  \RequirePackage{geometry}
+  \geometry{%
+    \hep at paper paper,
+    hscale=.75,
+    vscale=.8,
+    vmarginratio=3:4,
+    includeheadfoot
+  }
+\fi
+%    \end{macrocode}
+
+%\begin{macro}{\useparskip}
+%\begin{macro}{\useparindent}
+% Load the |parskip| package \cite{parskip} if requested and provide two commands switching between the two paragraph modes.
+%    \begin{macrocode}
+\ifhep at parindent\else
+\RequirePackage{parskip}
+\newcommand{\useparskip}{%
+  \setlength{\parskip}{.5\baselineskip plus 2pt}%
+  \setlength{\parindent}{0pt}%
+}
+\newcommand{\useparindent}{%
+  \setlength{\parskip}{0pt}%
+  \setlength{\parindent}{15pt}%
+  \if at twocolumn\setlength\parindent{1em}
+  \else\setlength\parindent{1.5em}
+  \fi
+}
+\fi
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+
+% \section{Math}
+%
+% Load the |mathtools| package \cite{mathtools} which loads the |amsmath| package \cite{amsmath}.
+% Additionally, load the |amssymb| package \cite{amsfonts} which provides further math symbols and also loads the |amsfont| package \cite{amsfonts}.
+% Allow page breaks within equations if necessary.
+%    \begin{macrocode}
+\RequirePackage{mathtools}
+\RequirePackage{amssymb}
+\allowdisplaybreaks[1]
+%    \end{macrocode}
+
+% \begin{macro}{\diag}
+% \begin{macro}{\sgn}
+% Provide the |\diag| and |\sgn| operators
+%    \begin{macrocode}
+\DeclareMathOperator{\diag}{diag}
+\DeclareMathOperator{\sgn}{sgn}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+
+% \begin{macro}{\mathdef}
+% Define the |\mathdef|\marg{name}\oarg{arguments}\marg{macro} macro which (re-)defines macros in math mode only.
+% This macro is implemented using the |xparse| package \cite{xparse}.
+%    \begin{macrocode}
+\RequirePackage{xparse}
+\DeclareDocumentCommand{\mathdef}{mO{0}m}{%
+  \expandafter\let\csname text\string#1\endcsname=#1
+  \expandafter\newcommand\csname math\string#1\endcsname[#2]{#3}
+  \DeclareRobustCommand#1{%
+    \ifmmode
+      \expandafter\let\expandafter\next\csname math\string#1\endcsname
+    \else
+      \expandafter\let\expandafter\next\csname 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 |ulem| package \cite{ulem}.
+% Extend it as a math macro with the original definition from |amsmath| \cite{amsmath}.
+%    \begin{macrocode}
+\def\overline#1{{\renewcommand{\ULdepth}{-1.9ex}{}\uline{#1}}}
+\DeclareRobustCommand{\over at line}[1]{\@@overline{#1}}
+\mathdef{\overline}{\over at line}
+%    \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\left}
+% \begin{macro}{\right}
+% Load the |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}{eqnarray}
+% Undefine the |eqnarray| environment if not prevented by package option.
+%    \begin{macrocode}
+\ifhep at eqnarray\else
+  \let\eqnarray\@undefined
+  \let\endeqnarray\@undefined
+\fi
+%    \end{macrocode}
+% \end{macro}
+
+% \subsection{Math fonts}
+%
+% \begin{macro}{\mathbf}
+% Load the |bm| package \cite{bm} for superior boldmath after limiting the number of allocated math alphabets.
+% Make math symbols bold whenever they appear in bold macros such as |\section|\marg{text}.
+%    \begin{macrocode}
+\ifhep at serif\providecommand{\bmmax}{2}\else\providecommand{\bmmax}{1}\fi
+\RequirePackage{bm}
+\let\mathbf\bm
+\g at addto@macro\bfseries{\boldmath}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\mathsf}
+% Load the |fixmath| package \cite{fixmath} which ensures that upper Greek letters in math mode are italic.
+% Ensure that also math mode is sans serif using the |sfmath| package \cite{sfmath} if the sans serif option is used.
+% Ensure that |\mathsf| is italic as well as sans serif and sans for sans and sans serif documents, respectively.
+% The font abbreviations are
+% \begin{description}[nosep]
+%  \item[OML] \hologo{TeX} math italic font encoding
+%  \item[cmm] Computer modern math italic font
+%  \item[cmbr] Computer modern bright font
+%  \item[bx] Bold extended series
+%  \item[m] Medium weight and width series
+%  \item[it] Italic font shape
+% \end{description}
+%    \begin{macrocode}
+\ifhep at serif
+  \RequirePackage{fixmath}
+  \newcommand\hep at sf@font{cmbr}
+\else
+  \RequirePackage[slantedGreek]{sfmath}
+  \RequirePackage{sansmathfonts}
+  \newcommand\hep at sf@font{cmm}
+\fi
+\SetMathAlphabet{\mathsf}{normal}{OML}{\hep at sf@font}{m}{it}
+\SetMathAlphabet{\mathsf}{bold}{OML}{\hep at sf@font}{bx}{it}
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{\mathscr}
+% Load the |mathrsfs| package for the |\mathscr| math script font.
+%    \begin{macrocode}
+\DeclareMathAlphabet{\mathscr}{U}{rsfs}{m}{n}
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{\mathbb}
+% Load the |dsfont| package \cite{dsfont} and adjust the |\mathbb| math blackboard style font according to the (sans-) serif option.
+%    \begin{macrocode}
+\ifhep at serif
+  \newcommand\hep at bb@font{dsrom}
+\else
+  \newcommand\hep at bb@font{dsss}
+\fi
+\SetMathAlphabet{\mathbb}{normal}{U}{\hep at bb@font}{m}{n}
+%    \end{macrocode}
+% \end{macro}
+
+% \subsection{Physics notation}
+%
+% \begin{macro}{\cancel}
+% \begin{macro}{\slashed}
+% \begin{macro}{\unit}
+% Load the |physics| package \cite{physics} which provides macros useful for publications in physics.
+% Additionally, load the |cancel| \cite{cancel} and |slashed| \cite{slashed} packages which provide the |\cancel| and |\slashed| macros.
+% Finally, load the |units| package \cite{units} which provides the |\units| and |\nicefrac| macros.
+%    \begin{macrocode}
+\RequirePackage{physics}
+\RequirePackage{cancel}
+\RequirePackage{slashed}
+\RequirePackage{units}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \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}{\d}
+% Provide a differential |\d|.
+%    \begin{macrocode}
+\AtBeginDocument{\mathdef{\d}{\dd}}
+%    \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]{%
+  \raisebox{1pt}{\ensuremath{\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{\overleftright}[1]{\oset{\leftrightarrow}{#1}}
+%    \end{macrocode}
+% \end{macro}
+
+% \section{Floats}
+%
+% Adjust the \hologo{LaTeX} float placement defaults
+%    \begin{macrocode}
+\setcounter{bottomnumber}{0} % 1
+\setcounter{topnumber}{1} % 2
+\setcounter{dbltopnumber}{1} % 2
+\renewcommand{\topfraction}{.9} % .7
+\renewcommand{\dbltopfraction}{.9} % .7
+\renewcommand{\textfraction}{.1} % .2
+\renewcommand{\floatpagefraction}{.8} % .5
+%    \end{macrocode}
+
+% \begin{environment}{figure}
+% \begin{environment}{table}
+% Center the content of |figure| and |table| environments.
+% Ignore the manual placement if the |manualplacement| option is set to false.
+%    \begin{macrocode}
+\let\@figure@\figure%
+\let\@end at figure@\endfigure%
+\let\@table@\table%
+\let\@end at table@\endtable%
+\ifhep at manualplacement%
+  \renewenvironment{figure}[1][tbp]{%
+    \@figure@[#1]\centering%
+    }{\@end at figure@}%
+  \renewenvironment{table}[1][tbp]{%
+    \@table@[#1]\centering%
+  }{\@end at table@}%
+\else%
+  \renewenvironment{figure}[1][]{%
+    \@figure@\centering%
+  }{\@end at figure@}%
+  \renewenvironment{table}[1][]{%
+    \@table@\centering%
+  }{\@end at table@}
+\fi%
+%    \end{macrocode}
+% \end{environment}
+% \end{environment}
+
+% \subsection{Sub-floats}
+%
+% \begin{macro}{\ifhep at journal}
+% Define a new journal conditional.
+%    \begin{macrocode}
+\newif\ifhep at journal
+\ifhep at sissa\hep at journaltrue
+\else
+  \ifhep at revtex\hep at journaltrue
+  \else
+    \ifhep at pos\hep at journaltrue
+    \else\hep at journalfalse
+    \fi
+  \fi
+\fi
+%    \end{macrocode}
+% \end{macro}
+%
+% Prevent the |caption| package \cite{caption} from complaining about the journal classes and packages.
+%    \begin{macrocode}
+\ifhep at journal
+  \setlength\abovecaptionskip{\f at size\p@}
+  \setlength\belowcaptionskip{0\p@}
+  \long\def\@makecaption#1#2{%
+    \vskip\abovecaptionskip
+    \sbox\@tempboxa{#1: #2}%
+    \ifdim \wd\@tempboxa >\hsize
+      #1: #2\par
+    \else
+      \global \@minipagefalse
+      \hb at xt@\hsize{\hfil\box\@tempboxa\hfil}%
+    \fi
+    \vskip\belowcaptionskip%
+  }
+\fi
+%    \end{macrocode}
+%
+% Load the |subcaption| package \cite{subcaption}.
+% Provide the old |\subcaption at minipage| macro.
+%    \begin{macrocode}
+\RequirePackage[subrefformat=parens]{subcaption}
+\captionsetup{font=small}
+\captionsetup[sub]{font=small}
+\providecommand*\subcaption at minipage[2]{%
+  \minipage#1{#2}\setcaptionsubtype\relax%
+}
+%    \end{macrocode}
+% \begin{environment}{panels}
+% \begin{macro}{\panel}
+% Define the |panels| environment and the |\panel| macro.
+%    \begin{macrocode}
+\newenvironment{panels}[2][b]{%
+%    \end{macrocode}
+% Define an internal macro for global behaviour.
+%    \begin{macrocode}
+  \newcommand{\begin at subcaption@minipage}[2][b]{%
+    \caption at withoptargs\subcaption at minipage[##1]{##2}%
+    \centering\vskip 0pt%
+  }
+%    \end{macrocode}
+% Define the |\panel| macro for the case that the number of panels is given.
+%    \begin{macrocode}
+  \ifdim#2pt>1pt%
+    \newcommand{\panel}[1][b]{%
+      \endminipage\hfill\begin at subcaption@minipage[#1]{\linewidth/#2}%
+    }%
+    \begin at subcaption@minipage[#1]{\linewidth/#2}%
+%    \end{macrocode}
+% Define the |\panel| macro for the case that the width of the panel is given.
+%    \begin{macrocode}
+  \else%
+    \newcommand{\panel}[2][b]{%
+      \endminipage\hfill\begin at subcaption@minipage[#1]{##2\linewidth}%
+    }%
+    \begin at subcaption@minipage[#1]{#2\linewidth}%
+  \fi%
+}{\endminipage}
+%    \end{macrocode}
+% \end{macro}
+% \end{environment}
+
+% Reajust the captions to the revtex class using the |ragged2e| package \cite{ragged2e}.
+%    \begin{macrocode}
+\ifhep at revtex
+  \RequirePackage{ragged2e}
+  \DeclareCaptionFormat{revtex}{#1#2\justifying{#3}}
+  \captionsetup{font=small, format=revtex}
+  \captionsetup[sub]{font=footnotesize, format=plain}
+  \renewcommand{\figurename}{Figure}
+  \renewcommand{\tablename}{Table}
+\fi
+%    \end{macrocode}
+
+% \subsection{Tables}
+%
+% \begin{environment}{tabular}
+% Enhance tabulars with the |booktabs| and |multirow| packages \cite{booktabs, multirow}.
+%    \begin{macrocode}
+\RequirePackage{booktabs}
+\RequirePackage{multirow}
+%    \end{macrocode}
+% \end{environment}
+
+% \subsection{Figures}
+%
+% \begin{macro}{\graphic}
+% Provide the |\graphic| macro for the inclusion of figures using the |graphicx| package \cite{graphicx}.
+%    \begin{macrocode}
+\RequirePackage{graphicx}
+\providecommand{\tikzsetnextfilename}[1]{}
+\newcommand{\graphic}[2][1]{\tikzsetnextfilename{#2}{%
+  \centering\includegraphics[width=#1\linewidth]{#2}\par%
+}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\graphics}
+% Provide the |\graphics| macro for the inclusion of figures located in a subfolder.
+%    \begin{macrocode}
+\newcommand{\graphics}[1]{\graphicspath{{./#1/}}}
+%    \end{macrocode}
+% \end{macro}
+
+% \section{Title page}
+%
+% Begin of |title| conditional.
+%    \begin{macrocode}
+\ifhep at title
+%    \end{macrocode}
+%
+% \begin{macro}{\date}
+% Allow absent date field.
+%    \begin{macrocode}
+\date{}
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsection{Authors}
+%
+% \begin{macro}{\author}
+% Allow absent author field.
+%    \begin{macrocode}
+\author{}
+%    \end{macrocode}
+% \end{macro}
+%
+% Enable the handling of multiple authors with different affiliations using the |authblk| package \cite{authblk}.
+%    \begin{macrocode}
+\RequirePackage{authblk}
+\renewcommand\Affilfont{\footnotesize}
+%    \end{macrocode}
+%
+% \begin{macro}{\email}
+% Define a macro for typesetting emails.
+% Redefine this macro to place the email address in a footnote if called from within the |\author| macro |\author{|$\langle name\rangle$ |\email{|$\langle email\rangle$|}}|.
+%    \begin{macrocode}
+\newcommand{\email}[1]{\online{mailto:#1}{#1}}
+\let\hep at author\author
+\def\author{%
+  \renewcommand{\email}[1]{\unskip\thanks{\online{mailto:##1}{##1}}}%
+  \hep at author
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\affiliation}
+% Define the |\affiliation| macro, ensure that linebreaks happen after a comma.
+%    \begin{macrocode}
+\newcommand\active at comma{,\penalty-5\relax}
+\newcommand\cat at comma@active{\catcode`\,\active}
+{\cat at comma@active\gdef,{\active at comma}}
+\newcommand\@affil[1]{%
+  \endgroup\@flushglue=0pt plus .5\linewidth\affil{#1}%
+}
+\def\@affil at opt[#1]#2{%
+  \endgroup\@flushglue=0pt plus .5\linewidth\affil[#1]{#2}%
+}
+\DeclareRobustCommand\@affiliation{\@ifnextchar[{\@affil at opt}{\@affil}}
+\newcommand{\affiliation}{\begingroup\cat at comma@active\@affiliation}
+%    \end{macrocode}
+% \end{macro}
+
+% \subsection{Preprint}
+%
+% \begin{macro}{\preprint}
+% Define the |\preprint| macro using the |varwidth| package \cite{varwidth}.
+%    \begin{macrocode}
+\let\@preprint\relax
+\newcommand\preprint[1]{\long\gdef\@preprint{#1}}
+\RequirePackage{varwidth}
+\newcommand{\@preprint at box}{%
+  \begin{varwidth}{\textwidth}%
+    \textsc{\small\@preprint}%
+  \end{varwidth}%
+}
+%    \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\maketitle}
+% Places a preprint number in the top right corner of the title page using the |atbegshi| \cite{atbegshi} and |picture| \cite{picture} packages.
+%    \begin{macrocode}
+\RequirePackage{atbegshi}
+\RequirePackage{picture}
+\let\hep at maketitle\maketitle
+\renewcommand{\maketitle}{%
+  \hep at maketitle%
+  \AtBeginShipoutFirst{%
+    \put(
+      \textwidth+\oddsidemargin-\widthof{\@preprint at box},
+      -2pt-\topmargin-\heightof{\@preprint at box}
+    ){\normalfont\@preprint at box}
+  }
+}
+%    \end{macrocode}
+% \end{macro}
+
+% \subsection{Abstract}
+%
+% \begin{environment}{abstract}
+% Adjust the |abstract| environment to not start with indentation.
+%    \begin{macrocode}
+\@ifundefined{abstract}{}{%
+  \let\hep at abstract\abstract%
+  \renewcommand\abstract{\hep at abstract\noindent\ignorespaces}%
+}
+%    \end{macrocode}
+% \end{environment}
+% End of |title| conditional.
+%    \begin{macrocode}
+\fi
+%    \end{macrocode}
+
+% \section{Bibliography}
+%
+% Check if bibliography management is requested.
+%    \begin{macrocode}
+\ifnum\pdf at strcmp{\hep at bibliography}{false}=0\else
+%    \end{macrocode}
+%
+% \begin{macro}{\bibliography}
+% Load the |biblatex| package \cite{biblatex} with the datamodel defined in \cref{sec:data model}.
+%    \begin{macrocode}
+\RequirePackage[style=\hep at bibliography, datamodel=hep-paper]{biblatex}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{hep-paper}
+% Provide the |\DeclareSortingTemplate| macro for older |biblatex| installations.
+% Define a new sorting template that sorts only multi key |\cite| entries according to their date and leaves the rest of the bibliography entries in the order they appear in the text.
+%    \begin{macrocode}
+\providecommand{\DeclareSortingTemplate}{\DeclareSortingScheme}
+\DeclareSortingTemplate{hep-paper}{
+  \sort{\citeorder}
+  \sort[final]{\field{sortkey}}
+  \sort{\field{sortyear} \field{year} \literal{9999}}
+  \sort{\field{month}}
+  \sort{\field{eprint} \field{doi}}
+  \sort{\field{sorttitle} \field{title}}
+  \sort{\field{subtitle} \field{volume}}
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% Use the new sorting scheme and abbreviat all first names.
+%    \begin{macrocode}
+\ExecuteBibliographyOptions{
+  sorting=hep-paper,
+  giveninits=true
+}
+%    \end{macrocode}
+%
+% \begin{macro}{erratum}
+% Add new bibliography string \enquote{Erratum} for the use in the |relatedtype| field.
+%    \begin{macrocode}
+\NewBibliographyString{erratum,erratums}
+\DefineBibliographyStrings{english}{erratum={Erratum},erratums={Errata}}
+\providecommand{\relateddelimerratum}{\addsemicolon\space}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\printbibliography}
+% Allow the bibliography to be printed sloppy
+%    \begin{macrocode}
+\let\hep at printbibliography\printbibliography
+\renewcommand{\printbibliography}{\sloppy\hep at printbibliography}
+%    \end{macrocode}
+% \end{macro}
+
+% \subsection{Sourcemap}
+%
+% \begin{macro}{\reg at exp@one}
+% \begin{macro}{\reg at exp@two}
+% \begin{macro}{\reg at exp@url}
+% \begin{macro}{\reg at exp@pmc}
+% Define regular expressions in order to deal with inconsistent journal title and volume naming as well as \URL protocols and the PMCID.
+%    \begin{macrocode}
+\newcommand{\reg at exp@one}{\regexp{\A(\p{L}+)?\d+(\p{L}+)?\Z}}
+\newcommand{\reg at exp@two}{\regexp{\A(\p{L}+)?(\d+)(\p{L}+)?\Z}}
+\newcommand{\reg at exp@url}{\regexp{\A(ht|f)tp(s)?:\/\/}}
+\newcommand{\reg at exp@pmc}{\regexp{\A(PMC)?}}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\DeclareSourcemap}
+% Use the |\DeclareSourcemap| feature.
+%    \begin{macrocode}
+\DeclareSourcemap{%
+  \maps[datatype=bibtex, overwrite=true]{%
+%    \end{macrocode}
+% \begin{macro}{collaboration}
+% Read the collaboration information if present.
+%    \begin{macrocode}
+    \map{%
+      \step[fieldsource=Collaboration, final=true]%
+      \step[fieldset=collaboration, origfieldval, final=true]
+    }%
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{reportnumber}
+% Read the pre-print information if present.
+%    \begin{macrocode}
+    \map{%
+      \step[fieldsource=reportNumber, final=true]%
+      \step[fieldset=reportnumber, origfieldval, final=true]
+    }%
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{journal}
+% Move letters from the volume field to the journal field.
+%    \begin{macrocode}
+    \map[overwrite]{
+      \step[fieldsource=volume, match=\reg at exp@one, final]
+      \step[fieldsource=volume, match=\reg at exp@two, replace={$2}]
+      \step[fieldsource=journal, fieldtarget=journaltitle]
+      \step[fieldset=journaltitle, fieldvalue={\space$1$2}, append=true]
+    }
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{url}
+% Remove the protocol from \URL.
+%    \begin{macrocode}
+    \map{
+      \step[fieldsource=url, final=true]
+      \step[fieldset=protocollessurl, origfieldval, final=true]
+      \step[fieldsource=protocollessurl, match=\reg at exp@url, replace={}]
+    }
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{pmc}
+% Remove the PMC from the PMCID.
+%    \begin{macrocode}
+    \map{
+      \step[fieldsource=pmcid, final=true]
+      \step[fieldset=pmc, origfieldval, final=true]
+      \step[fieldsource=pmc, match=\reg at exp@pmc, replace={}]
+    }
+  }%
+}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\letbibmacro}
+% Provide the |\letbibmacro| macro for old |biblatex| installations.
+%    \begin{macrocode}
+\providecommand{\letbibmacro}[2]{\csletcs{abx at macro@#1}{abx at macro@#2}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{collaboration}
+% Execute the author macro even if only the collaboration information if present and override the author information with collaboration information if present.
+%    \begin{macrocode}
+\renewbibmacro*{author/translator+others}{%
+  \ifboolexpr{
+    test \ifuseauthor and (
+      not test {\ifnameundef{author}} or
+      not test {\iffieldundef{collaboration}}
+    )
+  }
+  {\usebibmacro{author}}
+  {\usebibmacro{translator+others}}
+}
+\letbibmacro{hep at bib@author}{author}
+\renewbibmacro*{author}{%
+  \iffieldundef{collaboration}{%
+    \usebibmacro{hep at bib@author}}{\textit{\printfield{collaboration}}%
+  }%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{In:}
+% Remove spurious \enquote{In:} if no journal is present.
+%    \begin{macrocode}
+\renewbibmacro*{in:}{%
+  \iffieldundef{journaltitle}{}{\printtext{\bibstring{in}\intitlepunct}}%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{url}
+% Show \URLs without the protocol.
+%    \begin{macrocode}
+\DeclareFieldFormat{url}{%
+  \mkbibacro{URL}\addcolon\space\online{#1}{\thefield{protocollessurl}}%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bib at online}
+% Private |\bib at online| macro
+%    \begin{macrocode}
+\newcommand{\bib at online}[2]{%
+  \ifhyperref{\online{#1}{#2}}{\nolinkurl{#2}}%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{pmid}
+% \begin{macro}{pmcid}
+% Present PubMed IDs.
+%    \begin{macrocode}
+\DeclareFieldFormat{pmid}{%
+  \mkbibacro{PM}\addcolon\space%
+  \bib at online{https://www.ncbi.nlm.nih.gov/pubmed/#1}{#1}%
+}
+\DeclareFieldFormat{pmc}{%
+  \mkbibacro{PMC}\addcolon\space%
+  \bib at online{https://www.ncbi.nlm.nih.gov/pmc/articles/PMC#1}{#1}%
+}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{pmcid}
+% \begin{macro}{pmid}
+% \begin{macro}{reportnumber}
+% Add the pre-print and PubMed information if present.
+%    \begin{macrocode}
+\letbibmacro{hep-doi+eprint+url}{doi+eprint+url}
+\renewbibmacro*{doi+eprint+url}{%
+  \usebibmacro{hep-doi+eprint+url}
+  \iffieldundef{pmc}{%
+    \iffieldundef{pmid}{}{\printfield{pmid}\newunit}%
+  }{\printfield{pmc}\newunit}
+  \iffieldundef{reportnumber}{}{%
+    \newunitpunct\textnumero\intitlepunct%
+    \textsc{\small\printfield{reportnumber}}%
+    \newunit%
+  }%
+}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+
+% \subsection{Eprints}
+%
+% \begin{macro}{\new at eprint}
+% Private |\new at eprint| macro
+%    \begin{macrocode}
+\NewDocumentCommand{\new at eprint}{smm}{
+  \DeclareFieldFormat{eprint:#2}{%
+    \newcommand{\@path}{\IfBooleanT{#1}{\thefield{eprintclass}/}##1}%
+    #2\addcolon\space\bib at online{#3/\@path}{\@path}%
+  }%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{CTAN}
+% Add CTAN as a eprint option
+%    \begin{macrocode}
+\new at eprint{CTAN}{https://ctan.org/pkg}
+\DeclareFieldAlias{eprint:ctan}{eprint:CTAN}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{GitHub}
+% Add GitHub as a eprint option
+%    \begin{macrocode}
+\new at eprint*{GitHub}{https://github.com}
+\DeclareFieldAlias{eprint:github}{eprint:GitHub}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{GitLab}
+% Add GitLab as a eprint option
+%    \begin{macrocode}
+\new at eprint*{GitLab}{https://gitlab.com}
+\DeclareFieldAlias{eprint:gitlab}{eprint:GitLab}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{Bitbucket}
+% Add Bitbucket as a eprint option
+%    \begin{macrocode}
+\new at eprint*{Bitbucket}{https://bitbucket.org}
+\DeclareFieldAlias{eprint:bitbucket}{eprint:Bitbucket}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{Launchpad}
+% Add Launchpad as a eprint option
+%    \begin{macrocode}
+\new at eprint{Launchpad}{https://launchpad.net}
+\DeclareFieldAlias{eprint:launchpad}{eprint:Launchpad}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{SourceForge}
+% Add SourceForge as a eprint option
+%    \begin{macrocode}
+\new at eprint{SourceForge}{https://sourceforge.net/projects}
+\DeclareFieldAlias{eprint:launchpad}{eprint:SourceForge}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{HEPForge}
+% Add HEPForge as a eprint option
+%    \begin{macrocode}
+\DeclareFieldFormat{eprint:hepforge}{%
+  HEPForge\addcolon\space\bib at online{https://#1/hepforge.org}{#1}%
+}
+\DeclareFieldAlias{eprint:HEPForge}{eprint:hepforge}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% End check for bibliography option.
+%    \begin{macrocode}
+\fi
+%    \end{macrocode}
+
+% \section{Hyperlinks, Footnotes and References} \label{sec:hyperlinks}
+%
+% Load the |hyperref| package \cite{hyperref} enable Unicode encoding and hide links.
+%
+%    \begin{macrocode}
+\RequirePackage{hyperref}
+\hypersetup{
+  pdfencoding=auto, psdextra,
+  hidelinks, linktoc=all, breaklinks=true,
+  pdfcreator={}, pdfproducer={}
+}
+%    \end{macrocode}
+% Set the \PDF meta data according to the paper information and ensure that unnecessary information is suppressed.
+%
+%    \begin{macrocode}
+\pdfstringdefDisableCommands{\def\varepsilon{\textepsilon}}
+\AtBeginDocument{
+  \pdfstringdefDisableCommands{\let\ensuremath\@gobble}
+  \pdfstringdefDisableCommands{\let\mathsurround\@gobble}
+  \pdfstringdefDisableCommands{\let\unskip\@gobble}
+  \pdfstringdefDisableCommands{\let\thanks\@gobble}
+  \pdfstringdefDisableCommands{\let\footnote\@gobble}
+  \pdfstringdefDisableCommands{\let\\\@gobble}
+}
+\ifhep at revtex
+  \AtBeginShipout{\hypersetup{pdftitle={\@title}}}
+\else
+  \ifhep at beamer\else
+    \AtBeginDocument{\hypersetup{pdftitle={\@title}}}
+  \fi
+\fi
+\ifhep at title
+  \AtBeginDocument{\hypersetup{pdfauthor=\AB at authlist}}
+\else
+  \ifhep at beamer\else
+    \AtBeginDocument{\hypersetup{pdfauthor={\@author}}}
+  \fi
+\fi
+%    \end{macrocode}
+
+% \subsection{Footnotes}
+%
+% Place a hyperlink from the footnote back to its referencing label using the |footnotebackref| package \cite{footnotebackref}.
+%    \begin{macrocode}
+\def\BackrefFootnoteTag{}
+\RequirePackage{footnotebackref}
+%    \end{macrocode}
+%
+% \begin{macro}{\footnote}
+% Ensure that no spaces appear before the footmark or at the beginning of the footnote.
+%    \begin{macrocode}
+\let\@foot at note\footnote
+\renewcommand{\footnote}[1]{\unskip\@foot at note{\ignorespaces#1}}
+%    \end{macrocode}
+% \end{macro}
+
+% \subsection{References}
+%
+% Begin of |references| conditional
+%    \begin{macrocode}
+\ifhep at references
+%    \end{macrocode}
+%
+% \begin{macro}{\cref}
+% Improve reference using the |cleveref| package \cite{cleveref}.
+%
+%    \begin{macrocode}
+\RequirePackage[noabbrev, nameinlink]{cleveref}
+\newcommand{\creflastconjunction}{, and\nobreakspace}
+\crefname{enumi}{point}{points}
+\crefname{inlinelisti}{point}{points}
+%    \end{macrocode}
+% \end{macro}
+%
+%\begin{macro}{\no at break@before}
+% Define a macro able to prevent line breaks.
+%    \begin{macrocode}
+\newcommand\no at break@before{%
+  \relax\ifvmode\else%
+    \ifhmode%
+      \ifdim\lastskip > 0pt%
+        \relax\unskip\nobreakspace%
+      \fi%
+    \fi%
+  \fi%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ref}
+% Adjust |\ref|\marg{key} in order to prevent preceding line breaks and to enable the possibility to reference multiple references at once.
+%    \begin{macrocode}
+\let\hep at ref\ref
+\AtBeginDocument{\renewcommand\ref{\no at break@before\labelcref}}
+%    \end{macrocode}
+% \end{macro}
+% ! Bug ! in equations the additional brackets from the cleveref macro conflict with the traditional |(\ref|\marg{key}|)| approach
+
+% \begin{macro}{\eqref}
+% Adjust |\eqref|\marg{key} in order to prevent preceding line breaks and to enable the possibility to reference multiple equations at once.
+%    \begin{macrocode}
+\renewcommand\eqref{\no at break@before\labelcref}
+%    \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\subref}
+% Adjust |\subref|\marg{key} in order to prevent preceding line breaks.
+%    \begin{macrocode}
+\let\hep at subref\subref
+\renewcommand\subref{\no at break@before\hep at subref}
+\renewcommand*\subcaption at ref[2]{\begingroup%
+  \caption at setoptions{sub}%
+  \subcaption at reffmt\p at subref{\hep at ref#1{sub@#2}}%
+\endgroup}
+%    \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\subcref}
+% Provide the |\subcref| macro.
+%    \begin{macrocode}
+\newcommand{\subcref}[1]{\cref{sub@#1}}
+%    \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\eqcrefname}
+% Define the |\eqcrefname| macro for named equation types.
+%    \begin{macrocode}
+\NewDocumentCommand{\eqcrefname}{mmo}{
+  \crefname{#1}{#2}{\IfValueTF{#3}{#3}{#2s}}
+  \creflabelformat{#1}{(##2##1##3)}
+}
+%    \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\labelcrefrange}
+% Define the missing |\labelcrefrange|\marg{key1}\marg{key2} macro.
+%    \begin{macrocode}
+\DeclareRobustCommand{\labelcrefrange}[2]{%
+  \@crefrangenostar{labelcref}{#1}{#2}%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% End of |references| conditional
+%    \begin{macrocode}
+\fi
+%    \end{macrocode}
+
+% \subsection{Citations}
+%
+% \begin{macro}{\cite}
+% Adjust |\cite|\marg{key} in order to prevent preceding line breaks.
+%    \begin{macrocode}
+\let\hep at cite\cite
+\renewcommand\cite{\no at break@before\hep at cite}
+%    \end{macrocode}
+% \end{macro}
+
+% Begin of bibliography if.
+%    \begin{macrocode}
+\ifnum\pdf at strcmp{\hep at bibliography}{false}=0\else
+%    \end{macrocode}
+% Define bibstrings for reference names.
+%    \begin{macrocode}
+\NewBibliographyString{refname}
+\NewBibliographyString{refsname}
+\DefineBibliographyStrings{english}{%
+  refname = {reference},
+  refsname = {references}
+}
+%    \end{macrocode}
+% \begin{macro}{\ccite}
+% \begin{macro}{\Ccite}
+% Define \emph{clever} citation macros.
+% \begin{macrocode}
+\DeclareCiteCommand{\ccite}{%
+  \ifnum\thecitetotal=1
+    \bibstring{refname}%
+  \else%
+    \bibstring{refsname}%
+  \fi%
+  \addnbspace\bibopenbracket%
+  \usebibmacro{cite:init}\usebibmacro{prenote}%
+}{\usebibmacro{citeindex}\usebibmacro{cite:comp}}{}{%
+  \usebibmacro{cite:dump}\usebibmacro{postnote}%
+  \bibclosebracket%
+}
+
+\newrobustcmd*{\Ccite}{\bibsentence\ccite}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% End of biblatex if.
+%    \begin{macrocode}
+\fi
+%    \end{macrocode}
+
+% \section{Acronyms}
+%
+% Acronyms are implemented with the |glossaries-extra| package \cite{glossaries-extra} which is an extension of the |glossaries| package \cite{glossaries} and must be loaded after the |hyperref| pacakge in \cref{sec:hyperlinks}.
+%    \begin{macrocode}
+\ifhep at glossaries
+\RequirePackage[nostyles]{glossaries-extra}
+%    \end{macrocode}
+% The entry count feature is used.
+%    \begin{macrocode}
+\glsenableentrycount
+\glssetcategoryattribute{abbreviation}{entrycount}{1}
+%    \end{macrocode}
+% Provide macros for older |glossaries-extra| installations.
+%    \begin{macrocode}
+\providecommand{\glsxtrusefield}[2]{\@gls at entry@field{#1}{#2}}
+\providecommand{\glsxtrsetfieldifexists}[3]{\glsdoifexists{#1}{#3}}
+\providecommand{\gGlsXtrSetField}[3]{%
+  \glsxtrsetfieldifexists{#1}{#2}{%
+    \csgdef{glo@\glsdetoklabel{#1}@#2}{#3}%
+  }%
+}
+%    \end{macrocode}
+% Hyperlinks from the abbreviation to their definition in the text are set.
+%    \begin{macrocode}
+\glssetcategoryattribute{abbreviation}{nohyperfirst}{true}
+\renewcommand*{\glsdonohyperlink}[2]{{%
+  \glsxtrprotectlinks\edef\fieldvalue{%
+    \glsxtrusefield{\glslabel}{hastarget}%
+  }%
+  \ifdefstring\fieldvalue{true}{#2}{%
+    \gGlsXtrSetField{\glslabel}{hastarget}{true}%
+    \glsdohypertarget{#1}{#2}%
+  }%
+}}
+%    \end{macrocode}
+
+% \begin{macro}{\begin at sentence}
+% Mark the beginning of a paragraph as if it would follow a full stop using the |everyhook| package \cite{everyhook}.
+%    \begin{macrocode}
+\RequirePackage[excludeor]{everyhook}
+\newcommand{\begin at sentence}{1001}
+\PushPostHook{par}{{\spacefactor=\begin at sentence}}
+%    \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\frenchspacing}
+% Adjust the |\frenchspacing| macro to be compatibel with this idea.
+%    \begin{macrocode}
+\def\frenchspacing{%
+  \sfcode`\.\begin at sentence \sfcode`\?\begin at sentence
+  \sfcode`\!\begin at sentence \sfcode`\:\begin at sentence
+  \sfcode`\;\@m \sfcode`\,\@m
+}
+%    \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\if at begin@of at sentence}
+% Provide a macro checking for the beginning of a sentence by examining the length of the preceeding space.
+%    \begin{macrocode}
+\newcommand{\if at begin@of at sentence}[2]{\leavevmode\protecting{%
+  \ifboolexpr{ test {\ifnumcomp{\spacefactor}{=}{3000}} or%
+               test {\ifnumcomp{\spacefactor}{=}{2000}} or%
+               test {\ifnumcomp{\spacefactor}{=}{\begin at sentence}}%
+  }{#1}{#2}%
+}}
+%    \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\acronym}
+% The |\acronym|\meta{*}\oarg{typeset abbreviation}\marg{abbreviation}\meta{*}\marg{definition}\oarg{plural\linebreak[4] definition} macro is defined.
+% \begin{enumerate}[nosep, label=\#\arabic*]
+% \item star for omitting the \enquote{s} in the short plural
+% \item optional typeset abbreviation
+% \item mandatory abbreviation
+% \item star for restoring the \hologo{TeX} default for space after text macros
+% \item mandatory long form
+% \item optional plural long form
+% \end{enumerate}
+%    \begin{macrocode}
+\NewDocumentCommand{\acronym}{somsmo}{
+  \newabbreviation[
+    type=\acronymtype,
+    sort=#3,
+    \glsshortpluralkey=\IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}},
+    longplural=\IfNoValueTF{#6}{#5s}{#6}
+  ]{#3}{\IfNoValueTF{#2}{#3}{#2}}{#5}
+%    \end{macrocode}
+% Provide the singular acronym macro.
+%    \begin{macrocode}
+  \expandafter\newcommand\csname#3\endcsname{%
+    \if at begin@of at sentence{%
+      \ifglsused{#3}{\cgls{#3}}{\cGls{#3}}%
+    }{\cgls{#3}}%
+    \ifnum\glsentrycurrcount{#3}>1\relax
+      \IfBooleanTF{#4}{}{\@\xspace}%
+    \else\@\xspace\fi
+  }
+%    \end{macrocode}
+% Expand the singular acronym macro in \PDF labels.
+%    \begin{macrocode}
+  \pdfstringdefDisableCommands{\expandafter\def\csname#3\endcsname{%
+    \IfNoValueTF{#2}{#3}{#2} }%
+  }
+%    \end{macrocode}
+% Provide the singular acronym macro in math mode.
+%    \begin{macrocode}
+  \expandafter\mathdef\csname#3\endcsname{%
+    \text{\glsxtrshort{#3}}\@gls at increment@currcount{#3}%
+  }
+%    \end{macrocode}
+% Provide the plural acronym macro.
+%    \begin{macrocode}
+  \expandafter\newcommand\csname#3s\endcsname{%
+    \if at begin@of at sentence{\cGlspl{#3}}{\cglspl{#3}}%
+    \IfBooleanTF{#4}{}{\@\xspace}%
+  }
+%    \end{macrocode}
+% Expand the plural acronym macro in \PDF labels.
+%    \begin{macrocode}
+  \pdfstringdefDisableCommands{\expandafter\def\csname#3s\endcsname{%
+    \IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}} }%
+  }
+%    \end{macrocode}
+% Provide the plural acronym macro in math mode.
+%    \begin{macrocode}
+  \expandafter\mathdef\csname#3s\endcsname{%
+    \text{\glsxtrshortpl{#3}}\@gls at increment@currcount{#3}%
+  }
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\shortacronym}
+% The |\shortacronym| never expands into the long form.
+%    \begin{macrocode}
+\NewDocumentCommand{\shortacronym}{somsmo}{
+%    \end{macrocode}
+% Provide the singular acronym macro.
+%    \begin{macrocode}
+  \expandafter\newcommand\csname#3\endcsname{%
+    \IfNoValueTF{#2}{#3}{#2}\IfBooleanTF{#4}{}{\@\xspace}%
+  }
+%    \end{macrocode}
+% Expand the singular acronym macro in \PDF labels.
+%    \begin{macrocode}
+  \pdfstringdefDisableCommands{\expandafter\def\csname#3\endcsname{%
+    \IfNoValueTF{#2}{#3}{#2} }%
+  }
+%    \end{macrocode}
+% Provide the singular acronym macro in math mode.
+%    \begin{macrocode}
+  \expandafter\mathdef\csname#3\endcsname{%
+    \text{\IfNoValueTF{#2}{#3}{#2}}%
+  }
+%    \end{macrocode}
+% Provide the plural acronym macro.
+%    \begin{macrocode}
+  \expandafter\newcommand\csname#3s\endcsname{%
+    \IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}}%
+    \IfBooleanTF{#4}{}{\@\xspace}%
+  }
+%    \end{macrocode}
+% Expand the plural acronym macro in \PDF labels.
+%    \begin{macrocode}
+  \pdfstringdefDisableCommands{\expandafter\def\csname#3s\endcsname{%
+    \IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}} }%
+  }
+%    \end{macrocode}
+% Provide the plural acronym macro in math mode.
+%    \begin{macrocode}
+  \expandafter\mathdef\csname#3s\endcsname{%
+    \text{\IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}}}%
+  }%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\longacronym}
+% The |\longacronym| never shows the abbreviated form.
+%    \begin{macrocode}
+\NewDocumentCommand{\longacronym}{somsmo}{
+%    \end{macrocode}
+% Provide the singular acronym macro.
+%    \begin{macrocode}
+  \expandafter\newcommand\csname#3\endcsname{%
+    \if at begin@of at sentence{\MakeUppercase#5}{#5}%
+    \IfBooleanTF{#4}{}{\@\xspace}%
+  }
+%    \end{macrocode}
+% Expand the singular acronym macro in \PDF labels.
+%    \begin{macrocode}
+  \pdfstringdefDisableCommands{\expandafter\def\csname#3\endcsname{#5 }}
+%    \end{macrocode}
+% Provide the plural acronym macro.
+%    \begin{macrocode}
+  \expandafter\newcommand\csname#3s\endcsname{%
+    \if at begin@of at sentence{%
+      \IfNoValueTF{#6}{\MakeUppercase#5s}{\MakeUppercase#6}%
+    }{%
+      \IfNoValueTF{#6}{#5s}{#6}}\IfBooleanTF{#4}{}{\@\xspace}%
+  }
+%    \end{macrocode}
+% Expand the plural acronym macro in \PDF labels.
+%    \begin{macrocode}
+  \pdfstringdefDisableCommands{\expandafter\def\csname#3s\endcsname{%
+    \IfNoValueTF{#6}{#5s}{#6} }%
+  }
+}
+%    \end{macrocode}
+% \end{macro}
+% Silence warning if no acronyms are defined.
+%    \begin{macrocode}
+\renewcommand*{\@gls at write@entrycounts}{%
+  \immediate\write\@auxout{%
+    \string\providecommand*{\string\@gls at entry@count}[2]{}
+  }%
+  \count@=0\relax
+  \forallglsentries{\@glsentry}{%
+    \glshasattribute{\@glsentry}{entrycount}{%
+      \ifglsused{\@glsentry}{%
+        \immediate\write\@auxout{%
+          \string\@gls at entry@count{\@glsentry}{%
+            \glsentrycurrcount{\@glsentry}%
+          }
+        }%
+      }{}\advance\count@ by \@ne
+    }{}%
+  }%
+}
+%    \end{macrocode}
+% \begin{macro}{\resetacronym}
+% \begin{macro}{\dummyacronym}
+% Add two macros for acronym management.
+%    \begin{macrocode}
+\newcommand{\resetacronym}[1]{\protect\glsreset{#1}}
+\newcommand{\dummyacronym}[1]{\protect\glsunset{#1}}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{abstract}
+% Adjust the |abstract| environment to reset all acronym counters.
+%    \begin{macrocode}
+\@ifundefined{endabstract}{}{%
+  \let\end at hep@abstract\endabstract%
+  \renewcommand\endabstract{\glsresetall\end at hep@abstract}%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\tableofcontents}
+% \begin{macro}{\listoffigures}
+% \begin{macro}{\listoftables}
+% Adjust the |\tableofcontents| macro to never show the long form of acronyms.
+%    \begin{macrocode}
+\let\hep at table@of at contents\tableofcontents
+\renewcommand\tableofcontents{%
+  \glsunsetall\hep at table@of at contents\glsresetall%
+}
+\let\hep at list@of at figures\listoffigures
+\renewcommand\listoffigures{%
+  \glsunsetall\hep at list@of at figures\glsresetall%
+}
+\let\hep at list@of at tables\listoftables
+\renewcommand\listoftables{%
+  \glsunsetall\hep at list@of at tables\glsresetall%
+}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\acronyms}
+% Add a possibility to have different groups of acronyms.
+%    \begin{macrocode}
+\NewDocumentCommand{\acronyms}{om}{%
+  \IfNoValueTF{#1}{
+    \newglossary{#2}{#2.in}{#2.out}{#2}%
+    \renewcommand{\acronymtype}{#2}%
+  }{
+    \newglossary{#1}{#1.in}{#1.out}{#2}%
+    \renewcommand{\acronymtype}{#1}%
+  }
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% End of glossaries if.
+%    \begin{macrocode}
+\fi
+%    \end{macrocode}
+%
+% \ifshort
+%</package>
+%<*datamodel>
+% \fi
+%
+% \section{Biblatex datamodel file} \label{sec:data model}
+%
+% \begin{macro}{collaboration}
+% \begin{macro}{reportnumber}
+% \begin{macro}{pmid}
+% \begin{macro}{pmcid}
+% \begin{macro}{pmc}
+% \begin{macro}{protocollessurl}
+% Define the |dbx| file containing the |hep-paper| datamodel.
+%    \begin{macrocode}
+\DeclareDatamodelFields[type=field, datatype=literal]{
+  collaboration, reportnumber, pmid, pmcid, pmc,
+}
+\DeclareDatamodelFields[type=field, datatype=uri]{protocollessurl}
+\DeclareDatamodelEntryfields{
+  collaboration, reportnumber, pmid, pmcid, pmc, protocollessurl,
+}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \ifshort
+%</datamodel>
+% \fi
+%
+% \Finale
+
+\endinput
+
+% \PrintIndex
+% makeindex -s gglo.ist -o hep-paper-implementation.gls hep-paper-implementation.glo
+% makeindex -s gglo.ist -o hep-paper-implementation.ind hep-paper-implementation.idx
+
+% \begin{macro}{\refstepcounter at ...}
+% Adjust the |cleveref| |\refstepcounter at noarg| and |\refstepcounter at optarg| to use the |\@currentlabel| in order to fix problems with |\subref|.
+%    \begin{macrocode}
+% \def\refstepcounter at noarg#1{%
+%   \cref at old@refstepcounter{#1}%
+%   \cref at constructprefix{#1}{\cref at result}%
+%   \@ifundefined{cref@#1 at alias}%
+%     {\def\@tempa{#1}}%
+%     {\def\@tempa{\csname cref@#1 at alias\endcsname}}%
+%   \protected at edef\cref at currentlabel{%
+%     [\@tempa][\arabic{#1}][\cref at result]%
+%     \noexpand\@currentlabel%
+%   }% changed
+% }
+%
+% \def\refstepcounter at optarg[#1]#2{%
+%   \cref at old@refstepcounter{#2}%
+%   \cref at constructprefix{#2}{\cref at result}%
+%   \@ifundefined{cref@#1 at alias}%
+%     {\def\@tempa{#1}}%
+%     {\def\@tempa{\csname cref@#1 at alias\endcsname}}%
+%   \protected at edef\cref at currentlabel{%
+%     [\@tempa][\arabic{#2}][\cref at result]%
+%     \noexpand\@currentlabel% changed
+%   }%
+% }
+% %    \end{macrocode}
+% % \end{macro}
+%
+%
+% \usepackage{contour}
+% \renewcommand{\ULdepth}{1.8pt}
+% \contourlength{0.8pt}
+% \newcommand{\myuline}[1]{%
+%   \uline{\phantom{#1}}\llap{\contour{white}{#1}}%
+% }
+
+% \begin{macro}{\mathpzc}
+% Define the |\mathpzc| math script font based on the Zapf Chancery PostScript font.
+%    \begin{macrocode}
+% \DeclareFontFamily{OT1}{pzc}{}
+% \DeclareFontShape{OT1}{pzc}{m}{it}{<-> s * [1.15] pzcmi7t}{}
+% \DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}
+%    \end{macrocode}
+% \end{macro}


Property changes on: trunk/Master/texmf-dist/source/latex/hep-paper/hep-paper-implementation.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/source/latex/hep-paper/hep-paper.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/hep-paper/hep-paper.dtx	2020-09-01 21:34:25 UTC (rev 56235)
+++ trunk/Master/texmf-dist/source/latex/hep-paper/hep-paper.dtx	2020-09-01 21:34:50 UTC (rev 56236)
@@ -1,2116 +0,0 @@
-% \iffalse meta-comment
-%
-% 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.
-%
-% \fi
-%
-% \iffalse
-%
-%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-%<package>\ProvidesPackage{hep-paper}[2020/05/01 v1.3 Publications in High Energy Physics]
-%<datamodel>\ProvidesFile{hep-paper.dbx}[2020/05/01 v1.3 HEP-Paper biblatex data model]
-%
-%<*driver>
-
-\documentclass{ltxdoc}
-
-\MacroIndent=1.5em
-
-% \makeatletter
-% \newenvironment{decl}[1][]%
-%     {\par\small\addvspace{4.5ex plus 1ex}%
-%      \vskip -\parskip
-%      \ifx\relax#1\relax
-%         \def\@decl at date{}%
-%      \else
-%         \def\@decl at date{\NEWfeature{#1}}%
-%      \fi
-%      \noindent\hspace{-\leftmargini}%
-%      \begin{tabular}{|l|}\hline\ignorespaces}%
-%     {\\\hline\end{tabular}\nobreak\@decl at date\par\nobreak
-%      \vspace{2.3ex}\vskip -\parskip}
-% \makeatother
-
-\usepackage[parskip]{hep-paper}
-
-\bibliography{bibliography}
-
-\acronym{PDF}{portable document format}
-
-\usepackage{hologo}
-\usepackage{multicol}
-
-\usepackage{titletoc}
-\titlecontents{section}[0em]{\medskip\bfseries}{\thecontentslabel\hspace{.8em}}{}{\hfill\contentspage}
-
-\newenvironment{columns}[1][.5]{%
-  \begin{minipage}[t]{\linewidth}%
-  \begin{minipage}[t]{#1\linewidth}
-  \newcommand{\column}{%
-    \end{minipage}%
-    \begin{minipage}[t]{\linewidth-#1\linewidth}%
-  }%
-}{\end{minipage}\end{minipage}}
-
-\EnableCrossrefs
-\CodelineIndex
-\RecordChanges
-
-\begin{document}
-\DocInput{hep-paper.dtx}
-\end{document}
-
-%</driver>
-%
-% \fi
-%
-% \CheckSum{1140}
-%
-% \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}{2019/01/01}{Initial version of the style file}
-% \changes{v1.1}{2020/01/01}{Transition to documented \hologo{LaTeX} source file}
-% \changes{v1.2}{2020/03/01}{Introduction of package options}
-% \changes{v1.3}{2020/05/01}{Inclusion of JHEP and JCAP package options, fix incompatibility with recent subcaption package version, move biblatex datamodel into its own file}
-%
-% \GetFileInfo{hep-paper.sty}
-%
-% \DoNotIndex{\,,\@}
-% \DoNotIndex{\@affiliation,\@affil at opt,\@affil}
-%
-% \title{The |hep-paper| package\thanks{This document corresponds to \protecting{|hep-paper|}~\fileversion.}}
-% \author{Jan Hajer \email{jan.hajer at uclouvain.be}}
-% \affiliation{Centre for Cosmology, Particle Physics and Phenomenology, Université catholique de Louvain, Louvain-la-Neuve B-1348, Belgium}
-% \preprint{Preprint-Number}
-% \date{\normalfont\filedate}
-%
-% \maketitle
-%
-% \begin{abstract}
-% The |hep-paper| package aims to provide a single style file containing most configurations and macros necessary to write appealing publications in High Energy Physics.
-% Instead of reinventing the wheel by introducing newly created macros |hep-paper| preferably loads third party packages as long as they are lightweight enough.
-% \end{abstract}
-%
-% \clearpage\tableofcontents\clearpage
-%
-% \newgeometry{vscale=.8, vmarginratio=3:4, includeheadfoot, left=11em, marginparwidth=4.6cm, marginparsep=3mm, right=7em}
-%
-% \section{Introduction}
-%
-% For usual publications it is enough to load additionally to the |article| class without optional arguments only the |hep-paper| package \cite{hep-paper}.
-%
-% | \documentclass{article}|\\
-% | \usepackage{hep-paper}|
-%
-% The most notable changes after loading the |hep-paper| package is the change of some \hologo{LaTeX} defaults.
-% The paper and font sizes are set to A4 and \unit[11]{pt}, respectively.
-% Additionally, the paper geometry is set to the values known from the (depreciated) |a4wide| package \cite{a4wide} using the |geometry| package \cite{geometry}.
-% Furthermore, the font is changed to |lmodern| \cite{lmodern} with |microtype| \cite{microtype} optimizations.
-% Finally, \PDF hyperlinks are implemented with the |hyperref| package \cite{hyperref}.
-%
-% \subsection{Options}
-%
-% \DescribeMacro{paper}
-% The |paper=|\meta{format} option loads the specified paper format.
-% The possible \meta{formats} are:
-% |a0|, |a1|, |a2|, |a3|, |a4|, |a5|, |a6|,
-% |b0|, |b1|, |b2|, |b3|, |b4|, |b5|, |b6|,
-% |c0|, |c1|, |c2|, |c3|, |c4|, |c5|, |c6|,
-% |ansia|, |ansib|, |ansic|, |ansid|, |ansie|,
-% |letter|, |executive|, |legal|.
-%
-% \DescribeMacro{font}
-% The |font=|\meta{size} option loads the specified font size.
-% The possible \meta{sizes} are:
-% |8pt|, |9pt|, |10pt|, |11pt|, |12pt|, |14pt|, |17pt|, |20pt|.
-%
-% \DescribeMacro{defaults}
-% The |defaults| option prevents the adjustment of the page geometry and the font size set by the document class.
-%
-% \DescribeMacro{lang}
-% The |lang|=\meta{name} option switches the document language to the chosen value.
-% The possible values are given by the |babel| package \cite{babel}.
-% The default is |british|.
-%
-% \DescribeMacro{parskip}
-% The |parskip| option makes use of the |parskip| package \cite{parskip} and changes how two paragraphs are separated from each other.
-% The \hologo{LaTeX} default is separation via indentation the |parskip| option switches to separation via vertical space.
-% \footnote{The |parskip| option is used for this document.}
-%
-% \DescribeMacro{sansserif}
-% The |sansserif| option switches the document including math to sans serif font shape.
-%
-% \DescribeMacro{title}
-% The |title=false| option deactivates the title page adjustments.
-%
-% \DescribeMacro{manualplacement}
-% The |manualplacement| option reactivates manual float placement.
-%
-% \DescribeMacro{bibliography}
-% The |bibliography|=\meta{key} option prevents the automatic loading of the |biblatex| package \cite{biblatex} if \meta{key}=|false|.
-% Otherwise the \meta{key} is passed as |style| string to the |biblatex| package.
-%
-% \DescribeMacro{glossaries}
-% The |glossaries=false| option deactives the use of the |glossaries| package \cite{glossaries}.
-%
-% \DescribeMacro{jhep}
-% The |jhep| option activates the |JHEP| \cite{jhep} compatibility mode.
-%
-% \DescribeMacro{jcap}
-% The |jcap| option activates the |JCAP| \cite{jcap} compatibility mode.
-%
-% \DescribeMacro{revtex}
-% The |revtex| option activates the REV\hologo{TeX} \cite{revtex} compatibility mode.
-%
-% \DescribeMacro{pos}
-% The |pos| option activates the |PoS| compatibility mode.
-%
-% \DescribeMacro{eqnarray}
-% The |eqnarray| option reactivates the depreciated |eqnarray| environment.
-%
-% \section{Macros and environments}
-%
-% \subsection{Title page}
-%
-% \DescribeMacro{\author}
-% \DescribeMacro{\affiliation}
-% \DescribeMacro{\email}
-% In order to facilitate multiple authors with different affiliations the |authblk| package \cite{authblk} is loaded.
-% The following lines add \eg two authors with different affiliations
-%
-% | \author[1]{Author one \email{Email one}}|\\
-% | \affiliation[1]{Affiliation one}|\\
-% | \author[2]{Author two \email{Email two}}|\\
-% | \affiliation[1,2]{Affiliation two}|
-%
-% \DescribeMacro{\title}
-% The \PDF meta information is set according to the |\title|\marg{text} and |\author| \marg{text} information.
-%
-% \DescribeMacro{\preprint}
-% The |\preprint|\marg{numer} macro places a pre-print number in the upper right corner of the title page.
-%
-% \DescribeEnv{abstract}
-% The |abstract| environment is adjusted to not start with an indentation.
-%
-% \subsection{Text}
-%
-% Hyphenation is provided by the |babel| package \cite{babel} and quotation commands are provided by the |csquotes| package \cite{csquotes} recommended by the |babel| package.
-% \DescribeMacro{\enquote}
-% \DescribeMacro{\MakeOuterQuote}
-% The latter package provides the convenient macros |\enquote|\marg{text} and |\MakeOuterQuote{"}| allowing to leave the choice of quotation marks to \hologo{LaTeX} and use |"| instead of the pair |``| and |''|, respectively.
-%
-% \DescribeMacro{\eg}
-% \DescribeMacro{\vs}
-% The |foreign| package \cite{foreign} defines macros such as |\eg|, |\ie|, |\cf|, and |\vs| which are typeset as \eg, \ie, \cf, and \vs.
-%
-% \DescribeMacro{\no}
-% The |\no|\marg{number} macro is typeset as \no{123}.
-%
-% \DescribeMacro{\software}
-% The |\software|\oarg{version}\marg{name} macro is typeset as \software[\fileversion]{HEP-Paper}.
-%
-% \DescribeMacro{\online}
-% The |\online|\marg{url}\marg{text} macro combines the features of the |\href|\marg{url} \marg{text} \cite{hyperref} and the |\url|\marg{text} \cite{url} macros, resulting in \eg \online{https://ctan.org/pkg/hep-paper}{ctan.org/pkg/hep-paper}.
-%
-% The |inlinelist| and |enumdescript| environments are defined using the |enumitem| package \cite{enumitem}.
-%
-% \DescribeMacro{inlinelist}
-% \begin{columns}
-% |The three main points are|
-%
-% |\begin{inlinelist}|
-%
-% | \item one|
-%
-% | \item two|
-%
-% | \item three|
-%
-% |\end{inlinelist}|
-% \column
-% The three main points are
-% \begin{inlinelist}
-%  \item one
-%  \item two
-%  \item three
-% \end{inlinelist}
-% \end{columns}
-%
-% \DescribeMacro{enumdescript}
-% \begin{columns}[.6]
-% |\begin{enumdescript}[label=\Roman*)]|
-%
-% | \item{First} one|
-%
-% | \item{Second} two|
-%
-% | \item{Third} three|
-%
-% |\end{enumdescript}|
-% \column
-% \begin{enumdescript}[label=\Roman*)]
-%  \item{First} one
-%  \item{Second} two
-%  \item{Third} three
-% \end{enumdescript}
-% \end{columns}
-%
-% \DescribeMacro{\textsc}
-% A sans serif version of \textsf{\textsc{Small Caps}} is provided, using the |sansmathfonts| package \cite{sansmathfonts}.
-%
-% \DescribeMacro{\underline}
-% \DescribeMacro{\overline}
-% The |\underline| macro is redefined to allow linebreaks using the |soul| package \cite{soul}.
-% The |\overline| macro is extended to also \overline{overline} text outside of math environments.
-%
-% \DescribeMacro{\useparskip}
-% \DescribeMacro{\useparindent}
-% If the |parskip| option is activated the |\useparindent| macro switches back the usual parindent mode, while the |\useparskip| macro switches to the parskip mode.
-%
-% \subsubsection{References and footnotes}
-%
-% \DescribeMacro{\cref}
-% References are extended with the |cleveref| package \cite{cleveref}, which allows to \eg just type |\cref|\marg{key}  in order to write \enquote{Figure 1}.
-% Furthermore, the |cleveref| package allows to reference multiple objects within one |\cref|\marg{key1,key2}.
-%
-% \DescribeMacro{\cite}
-% Citations are adjusted to not start on a new line in order to avoid the repeated use of |~\cite|\marg{key}.
-%
-% \DescribeMacro{\ref}
-% \DescribeMacro{\eqref}
-% \DescribeMacro{\subref}
-% References are also adjusted to not start on a new line and are redefined in order to handle multiple references at once.
-%
-% \DescribeMacro{\footnote}
-% Footnotes are adjusted to swallow white space before the footnote mark and at the beginning of the footnote text.
-%
-% \subsubsection{Acronyms}
-%
-% \DescribeMacro{\acronym}
-% \DescribeMacro{\shortacronym}
-% \DescribeMacro{\longacronym}
-% The |\acronym|\meta{*}\oarg{typeset abbreviation}\marg{abbreviation}\meta{*}\marg{definition}\oarg{plural\linebreak[4]definition} macro generates the singluar |\|\meta{abbreviation} and plural |\|\meta{abbreviation}|s| macros.
-% % The first star prevents the addition of an \enquote{s} to the abbreviation plural.
-% The second star restores the \hologo{TeX} default of swallowing subsequent white space.
-% The long form is only shown at the first appearance of these macros, later appearances generate the abbreviation with a hyperlink to the long form.
-% Capitalization at the beginning of paragraphs and sentences is ensured.
-% The |\shortacronym| and |\longacronym| macros only show the short or long form of their acronym.
-% \DescribeMacro{\resetacronym}
-% \DescribeMacro{\dummyacronym}
-% The first use form of the acronym can be enforced by resetting the acronym counter.
-% If the acronym counter equals one at the end of the document the short form of the acronym is not introduced.
-% Placing a |\dummyacronym|\marg{key} at the end of the document ensures that the short form is introduced.
-%
-% \subsection{Math}
-%
-% The |mathtools| \cite{mathtools} and |amssymb| \cite{amsfonts} packages are loaded.
-% They in turn load the \hologo{AmSLaTeX} |amsmath| \cite{amsmath} and |amsfonts| \cite{amsfonts} packages.
-% Details about the font handling in \hologo{TeX} can be found in \cite{fntguide}.
-% \DescribeMacro{\mathbf}
-% Bold math, including |\mathbf| is provided by the |bm| package \cite{bm}, \ie ($ A  b  \Gamma \delta \mathbf A \mathbf b \mathbf \Gamma \mathbf \delta$).
-% Macros switching to |bfseries| such as |\section|\marg{text} are ensured to also typeset math in bold.
-% This may cause trouble if bold symbols carry an additional non-implicit meaning.
-% \DescribeMacro{\text}
-% The |\text|\marg{text} macro makes it possible to write text within math mode, \ie ($ \text A  \text b  \text \Gamma \text \delta \text{\textbf A} \text{\textbf b} \text{\textbf \Gamma} \text{\textbf \delta}$).
-% The often used |\mathrm|\marg{text} and |\rm|\marg{text} macros are \emph{not} the correct tool for this purpose, as they switch to roman font shape.
-% This behaviour conflicts \eg with the |sansserif| package option.
-% \DescribeMacro{\mathsf}
-% The math sans serif alphabet is redefined to be italic sans serif if the main text is serif and italic serif if the main text is sans serif, \ie ($\mathsf A \mathsf b \mathsf \Gamma \mathsf \delta \mathbf{\mathsf A} \mathbf{\mathsf b} \mathbf{\mathsf \Gamma} \mathbf{\mathsf \delta}$).
-% \DescribeMacro{\mathscr}
-% The |\mathcal| font \ie ($\mathcal{ABCD}$) is accompanied by the |\mathscr| font \ie ($\mathscr{ABCD}$).
-% \DescribeMacro{\mathbb}
-% The |\mathbb| font is changed by the |bbm| \cite{bbm-macros} package and adjusted depending on the |sansserif| option \ie ($\mathbb{Ab1}${\mathversion{bold}$\mathbb{Ab1}$}).
-%
-% \DescribeMacro{\nicefrac}
-% \DescribeMacro{\flatfrac}
-% The |\frac|\marg{number}\marg{number} macro is accompanied by |\nicefrac|\linebreak[1]\marg{number}\linebreak[1]\marg{number} and |\flatfrac|\marg{number}\marg{number} leading to $\frac12$, $\nicefrac 12$, and $\flatfrac 12$.
-% \DescribeMacro{\diag}
-%
-% A diagonal matrix operator is defined |\diag|.
-%
-% \DescribeMacro{\mathdef}
-% The |\mathdef|\marg{name}\oarg{arguments}\marg{code} macro (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{\numberwithin}
-% For longer paper it can be useful to re-number the equation in accordance with the section numbering |\numberwithin{equation}{section}|.
-% \DescribeMacro{subequations}
-% In order to further reduce the size the of equation counter it can be useful to wrap |align| environments with multiple rows in a |subequations| environment.
-% Both macros are provided by the \hologo{AmSLaTeX} package.
-%
-% \DescribeMacro{eqnarray}
-% The depreciated |eqnarray| environment is undefined as long this behaviour is not prevented by the |eqnarray| package option.
-% The |split|, |multline|, |align|, |multlined|, |aligned|, |alignedat|, and |cases| environments should be used instead.
-%
-% \subsubsection{Physics}
-%
-% Greek letters are adjusted to always be italic and upright in math and text mode, respectively, using the |fixmath| \cite{fixmath} and |alphabeta| \cite{alphabeta} packages.
-% This allows differentiations like
-% \begin{align}
-% \sigma &= \unit[5]{fb} \ , & &\text{at \unit[5]{\sigma} C.L.} \ , & \mu &= \unit[5]{cm} \ , & l &= \text{\unit[5]{\mu m}} \ ,
-% \label{eq:greek}
-% \end{align}
-% and \eg to distinguish gauge $\nu$ and mass \nu\ eigenstates in models with massive neutrinos.
-% Additionally, Greek letters can also be directly typed using Unicode.
-%
-% \DescribeMacro{\ev}
-% \DescribeMacro{\pdv}
-% \DescribeMacro{\comm}
-% \DescribeMacro{\order}
-% The |physics| package \cite{physics} provides additional macros such as
-% \begin{align}
-% &\ev{\phi} \ ,
-% &&\pdv[n]{f}{x} \ ,
-% &&\comm{A}{B} \ ,
-% &&\order{x^2} \ ,
-% &&\eval*{x}_0^\infty \ ,
-% &&\det(M)\ .
-% \end{align}
-%
-% \DescribeMacro{\slashed}
-% The |\slashed|\marg{character} macro from the |slashed| \cite{slashed} package allows to use the Dirac slash notation.
-%
-% \DescribeMacro{\overleftright}
-% A better looking over left right arrow is defined \ie $\overleftright{\partial}$.
-%
-% \DescribeMacro{\unit}
-% \DescribeMacro{\inv}
-% The correct spacing for units, \cf \cref{eq:greek}, is provided by the macro |\unit|\oarg{value} \marg{unit} from the |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}}|.
-%
-% \subsection{Floats}
-%
-% \DescribeEnv{figure}
-% \DescribeEnv{table}
-% Automatic float placement is adjusted to place a single float at the top of pages and to reduce the number of float pages.
-% The most useful float placement is usually archived by placing the float \emph{in front} of the paragraph it is referenced in first.
-% Additionally, manual float placement is deactivated but can be reactivated using the |manualplacement| package option.
-% \DescribeMacro{\raggedright}
-% The float environments have been adjusted to center their content.
-% The usual behaviour can be reactivated using |\raggedright|.
-%
-% \begin{table}
-% \begin{panels}{.6}
-% \raggedright
-% |\begin{panels}{.6}|\\
-% |code|\\
-% |\panel{.4}|\\
-% |\begin{tabular}...\end{tabular}|\\
-% |\end{panels}|\\
-% \caption{Code for this panel environment.}
-% \label{tab:panels}
-% \panel{.4}
-% \begin{tabular}{cccc}
-% \toprule
-% \multicolumn{2}{c}{one}& \multicolumn{2}{c}{two} \\ \cmidrule(r){1-2} \cmidrule(l){3-4}
-% \multirow{2}{*}{a} & b & c & d \\
-%  & b & c & d \\
-% \bottomrule
-% \end{tabular}
-% % \caption{The \protecting{|booktabs|} and \protecting{|multirow|} features.}
-% \label{tab:booktabs}
-% \end{panels}
-% \caption{Example use of the \protecting{|panels|} environment in Panel \subref{tab:panels} and the features from the \protecting{|booktabs|} and \protecting{|multirow|} packages in Panel \subref{tab:booktabs}.
-% } \label{tab:table}
-% \end{table}
-%
-% \DescribeEnv{panels}
-% \DescribeMacro{\panel}
-% The |panels| environment makes use of the |subcaption| package \cite{subcaption}.
-% It provides sub-floats and takes as mandatory argument either the number of sub-floats (default~2) or the width of the first sub-float as fraction of the |\linewidth|.
-% Within the |\begin{panels}|\oarg{vertical alignment}\marg{width} environment the |\panel| macro initiates a new sub-float.
-% In the case that the width of the first sub-float has been given as an optional argument to the |panels| environment the |\panel|\marg{width} macro takes the width of the next sub-float as mandatory argument.
-% The example code is presented in \cref{tab:panels}.
-%
-% \DescribeEnv{tabular}
-% The |booktabs| \cite{booktabs} and |multirow| \cite{multirow} packages are loaded enabling publication quality tabulars such as in \cref{tab:booktabs}.
-%
-% \DescribeMacro{\graphic}
-% \DescribeMacro{\graphics}
-% The |graphicx| package \cite{graphicx} is loaded and the |\graphic|\oarg{width}\marg{figure} macro is defined, which is a wrapper for the |\includegraphics|\marg{figure} macro and takes the figure width as fraction of the |\linewidth| as optional argument (default~1).
-% If the graphics are located in a sub-folder its path can be indicated by |\graphics|\marg{subfolder}.
-%
-% \subsection{Bibliography}
-%
-% \DescribeMacro{\bibliography}
-% \DescribeMacro{\printbibliography}
-% The |biblatex| package \cite{biblatex} is loaded for bibliography management.
-% The user has to add the line |\bibliography|\marg{my.bib} to the preamble of the document and |\printbibliography| at the end of the document.
-% The bibliography is generated by \software{Biber} \cite{biber}.
-% |biblatex| is extended to be able to cope with the |collaboration| and |reportNumber| fields provided by \online{https://inspirehep.net}{inspirehep.net} and a bug in the volume number is fixed.
-% Additionally, \online{https://ctan.org}{ctan.org}, \online{https://github.com}{github.com}, \online{https://gitlab.com}{gitlab.com}, \online{https://bitbucket.org}{bitbucket.org}, \online{https://www.launchpad.net}{launchpad.net}, \online{https://sourceforge.net}{sourceforge.net}, and \online{https://hepforge.org}{hepforge.org} are recognized as |eprinttype|s.
-% \DescribeMacro{erratum}
-% Errata can be included using the |related| feature.
-%
-% | \article{|\meta{key1}|,|\\
-% |   |\dots|,|\\
-% |   relatedtype="erratum",|\\
-% |   related="|\meta{key2}|",|\\
-% | }|\\
-% | \article{|\meta{key2}|,|\\
-% |   |\dots|,|\\
-% | }|
-%
-% \section{Conclusion}
-%
-% The |hep-paper| package provides a matching selection of preloaded packages and additional macros enabling the user to focus on the content instead of the layout by reducing the amount of manual tasks.
-% The majority of the loaded packages are fairly lightweight, the others can be deactivated with package options.
-%
-% \DescribeMacro{arxiv-collector}
-% ArXiv.org \cite{arxiv} requires the setup dependent |bbl| files instead of the original |bib| files, which causes trouble if the local \hologo{LaTeX} version differs from the one used by arXiv.
-% The |arxiv-collector| python script \cite{arxiv-collector} alleviates this problem by collecting all files necessary for publication on arXiv (including figures).
-%
-% \StopEventually{
-% \printbibliography
-% \PrintChanges
-% }
-%
-% \appendix
-%
-% \section{Options}
-%
-%<*package>
-
-% Load the |pdftexcmds| \cite{pdftexcmds} and |kvoptions| \cite{kvoptions} packages and define a |hep| namespace.
-% \DoNotIndex{\RequirePackage,\SetupKeyvalOptions}
-%    \begin{macrocode}
-\RequirePackage{pdftexcmds}
-\RequirePackage{kvoptions}
-\SetupKeyvalOptions{
-  family=hep,
-  prefix=hep@
-}
-%    \end{macrocode}
-%
-% \begin{macro}{paper}
-% Define a |paper=|\meta{size} option.
-% Make A4 paper the default.
-% \DoNotIndex{\DeclareStringOption}
-%    \begin{macrocode}
-\DeclareStringOption[a4]{paper}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{font}
-% Define a |font=|\meta{size} option.
-% Make \unit[11]{pt} the default font size.
-%    \begin{macrocode}
-\DeclareStringOption[11pt]{font}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{defaults}
-% Define the |defaults| option which deactivates the |paper| and |font| options and prevents the change of the class defaults by this package.
-% \DoNotIndex{\DeclareBoolOption,\ifhep at defaults}
-%    \begin{macrocode}
-\DeclareBoolOption[false]{defaults}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{lang}
-% Define the |lang| option, which takes the values provided by the |babel| package \cite{babel}.
-% Make |british| the default language.
-%    \begin{macrocode}
-\DeclareStringOption[british]{lang}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{parskip}
-% Define the option pair |parindent| and |parskip| controlling the separation of paragraphs.
-% \DoNotIndex{\DeclareComplementaryOption,\ifhep at parindent}
-%    \begin{macrocode}
-\DeclareBoolOption[true]{parindent}
-\DeclareComplementaryOption{parskip}{parindent}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{sansserif}
-% Define the option pair |serif| and |sansserif| controling the font shape of the whole document.
-% \DoNotIndex{\ifhep at serif}
-%    \begin{macrocode}
-\DeclareBoolOption[true]{serif}
-\DeclareComplementaryOption{sansserif}{serif}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{eqnarray}
-% Provide the option |eqnarray| for reactivating the |eqnarray| environment.
-% \DoNotIndex{\ifhep at eqnarray}
-%    \begin{macrocode}
-\DeclareBoolOption[false]{eqnarray}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{bibliography}
-% Provide the option |bibliography| for passing a |style| string to the |biblatex| package \cite{biblatex} or disabling the automatic loading of |biblatex|.
-%    \begin{macrocode}
-\DeclareStringOption[numeric-comp]{bibliography}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{glossaries}
-% Provide the option |glossaries| able to turn of the use of the |glossaries| package \cite{glossaries}.
-% \DoNotIndex{\ifhep at glossaries}
-%    \begin{macrocode}
-\DeclareBoolOption[true]{glossaries}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{manualplacement}
-% Provide the |manualplacement| option for reactivating the manual placement of floats.
-% \DoNotIndex{\ifhep at manualplacement}
-%    \begin{macrocode}
-\DeclareBoolOption[false]{manualplacement}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{title}
-% Provide the option |title| for deactivating redefinition of title macros.
-% \DoNotIndex{\ifhep at title}
-%    \begin{macrocode}
-\DeclareBoolOption[true]{title}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{revtex}
-% Provide the option |revtex| for REV\hologo{TeX} \cite{revtex} compatibility mode.
-%    \begin{macrocode}
-\DeclareBoolOption[false]{revtex}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{jhep}
-% Provide the option |jhep| for |JHEP| \cite{jhep} compatibility mode.
-%    \begin{macrocode}
-\DeclareBoolOption[false]{jhep}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{jcap}
-% Provide the option |jcap| for |JCAP| \cite{jcap} compatibility mode.
-%    \begin{macrocode}
-\DeclareBoolOption[false]{jcap}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{pos}
-% Provide the option |pos| for |PoS| compatibility mode.
-%    \begin{macrocode}
-\DeclareBoolOption[false]{pos}
-%    \end{macrocode}
-% \end{macro}
-%
-% \subsection{Process options}
-%
-%    \begin{macrocode}
-\ProcessKeyvalOptions*
-%    \end{macrocode}
-%
-% Set the |pos| compatibility options.
-% \DoNotIndex{\ifhep at pos,\setkeys,\fi}
-%    \begin{macrocode}
-\ifhep at pos
-  \setkeys{hep}{title=false, defaults}
-\fi
-%    \end{macrocode}
-%
-% Set the |revtex| compatibility options.
-% \DoNotIndex{\ifhep at revtex}
-%    \begin{macrocode}
-\ifhep at revtex
-  \setkeys{hep}{defaults, title=false, lang=american, bibliography=false}
-\fi
-%    \end{macrocode}
-%
-% Define the SISSA conditional.
-%    \begin{macrocode}
-\newif\ifhep at sissa
-\ifhep at jhep\hep at sissatrue
-\else
-  \ifhep at jcap\hep at sissatrue
-  \else\hep at sissafalse
-  \fi
-\fi
-%    \end{macrocode}
-%
-% Set the SISSA compatibility options.
-%    \begin{macrocode}
-\ifhep at sissa
-  \setkeys{hep}{title=false, bibliography=false}
-  \PassOptionsToPackage{
-    colorlinks=true, linktocpage=true, pdfproducer=medialab, pdfa=true,
-    urlcolor=blue, anchorcolor=blue, citecolor=blue, filecolor=blue,
-    linkcolor=blue, menucolor=blue, pagecolor=blue
-  }{hyperref}
-  \hoffset 0pt
-  \voffset 0pt
-\fi
-%    \end{macrocode}
-
-% \section{Engine}
-%
-% \begin{macro}{\ifxetexorluatex}
-% Load the |ifluatex| \cite{ifluatex} and |ifxetex| \cite{ifxetex} packages.
-% Define the |\ifxetexorluatex| conditional checking if the package is executed by \hologo{LuaLaTeX} or \hologo{XeLaTeX}.
-% \DoNotIndex{\newif,\ifxetex,\xetexorluatextrue,\else,\ifluatex,\xetexorluatexfalse,\fi}
-%    \begin{macrocode}
-\RequirePackage{ifluatex}
-\RequirePackage{ifxetex}
-\newif\ifxetexorluatex
-\ifxetex\xetexorluatextrue
-\else
-  \ifluatex\xetexorluatextrue
-  \else\xetexorluatexfalse
-  \fi
-\fi
-%    \end{macrocode}
-% \end{macro}
-
-% \section{Text}
-%
-% Load the |alphabeta| package \cite{alphabeta} first in order to archive the correct behaviour.
-% The |alphabeta| package provides upright Greek letters in text mode.
-%    \begin{macrocode}
-\RequirePackage{alphabeta}
-%    \end{macrocode}
-%
-% Set the whole text to sans serif if requested.
-% Load the |sansmathfonts| package \cite{sansmathfonts} first.
-% Although, most fonts will later be overwritten by the |lmodern| package \cite{lmodern} some mathematical objects are ensured to be in sans serif.
-% \DoNotIndex{\ifhep at serif,\renewcommand,\familydefault,\sfdefault}
-%    \begin{macrocode}
-\ifhep at serif\else
-  \RequirePackage{sansmathfonts}
-  \renewcommand\familydefault{\sfdefault}
-\fi
-%    \end{macrocode}
-%
-% Pick the correct font encoding depending on the engine used and load the |fontenc| package \cite{fontenc} with this encoding.
-% For details of the font encoding see \cite{encguide}.
-% \DoNotIndex{\def,\@encoding}
-%    \begin{macrocode}
-\ifxetexorluatex
-  \def\@encoding{TU}
-\else
-  \def\@encoding{T1}
-\fi
-\RequirePackage[\@encoding]{fontenc}
-%    \end{macrocode}
-% Load the |lmodern| font \cite{lmodern}, the |textcomp| extension \cite{textcomp}, and the |microtype| font optimization \cite{microtype}.
-%    \begin{macrocode}
-\RequirePackage{lmodern}
-\RequirePackage{textcomp}
-\RequirePackage{microtype}
-%    \end{macrocode}
-%
-% Define sans serif small caps font shapes.
-% The font abbreviations are
-% \begin{description}[nosep]
-%  \item[lmss] Latin modern sans serif font
-%  \item[cmss] Computer modern sans serif font
-%  \item[xcmss] Extended computer modern sans serif font (from the |sansmathfonts| package \cite{sansmathfonts})
-%  \item[bx] Bold extended series
-%  \item[m] Medium weight and width series
-%  \item[c] Medium weight, condensed width series
-%  \item[sc] Caps and small caps font shape
-% \end{description}
-% \DoNotIndex{\DeclareFontShape,\sffamily}
-%    \begin{macrocode}
-\ifxetexorluatex
-  \DeclareFontShape{\@encoding}{lmss}{bx}{sc}{<->cmssbxcsc10}{}
-  \DeclareFontShape{\@encoding}{lmss}{m}{sc}{%
-    <-9>cmsscsc8<9-10>cmsscsc9<10->cmsscsc10%
-  }{}
-\else
-  \sffamily
-  \DeclareFontShape{\@encoding}{lmss}{bx}{sc}{<->ssub*xcmss/bx/sc}{}
-  \DeclareFontShape{\@encoding}{lmss}{m}{sc}{<->ssub*xcmss/m/sc}{}
-\fi
-%    \end{macrocode}
-
-% Load the |inputenc| \cite{inputenc} package.
-%    \begin{macrocode}
-\ifxetexorluatex\else
-  \RequirePackage[utf8]{inputenc}
-\fi
-%    \end{macrocode}
-%
-% Load the |babel| \cite{babel} package for hyphenation and the recommended |csquotes| package \cite{csquotes}.
-% \DoNotIndex{\hep at lang}
-%    \begin{macrocode}
-\RequirePackage[\hep at lang]{babel}
-\RequirePackage{csquotes}
-%    \end{macrocode}
-%
-% \begin{macro}{\underline}
-% Load the |soul| package \cite{soul} for hyphenable underlined text.
-% \DoNotIndex{\let}
-%    \begin{macrocode}
-\RequirePackage{soul}
-\let\underline\ul
-%    \end{macrocode}
-% \end{macro}
-%
-% \subsection{Font size} \label{sec:font size}
-%
-% Undefine previously defined font sizes and load the \hologo{LaTeX} font size file corresponding to the font size option.
-% \DoNotIndex{\remove at pt,\edef,\@ptsize,\expandafter,\small,\relax,\footnotesize,\scriptsize}
-%    \begin{macrocode}
-\ifhep at defaults\else
-  \def\remove at pt#1pt{#1}
-  \edef\@ptsize{\expandafter\remove at pt\hep at font}
-  \let\small\relax
-  \let\footnotesize\relax
-  \let\scriptsize\relax
-  \let\tiny\relax
-  \let\large\relax
-  \let\Large\relax
-  \let\LARGE\relax
-  \let\huge\relax
-  \let\Huge\relax
-  \input{size\@ptsize.clo}
-\fi
-%    \end{macrocode}
-
-% \subsection{Text macros}
-%
-%\begin{macro}{\vs}
-% Load the |foreign| package \cite{foreign} in order to highlight abbreviations and vocabularies from foreign languages.
-% Add the missing |\vs| command.
-% \DoNotIndex{\DeclareRobustCommand,\xperiodafter,\foreignabbrfont,\pdf at strcmp,\hep at lang@foreign}
-%    \begin{macrocode}
-\ifnum\pdf at strcmp{\hep at lang}{american}=0
-  \newcommand{\hep at lang@foreign}{USenglish}
-\else
-  \ifnum\pdf at strcmp{\hep at lang}{USenglish}=0
-    \newcommand{\hep at lang@foreign}{USenglish}
-  \else
-    \newcommand{\hep at lang@foreign}{british}
-  \fi
-\fi
-\RequirePackage[all, \hep at lang@foreign]{foreign}
-\DeclareRobustCommand\vs{\xperiodafter{{\foreignabbrfont{vs}}}}
-%    \end{macrocode}
-% \end{macro}
-%
-% The |foreign| package relies on the |xspace| package \cite{xspace}.
-% Ensure that |\xspace| is compatible with the |\enquote| macro from the |csquote| package.
-%    \begin{macrocode}
-\xspaceaddexceptions{\csq at qclose@i}
-%    \end{macrocode}
-
-%\begin{macro}{\no}
-% Define the macro |\no|\marg{number} for the use of \textnumero\ with appropriate spacing.
-%    \begin{macrocode}
-\newcommand{\no}[1]{\textnumero~#1}
-%    \end{macrocode}
-% \end{macro}
-%
-%\begin{macro}{\software}
-% Define a macro for software with optional version information |\software|\linebreak[1]\oarg{version}\linebreak[1]\marg{name}, using the |relsize| package \cite{relsize}.
-% \DoNotIndex{\hspace,\fontdimen,\font,\smaller,\textsc}
-%    \begin{macrocode}
-\RequirePackage{relsize}
-\newcommand{\software}[2][\hspace{-\fontdimen2\font}]{%
-  {\smaller\textsc{#2}~#1}%
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\online}
-% The |\online|\marg{text}\marg{url} macro combines the features of the |\href| and the |\url| macros.
-% \DoNotIndex{\href,\url}
-%    \begin{macrocode}
-\newcommand{\online}[2]{\href{#1}{\nolinkurl{#2}}}
-%    \end{macrocode}
-% \end{macro}
-
-% \subsection{Lists}
-%
-% Load the |enumitem| package \cite{enumitem}.
-%    \begin{macrocode}
-\RequirePackage[inline]{enumitem}
-%    \end{macrocode}
-%
-% \begin{environment}{inlinelist}
-% Define an inline list environment.
-% \DoNotIndex{\newlist,\setlist*,\ }
-%    \begin{macrocode}
-\newlist{inlinelist}{enumerate*}{1}
-\setlist*[inlinelist,1]{%
-  label=\roman*), itemjoin={,\ }, itemjoin*={, and\ }, after=.%
-}
-%    \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{enumdescript}
-% Define an enumdescript list environment.
-% \DoNotIndex{\arabic*,\old at item,\item,ifx,\textbf,\empty,\@ifnextchar,\par,\@gobble}
-%    \begin{macrocode}
-\newlist{enum at descript}{enumerate}{2}
-\setlist[enum at descript]{label=\arabic*.}
-\newenvironment{enumdescript}[1][]{
-\begin{enum at descript}[#1]
-  \let\old at item\item
-  \renewcommand{\item}[2][]{
-    \ifx&##1&\old at item\else\old at item[##1]\fi
-    \textbf{##2}\ifx##2\empty\else~\fi\@ifnextchar\par\@gobble\relax
-  }
-}{\end{enum at descript}}
-%    \end{macrocode}
-% \end{environment}
-
-% \subsection{Footnotes}
-%
-% \begin{macro}{\footnote}
-% Ensure that no spaces appear before the footmark or at the beginning of the footnote.
-% \DoNotIndex{\unskip,\@foot at note,\ignorespaces}
-%    \begin{macrocode}
-\let\@foot at note\footnote
-\renewcommand{\footnote}[1]{\unskip\@foot at note{\ignorespaces#1}}
-%    \end{macrocode}
-% \end{macro}
-
-% \section{Geometry}
-%
-% Load the |geometry| package \cite{geometry} and adjust the text width and height to the values of the |a4wide| package \cite{a4wide}.
-% This step must happen after readjusting the font size in \cref{sec:font size}.
-% \DoNotIndex{\ifhep at defaults,\hep at paper,\geometry}
-%    \begin{macrocode}
-\ifhep at defaults\else
-  \RequirePackage[\hep at paper paper]{geometry}
-  \geometry{hscale=.75, vscale=.8, vmarginratio=3:4, includeheadfoot}
-\fi
-%    \end{macrocode}
-
-%\begin{macro}{\useparskip}
-%\begin{macro}{\useparindent}
-% Load the |parskip| package \cite{parskip} if requested and provide two commands switching between the two paragraph modes.
-% \DoNotIndex{\ifhep at parindent,\setlength,\parskip,\baselineskip,\parindent}
-%    \begin{macrocode}
-\ifhep at parindent\else
-\RequirePackage{parskip}
-\newcommand{\useparskip}{%
-  \setlength{\parskip}{.5\baselineskip plus 2pt}%
-  \setlength{\parindent}{0pt}%
-}
-\newcommand{\useparindent}{%
-  \setlength{\parskip}{0pt}%
-  \setlength{\parindent}{15pt}%
-  \if at twocolumn\setlength\parindent{1em}
-  \else\setlength\parindent{1.5em}
-  \fi
-}
-\fi
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-
-% \section{Math}
-%
-% Load the |mathtools| package \cite{mathtools} which loads the |amsmath| package \cite{amsmath}.
-% Additionally, load the |amssymb| package \cite{amsfonts} which provides further math symbols and also loads the |amsfont| package \cite{amsfonts}.
-% Allow page breaks within equations if necessary.
-%    \begin{macrocode}
-\RequirePackage{mathtools}
-\RequirePackage{amssymb}
-\allowdisplaybreaks[1]
-%    \end{macrocode}
-
-% \begin{macro}{\diag}
-% Provide a diag operator
-%    \begin{macrocode}
-\DeclareMathOperator{\diag}{diag}
-%    \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\mathdef}
-% Define the |\mathdef|\marg{name}\oarg{arguments}\marg{macro} macro which (re-)defines macros in math mode only.
-% This macro is implemented using the |xparse| package \cite{xparse}.
-%    \begin{macrocode}
-\RequirePackage{xparse}
-\DeclareDocumentCommand{\mathdef}{mO{0}m}{%
-  \expandafter\let\csname text\string#1\endcsname=#1
-  \expandafter\newcommand\csname math\string#1\endcsname[#2]{#3}
-  \DeclareRobustCommand#1{%
-    \ifmmode
-      \expandafter\let\expandafter\next\csname math\string#1\endcsname
-    \else
-      \expandafter\let\expandafter\next\csname 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 |soul| package \cite{soul}.
-% Extend it as a math macro with the original definition from |amsmath| \cite{amsmath}.
-%    \begin{macrocode}
-\def\overline#1{{\setul{-2ex}{}\ul{#1}}}
-\DeclareRobustCommand{\over at line}[1]{\@@overline{#1}}
-\mathdef{\overline}{\over at line}
-%    \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{eqnarray}
-% Undefine the |eqnarray| environment.
-%    \begin{macrocode}
-\ifhep at eqnarray\else
-  \let\eqnarray\@undefined
-  \let\endeqnarray\@undefined
-\fi
-%    \end{macrocode}
-% \end{macro}
-
-% \subsection{Math fonts}
-%
-% \begin{macro}{\mathbf}
-% Load the |bm| package \cite{bm} for superior boldmath after limiting the number of allocated math alphabets.
-% Make math symbols bold whenever they appear in bold macros such as |\section|\marg{text}.
-%    \begin{macrocode}
-\newcommand{\bmmax}{2}
-\RequirePackage{bm}
-\let\mathbf\bm
-\g at addto@macro\bfseries{\boldmath}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mathsf}
-% Load the |fixmath| package \cite{fixmath} which ensures that upper Greek letters in math mode are italic.
-% Ensure that also math mode is sans serif using the |sfmath| package \cite{sfmath} if the option sans serif is passed to the package.
-% Ensure that |\mathsf| is italic as well as sans serif and sans for sans and sans serif documents, respectively.
-% The font abbreviations are
-% \begin{description}[nosep]
-%  \item[OML] \hologo{TeX} math italic font encoding
-%  \item[cmm] Computer modern math italic font
-%  \item[cmbr] Computer modern bright font
-%  \item[bx] Bold extended series
-%  \item[m] Medium weight and width series
-%  \item[it] Italic font shape
-% \end{description}
-%    \begin{macrocode}
-\ifhep at serif
-  \RequirePackage{fixmath}
-  \DeclareMathAlphabet{\mathsf}{OML}{cmbr}{m}{it}
-  \SetMathAlphabet{\mathsf}{bold}{OML}{cmbr}{bx}{it}
-\else
-  \RequirePackage[slantedGreek]{sfmath}
-  \RequirePackage{sansmathfonts}
-  \DeclareMathAlphabet{\mathsf}{OML}{cmm}{m}{it}
-  \SetMathAlphabet{\mathsf}{bold}{OML}{cmm}{bx}{it}
-\fi
-%    \end{macrocode}
-% \end{macro}
-% \begin{macro}{\mathscr}
-% Load the |mathrsfs| package for the |\mathscr| math script font.
-%    \begin{macrocode}
-\RequirePackage{mathrsfs}
-%    \end{macrocode}
-% \end{macro}
-% \begin{macro}{\mathbb}
-% Load the |bbm| package \cite{bbm-macros} for the |\mathbb| math blackboard style font in (sans-) serif.
-%    \begin{macrocode}
-\RequirePackage{bbm}
-\ifhep at serif
-  \let\mathbb\mathbbm
-\else
-  \let\mathbb\mathbbmss
-\fi
-%    \end{macrocode}
-% \end{macro}
-
-% \subsection{Physics notation}
-%
-% \begin{macro}{\slashed}
-% \begin{macro}{\unit}
-% Load the |physics| package \cite{physics} which provides macros useful for publications in physics.
-% Additionally, load the |slashed| package \cite{slashed} which provides the slashed macro for Dirac notation.
-% Finally, load the |units| package \cite{units} which provides the |\units| and |\nicefrac| macros.
-%    \begin{macrocode}
-\RequirePackage{physics}
-\RequirePackage{slashed}
-\RequirePackage{units}
-%    \end{macrocode}
-% \end{macro}
-% \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}{\d}
-% Provide a differential |\d|.
-%    \begin{macrocode}
-\AtBeginDocument{\mathdef{\d}{\dd}}
-%    \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]{%
-  \raisebox{1pt}{\ensuremath{\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{\overleftright}[1]{\oset{\leftrightarrow}{#1}}
-%    \end{macrocode}
-% \end{macro}
-
-% \section{Floats}
-%
-% Adjust the \hologo{LaTeX} float placement defaults
-%    \begin{macrocode}
-\renewcommand{\textfraction}{0.01}
-\setcounter{topnumber}{1}
-\renewcommand{\topfraction}{.9}
-\setcounter{bottomnumber}{0}
-\renewcommand{\floatpagefraction}{.8}
-%    \end{macrocode}
-
-% \begin{environment}{figure}
-% \begin{environment}{table}
-% Center the content of |figure| and |table| environments.
-% Ignore the manual placement if the |manualplacement| option is set to false.
-%    \begin{macrocode}
-\let\@figure@\figure%
-\let\@end at figure@\endfigure%
-\let\@table@\table%
-\let\@end at table@\endtable%
-\ifhep at manualplacement%
-  \renewenvironment{figure}[1][tbp]{%
-    \@figure@[#1]\centering%
-    }{\@end at figure@}%
-  \renewenvironment{table}[1][tbp]{%
-    \@table@[#1]\centering%
-  }{\@end at table@}%
-\else%
-  \renewenvironment{figure}[1][]{%
-    \@figure@\centering%
-  }{\@end at figure@}%
-  \renewenvironment{table}[1][]{%
-    \@table@\centering%
-  }{\@end at table@}
-\fi%
-%    \end{macrocode}
-% \end{environment}
-% \end{environment}
-
-% \subsection{Sub-floats}
-%
-% Prevent the |caption| package \cite{caption} from complaining about the |revtex| class.
-%    \begin{macrocode}
-\ifhep at revtex
-  \setlength\abovecaptionskip{\f at size\p@}
-  \setlength\belowcaptionskip{0\p@}
-  \long\def\@makecaption#1#2{%
-    \vskip\abovecaptionskip
-    \sbox\@tempboxa{#1: #2}%
-    \ifdim \wd\@tempboxa >\hsize
-      #1: #2\par
-    \else
-      \global \@minipagefalse
-      \hb at xt@\hsize{\hfil\box\@tempboxa\hfil}%
-    \fi
-    \vskip\belowcaptionskip%
-  }
-\fi
-%    \end{macrocode}
-%
-% Load the |subcaption| package \cite{subcaption}.
-% Provide old |\subcaption at minipage| macro.
-%    \begin{macrocode}
-\RequirePackage[subrefformat=parens]{subcaption}
-\captionsetup{font=small}
-\captionsetup[sub]{font=small}
-\providecommand*\subcaption at minipage[2]{%
-  \minipage#1{#2}\setcaptionsubtype\relax%
-}
-%    \end{macrocode}
-% \begin{environment}{panels}
-% \begin{macro}{\panel}
-% Define the |panels| environment and the |\panel| macro.
-%    \begin{macrocode}
-\newenvironment{panels}[2][b]{%
-%    \end{macrocode}
-% Define an internal macro for global behaviour.
-%    \begin{macrocode}
-  \newcommand{\begin at subcaption@minipage}[2][b]{%
-    \caption at withoptargs\subcaption at minipage[##1]{##2}%
-    \centering\vskip 0pt%
-  }
-%    \end{macrocode}
-% Define the |\panel| macro for the case that the number of panels is given.
-%    \begin{macrocode}
-  \ifdim#2pt>1pt%
-    \newcommand{\panel}[1][b]{%
-      \endminipage\hfill\begin at subcaption@minipage[#1]{\linewidth/#2}%
-    }%
-    \begin at subcaption@minipage[#1]{\linewidth/#2}%
-%    \end{macrocode}
-% Define the |\panel| macro for the case that the width of the panel is given.
-%    \begin{macrocode}
-  \else%
-    \newcommand{\panel}[2][b]{%
-      \endminipage\hfill\begin at subcaption@minipage[#1]{##2\linewidth}%
-    }%
-    \begin at subcaption@minipage[#1]{#2\linewidth}%
-  \fi%
-}{\endminipage}
-%    \end{macrocode}
-% \end{macro}
-% \end{environment}
-
-% Reajust the captions to the revtex class using the |ragged2e| package \cite{ragged2e}.
-%    \begin{macrocode}
-\ifhep at revtex
-  \RequirePackage{ragged2e}
-  \DeclareCaptionFormat{revtex}{#1#2\justifying{#3}}
-  \captionsetup{font=small, format=revtex}
-  \captionsetup[sub]{font=footnotesize, format=plain}
-  \renewcommand{\figurename}{Figure}
-  \renewcommand{\tablename}{Table}
-\fi
-%    \end{macrocode}
-
-% \subsection{Tables}
-%
-% \begin{environment}{tabular}
-% Enhance tabulars with the |booktabs| and |multirow| packages \cite{booktabs, multirow}.
-%    \begin{macrocode}
-\RequirePackage{booktabs}
-\RequirePackage{multirow}
-%    \end{macrocode}
-% \end{environment}
-
-% \subsection{Figures}
-%
-% \begin{macro}{\graphic}
-% Provide the |\graphic| macro for the inclusion of figures using the |graphicx| package \cite{graphicx}.
-%    \begin{macrocode}
-\RequirePackage{graphicx}
-\providecommand{\tikzsetnextfilename}[1]{}
-\newcommand{\graphic}[2][1]{\tikzsetnextfilename{#2}{%
-  \centering\includegraphics[width=#1\linewidth]{#2}\par%
-}}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\graphics}
-% Provide the |\graphics| macro for the inclusion of figures located in a subfolder.
-%    \begin{macrocode}
-\newcommand{\graphics}[1]{\graphicspath{{./#1/}}}
-%    \end{macrocode}
-% \end{macro}
-
-% \section{Title page}
-%
-% \begin{macro}{\date}
-% Allow empty date field.
-%    \begin{macrocode}
-\ifhep at title
-\date{}
-%    \end{macrocode}
-% \end{macro}
-
-% \subsection{Authors}
-%
-% \begin{macro}{\author}
-% Allow empty author field.
-%    \begin{macrocode}
-\author{}
-%    \end{macrocode}
-% \end{macro}
-% \begin{macro}{\email}
-% Define a macro for the email of authors used as |\author{|$\langle name\rangle$| \email{|$\langle email\rangle$|}}|.
-%    \begin{macrocode}
-\AtEndOfClass{\newcommand{\email}[1]{%
-  \unskip\thanks{\online{mailto:#1}{#1}}
-}}
-%    \end{macrocode}
-% \end{macro}
-%
-% Enable the handling of multiple authors with different affiliations using the |authblk| package \cite{authblk}.
-%    \begin{macrocode}
-\RequirePackage{authblk}
-\renewcommand\Affilfont{\footnotesize}
-%    \end{macrocode}
-%
-% \begin{macro}{\affiliation}
-% Define the |\affiliation| macro, ensure that linebreaks happen after a comma.
-%    \begin{macrocode}
-\newcommand\active at comma{,\penalty-5\relax}
-\newcommand\cat at comma@active{\catcode`\,\active}
-{\cat at comma@active\gdef,{\active at comma}}
-\newcommand\@affil[1]{%
-  \endgroup\@flushglue=0pt plus .5\linewidth\affil{#1}%
-}
-\def\@affil at opt[#1]#2{%
-  \endgroup\@flushglue=0pt plus .5\linewidth\affil[#1]{#2}%
-}
-\DeclareRobustCommand\@affiliation{\@ifnextchar[{\@affil at opt}{\@affil}}
-\newcommand{\affiliation}{\begingroup\cat at comma@active\@affiliation}
-%    \end{macrocode}
-% \end{macro}
-
-% \subsection{Preprint}
-%
-% \begin{macro}{\preprint}
-% Define the |\preprint| macro using the |varwidth| package \cite{varwidth}.
-%    \begin{macrocode}
-\let\@preprint\relax
-\newcommand\preprint[1]{\long\gdef\@preprint{#1}}
-\RequirePackage{varwidth}
-\newcommand{\@preprint at box}{%
-  \begin{varwidth}{\textwidth}%
-    \textsc{\small\@preprint}%
-  \end{varwidth}%
-}
-%    \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\maketitle}
-% Places a preprint number in the top right corner of the title page using the |atbegshi| \cite{atbegshi} and |picture| \cite{picture} packages.
-%    \begin{macrocode}
-\RequirePackage{atbegshi}
-\RequirePackage{picture}
-\let\old at maketitle\maketitle
-\renewcommand{\maketitle}{%
-  \old at maketitle%
-  \AtBeginShipoutFirst{%
-    \put(
-      \textwidth+\oddsidemargin-\widthof{\@preprint at box},
-      -2pt-\topmargin-\heightof{\@preprint at box}
-    ){\normalfont\@preprint at box}
-  }
-}
-%    \end{macrocode}
-% \end{macro}
-
-% \subsection{Abstract}
-%
-% \begin{environment}{abstract}
-% Adjust the |abstract| environment to not start with indentation.
-%    \begin{macrocode}
-\@ifundefined{abstract}{}{%
-  \let\old at abstract\abstract%
-  \renewcommand\abstract{\old at abstract\noindent\ignorespaces}%
-}
-%    \end{macrocode}
-% \end{environment}
-% End of check for |title| option.
-%    \begin{macrocode}
-\fi
-%    \end{macrocode}
-
-% \section{Bibliography}
-%
-% Check if bibliography management is requested.
-%    \begin{macrocode}
-\ifnum\pdf at strcmp{\hep at bibliography}{false}=0\else
-%    \end{macrocode}
-%
-% \begin{macro}{\bibliography}
-% Load the |biblatex| package \cite{biblatex} with the datamodel defined in \cref{sec:data model}.
-%    \begin{macrocode}
-\RequirePackage[style=\hep at bibliography, datamodel=hep-paper]{biblatex}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{hep-paper}
-% Define a new sorting template that sorts only multi key |\cite| entries according to their date and leaves the rest of the bibliography entries in the order they appear in the text.
-% Provide the |\DeclareSortingTemplate| macro for older |biblatex| installations.
-%    \begin{macrocode}
-\providecommand{\DeclareSortingTemplate}{\DeclareSortingScheme}
-\DeclareSortingTemplate{hep-paper}{
-  \sort{\citeorder}
-  \sort[final]{
-    \field{sortkey}
-  }
-  \sort{
-    \field{sortyear}
-    \field{year}
-    \literal{9999}
-  }
-  \sort{
-    \field{month}
-  }
-  \sort{
-    \field{eprint}
-    \field{doi}
-  }
-  \sort{
-    \field{sorttitle}
-    \field{title}
-  }
-  \sort{
-    \field{subtitle}
-    \field{volume}
-  }
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% Use the new sorting scheme and abbreviat all first names.
-%    \begin{macrocode}
-\ExecuteBibliographyOptions{
-  sorting=hep-paper,
-  giveninits=true
-}
-%    \end{macrocode}
-%
-% \begin{macro}{erratum}
-% Add new bibliography string \enquote{Erratum} for the use in the |relatedtype| field.
-%    \begin{macrocode}
-\NewBibliographyString{erratum}
-\DefineBibliographyStrings{english}{erratum={Erratum}}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\printbibliography}
-% Allow the bibliography to be printed sloppy
-%    \begin{macrocode}
-\let\old at printbibliography\printbibliography
-\renewcommand{\printbibliography}{\sloppy\old at printbibliography}
-%    \end{macrocode}
-% \end{macro}
-
-% \subsection{Sourcemap}
-%
-% \begin{macro}{\reg at exp@one}
-% \begin{macro}{\reg at exp@two}
-% \begin{macro}{\reg at exp@url}
-% Define regular expressions in order to deal with inconsistent journal title and volume naming as well as URL protocols.
-%    \begin{macrocode}
-\newcommand{\reg at exp@one}{\regexp{\A(\p{L}+)?\d+(\p{L}+)?\Z}}
-\newcommand{\reg at exp@two}{\regexp{\A(\p{L}+)?(\d+)(\p{L}+)?\Z}}
-\newcommand{\reg at exp@url}{\regexp{\A(ht|f)tp(s)?:\/\/}}
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\DeclareSourcemap}
-% Use the |\DeclareSourcemap| feature.
-%    \begin{macrocode}
-\DeclareSourcemap{%
-  \maps[datatype=bibtex, overwrite=true]{%
-%    \end{macrocode}
-% \begin{macro}{collaboration}
-% Read the collaboration information if present.
-%    \begin{macrocode}
-    \map{%
-      \step[fieldsource=Collaboration, final=true]%
-      \step[fieldset=collaboration, origfieldval, final=true]
-    }%
-%    \end{macrocode}
-% \end{macro}
-% \begin{macro}{reportnumber}
-% Read the pre-print information if present.
-%    \begin{macrocode}
-    \map{%
-      \step[fieldsource=reportNumber, final=true]%
-      \step[fieldset=reportnumber, origfieldval, final=true]
-    }%
-%    \end{macrocode}
-% \end{macro}
-% \begin{macro}{journal}
-% Move letters from the volume field to the journal field.
-%    \begin{macrocode}
-    \map[overwrite]{
-      \step[fieldsource=volume, match=\reg at exp@one, final]
-      \step[fieldsource=volume, match=\reg at exp@two, replace={$2}]
-      \step[fieldsource=journal, fieldtarget=journaltitle]
-      \step[fieldset=journaltitle, fieldvalue={\space$1$2}, append=true]
-    }
-%    \end{macrocode}
-% \end{macro}
-% \begin{macro}{url}
-% Remove the protocol from URL.
-%    \begin{macrocode}
-    \map{
-      \step[fieldsource=url, final=true]
-      \step[fieldset=protocollessurl, origfieldval, final=true]
-      \step[fieldsource=protocollessurl, match=\reg at exp@url, replace={}]
-    }
-  }%
-}
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{In:}
-% Remove spurious \enquote{In:} if no journal is present.
-%    \begin{macrocode}
-\renewbibmacro*{in:}{%
-  \iffieldundef{journaltitle}{}{\printtext{\bibstring{in}\intitlepunct}}%
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{url}
-% Show URLs without the protocol.
-%    \begin{macrocode}
-\DeclareFieldFormat{url}{%
-  \mkbibacro{URL}\addcolon\space\online{#1}{\thefield{protocollessurl}}%
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{collaboration}
-% Override the author information with collaboration information if present.
-%    \begin{macrocode}
-\renewbibmacro*{author}{%
-  \iffieldundef{collaboration}{%
-    \printnames{author}}{\textbf{\printfield{collaboration}}%
-  }%
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\letbibmacro}
-% Provide the |\letbibmacro| macro for old |biblatex| installations.
-%    \begin{macrocode}
-\providecommand{\letbibmacro}[2]{\csletcs{abx at macro@#1}{abx at macro@#2}}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{reportnumber}
-% Add the pre-print information if present.
-%    \begin{macrocode}
-\letbibmacro{doi+eprint+url-old}{doi+eprint+url}
-\renewbibmacro*{doi+eprint+url}{%
-  \usebibmacro{doi+eprint+url-old}
-  \iffieldundef{reportnumber}{}{\textls[0]{%
-    \newunitpunct\textnumero\intitlepunct%
-    \textsc{\small\printfield{reportnumber}}%
-  }}%
-}
-%    \end{macrocode}
-% \end{macro}
-
-% \subsection{Eprints}
-%
-% \begin{macro}{\bib at online}
-% Private |\bib at online| macro
-%    \begin{macrocode}
-\newcommand{\bib at online}[2]{%
-  \ifhyperref{\online{#1}{#2}}{\nolinkurl{#2}}%
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\new at eprint}
-% Private |\new at eprint| macro
-%    \begin{macrocode}
-\NewDocumentCommand{\new at eprint}{smm}{
-  \DeclareFieldFormat{eprint:#2}{%
-    \newcommand{\@path}{\IfBooleanT{#1}{\thefield{eprintclass}/}##1}%
-    #2\addcolon\space\bib at online{#3/\@path}{\@path}%
-  }%
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{CTAN}
-% Add CTAN as a eprint option
-%    \begin{macrocode}
-\new at eprint{CTAN}{https://ctan.org/pkg}
-\DeclareFieldAlias{eprint:ctan}{eprint:CTAN}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{GitHub}
-% Add GitHub as a eprint option
-%    \begin{macrocode}
-\new at eprint*{GitHub}{https://github.com}
-\DeclareFieldAlias{eprint:github}{eprint:GitHub}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{GitLab}
-% Add GitLab as a eprint option
-%    \begin{macrocode}
-\new at eprint*{GitLab}{https://gitlab.com}
-\DeclareFieldAlias{eprint:gitlab}{eprint:GitLab}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{Bitbucket}
-% Add Bitbucket as a eprint option
-%    \begin{macrocode}
-\new at eprint*{Bitbucket}{https://bitbucket.org}
-\DeclareFieldAlias{eprint:bitbucket}{eprint:Bitbucket}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{Launchpad}
-% Add Launchpad as a eprint option
-%    \begin{macrocode}
-\new at eprint{Launchpad}{https://launchpad.net}
-\DeclareFieldAlias{eprint:launchpad}{eprint:Launchpad}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{SourceForge}
-% Add SourceForge as a eprint option
-%    \begin{macrocode}
-\new at eprint{SourceForge}{https://sourceforge.net/projects}
-\DeclareFieldAlias{eprint:launchpad}{eprint:SourceForge}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{HEPForge}
-% Add HEPForge as a eprint option
-%    \begin{macrocode}
-\DeclareFieldFormat{eprint:hepforge}{%
-  HEPForge\addcolon\space\bib at online{https://#1/hepforge.org}{#1}%
-}
-\DeclareFieldAlias{eprint:HEPForge}{eprint:hepforge}
-%    \end{macrocode}
-% \end{macro}
-%
-
-% End check for bibliography option.
-%    \begin{macrocode}
-\fi
-%    \end{macrocode}
-
-% \section{Hyperlinks and References}
-%
-% Load the |hyperref| package \cite{hyperref} enable Unicode encoding and hide links.
-%
-%    \begin{macrocode}
-\RequirePackage{hyperref}
-\hypersetup{
-  pdfencoding=auto,
-  psdextra,
-  hidelinks,
-  linktoc=all,
-  breaklinks=true,
-  pdfcreator={},
-  pdfproducer={}
-}
-%    \end{macrocode}
-% Set the \PDF meta data according to the paper information and ensure that unnecessary information is suppressed.
-%
-%    \begin{macrocode}
-\pdfstringdefDisableCommands{\def\varepsilon{\textepsilon}}
-\AtBeginDocument{
-  \pdfstringdefDisableCommands{\let\ensuremath\@gobble}
-  \pdfstringdefDisableCommands{\let\mathsurround\@gobble}
-  \pdfstringdefDisableCommands{\let\unskip\@gobble}
-  \pdfstringdefDisableCommands{\let\thanks\@gobble}
-  \pdfstringdefDisableCommands{\let\footnote\@gobble}
-  \pdfstringdefDisableCommands{\let\\\@gobble}
-}
-\ifhep at revtex
-  \AtBeginShipout{\hypersetup{pdftitle={\@title}}}
-\else
-  \AtBeginDocument{\hypersetup{pdftitle={\@title}}}
-\fi
-\ifhep at title
-  \AtBeginDocument{\hypersetup{pdfauthor=\AB at authlist}}
-\else
-  \AtBeginDocument{\hypersetup{pdfauthor={\@author}}}
-\fi
-%    \end{macrocode}
-
-% \begin{macro}{\cref}
-% Improve reference using the |cleveref| package \cite{cleveref}.
-%
-%    \begin{macrocode}
-\RequirePackage[noabbrev, nameinlink]{cleveref}
-\newcommand{\creflastconjunction}{, and\nobreakspace}
-\crefname{enumi}{point}{points}
-\Crefname{enumi}{Point}{Points}
-%    \end{macrocode}
-% \end{macro}
-
-%\begin{macro}{\no at break@before}
-% Define a macro able to prevent line breaks.
-% \DoNotIndex{\no at break@before,\ifvmode,\ifhmode,\ifdim,\lastskip,\unskip,\nobreakspace}
-%    \begin{macrocode}
-\newcommand\no at break@before{%
-  \relax\ifvmode\else%
-    \ifhmode%
-      \ifdim\lastskip > 0pt%
-        \relax\unskip\nobreakspace%
-      \fi%
-    \fi%
-  \fi%
-}
-%    \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\ref}
-% Adjust |\ref|\marg{key} in order to prevent preceding line breaks and to enable the possibility to reference multiple references at once.
-%    \begin{macrocode}
-\let\old at ref\ref
-\AtBeginDocument{\renewcommand\ref{\no at break@before\labelcref}}
-%    \end{macrocode}
-% \end{macro}
-% ! Bug ! in equations the additional brackets from the cleveref macro conflict with the traditional |(\ref|\marg{key}|)| approach
-
-% \begin{macro}{\eqref}
-% Adjust |\eqref|\marg{key} in order to prevent preceding line breaks and to enable the possibility to reference multiple equations at once.
-%    \begin{macrocode}
-\renewcommand\eqref{\no at break@before\labelcref}
-%    \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\subref}
-% Adjust |\subref|\marg{key} in order to prevent preceding line breaks.
-%    \begin{macrocode}
-\let\old at subref\subref
-\renewcommand\subref{\no at break@before\old at subref}
-\renewcommand*\subcaption at ref[2]{\begingroup%
-  \caption at setoptions{sub}%
-  \subcaption at reffmt\p at subref{\old at ref#1{sub@#2}}%
-\endgroup}
-%    \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\subcref}
-% Provide the |\subcref| macro.
-%    \begin{macrocode}
-\newcommand{\subcref}[1]{\cref{sub@#1}}
-%    \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\eqcrefname}
-% Define the |\eqcrefname| macro for named equation types.
-%    \begin{macrocode}
-\NewDocumentCommand{\eqcrefname}{mmo}{
-  \crefname{#1}{#2}{\IfValueTF{#3}{#3}{#2s}}
-  \creflabelformat{#1}{(##2##1##3)}
-}
-%    \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\labelcrefrange}
-% Define the missing |\labelcrefrange|\marg{key1}\marg{key2} macro.
-%    \begin{macrocode}
-\DeclareRobustCommand{\labelcrefrange}[2]{%
-  \@crefrangenostar{labelcref}{#1}{#2}%
-}
-%    \end{macrocode}
-% \end{macro}
-
-% \subsection{Citations}
-%
-% \begin{macro}{\cite}
-% Adjust |\cite|\marg{key} in order to prevent preceding line breaks.
-%    \begin{macrocode}
-\let\old at cite\cite
-\renewcommand\cite{\no at break@before\old at cite}
-%    \end{macrocode}
-% \end{macro}
-
-% Begin of bibliography if.
-%    \begin{macrocode}
-\ifnum\pdf at strcmp{\hep at bibliography}{false}=0\else
-%    \end{macrocode}
-% Define bibstrings for reference names.
-%    \begin{macrocode}
-\NewBibliographyString{refname}
-\NewBibliographyString{refsname}
-\DefineBibliographyStrings{english}{%
-  refname = {reference},
-  refsname = {references}
-}
-%    \end{macrocode}
-% \begin{macro}{\ccite}
-% \begin{macro}{\Ccite}
-% Define \emph{clever} citation macros.
-% \begin{macrocode}
-\DeclareCiteCommand{\ccite}{%
-  \ifnum\thecitetotal=1
-    \bibstring{refname}%
-  \else%
-    \bibstring{refsname}%
-  \fi%
-  \addnbspace\bibopenbracket%
-  \usebibmacro{cite:init}\usebibmacro{prenote}%
-}{\usebibmacro{citeindex}\usebibmacro{cite:comp}}{}{%
-  \usebibmacro{cite:dump}\usebibmacro{postnote}%
-  \bibclosebracket%
-}
-
-\newrobustcmd*{\Ccite}{\bibsentence\ccite}
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-% End of biblatex if.
-%    \begin{macrocode}
-\fi
-%    \end{macrocode}
-
-% \section{Acronyms}
-%
-% Acronyms are implemented with the |glossaries-extra| package \cite{glossaries-extra} which is an extension of the |glossaries| package \cite{glossaries}.
-%    \begin{macrocode}
-\ifhep at glossaries
-\RequirePackage[nostyles]{glossaries-extra}
-%    \end{macrocode}
-% The entry count feature is used.
-%    \begin{macrocode}
-\glsenableentrycount
-\glssetcategoryattribute{abbreviation}{entrycount}{1}
-%    \end{macrocode}
-% Provide macros for older |glossaries-extra| installations.
-%    \begin{macrocode}
-\providecommand{\glsxtrusefield}[2]{\@gls at entry@field{#1}{#2}}
-\providecommand{\glsxtrsetfieldifexists}[3]{\glsdoifexists{#1}{#3}}
-\providecommand{\gGlsXtrSetField}[3]{%
-  \glsxtrsetfieldifexists{#1}{#2}{%
-    \csgdef{glo@\glsdetoklabel{#1}@#2}{#3}%
-  }%
-}
-%    \end{macrocode}
-% Hyperlinks from the abbreviation to their definition in the text are set.
-%    \begin{macrocode}
-\glssetcategoryattribute{abbreviation}{nohyperfirst}{true}
-\renewcommand*{\glsdonohyperlink}[2]{{%
-  \glsxtrprotectlinks\edef\fieldvalue{%
-    \glsxtrusefield{\glslabel}{hastarget}%
-  }%
-  \ifdefstring\fieldvalue{true}{#2}{%
-    \gGlsXtrSetField{\glslabel}{hastarget}{true}%
-    \glsdohypertarget{#1}{#2}%
-  }%
-}}
-%    \end{macrocode}
-
-% \begin{macro}{\begin at sentence}
-% Mark the beginning of a paragraph as if it would follow a full stop using the |everyhook| package \cite{everyhook}.
-%    \begin{macrocode}
-\RequirePackage[excludeor]{everyhook}
-\newcommand{\begin at sentence}{1001}
-\PushPostHook{par}{{\spacefactor=\begin at sentence}}
-%    \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\frenchspacing}
-% Adjust the |\frenchspacing| macro to be compatibel with this idea.
-%    \begin{macrocode}
-\def\frenchspacing{%
-  \sfcode`\.\begin at sentence \sfcode`\?\begin at sentence
-  \sfcode`\!\begin at sentence \sfcode`\:\begin at sentence
-  \sfcode`\;\@m \sfcode`\,\@m
-}
-%    \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\if at begin@of at sentence}
-% Provide a macro checking for the beginning of a sentence by examining the length of the preceeding space.
-%    \begin{macrocode}
-\newcommand{\if at begin@of at sentence}[2]{\leavevmode\protecting{%
-  \ifboolexpr{ test {\ifnumcomp{\spacefactor}{=}{3000}} or%
-               test {\ifnumcomp{\spacefactor}{=}{2000}} or%
-               test {\ifnumcomp{\spacefactor}{=}{\begin at sentence}}%
-  }{#1}{#2}%
-}}
-%    \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\acronym}
-% The |\acronym|\meta{*}\oarg{typeset abbreviation}\marg{abbreviation}\meta{*}\marg{definition}\oarg{plural\linebreak[4] definition} macro is defined.
-% \begin{enumerate}[nosep, label=\#\arabic*]
-% \item star for omitting the \enquote{s} in the short plural
-% \item optional typeset abbreviation
-% \item mandatory abbreviation
-% \item star for restoring the \hologo{TeX} default for space after text macros
-% \item mandatory long form
-% \item optional plural long form
-% \end{enumerate}
-%    \begin{macrocode}
-\NewDocumentCommand{\acronym}{somsmo}{
-  \newabbreviation[
-    longplural=\IfNoValueTF{#6}{#5s}{#6},
-    \glsshortpluralkey=\IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}}
-  ]{#3}{\IfNoValueTF{#2}{#3}{#2}}{#5}
-%    \end{macrocode}
-% Provide the singular acronym macro.
-%    \begin{macrocode}
-  \expandafter\newcommand\csname#3\endcsname{%
-    \if at begin@of at sentence{\cGls{#3}}{\cgls{#3}}%
-    \IfBooleanTF{#4}{}{\@\xspace}%
-  }
-%    \end{macrocode}
-% Expand the singular acronym macro in \PDF labels.
-%    \begin{macrocode}
-  \pdfstringdefDisableCommands{\expandafter\def\csname#3\endcsname{%
-    \IfNoValueTF{#2}{#3}{#2} }%
-  }
-%    \end{macrocode}
-% Provide the singular acronym macro in math mode.
-%    \begin{macrocode}
-  \expandafter\mathdef\csname#3\endcsname{%
-    \text{\glsxtrshort{#3}}\@gls at increment@currcount{#3}%
-  }
-%    \end{macrocode}
-% Provide the plural acronym macro.
-%    \begin{macrocode}
-  \expandafter\newcommand\csname#3s\endcsname{%
-    \if at begin@of at sentence{\cGlspl{#3}}{\cglspl{#3}}%
-    \IfBooleanTF{#4}{}{\@\xspace}%
-  }
-%    \end{macrocode}
-% Expand the plural acronym macro in \PDF labels.
-%    \begin{macrocode}
-  \pdfstringdefDisableCommands{\expandafter\def\csname#3s\endcsname{%
-    \IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}} }%
-  }
-%    \end{macrocode}
-% Provide the plural acronym macro in math mode.
-%    \begin{macrocode}
-  \expandafter\mathdef\csname#3s\endcsname{%
-    \text{\glsxtrshortpl{#3}}\@gls at increment@currcount{#3}%
-  }
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\shortacronym}
-% The |\shortacronym| never expands into the long form.
-%    \begin{macrocode}
-\NewDocumentCommand{\shortacronym}{somsmo}{
-%    \end{macrocode}
-% Provide the singular acronym macro.
-%    \begin{macrocode}
-  \expandafter\newcommand\csname#3\endcsname{%
-    \IfNoValueTF{#2}{#3}{#2}\IfBooleanTF{#4}{}{\@\xspace}%
-  }
-%    \end{macrocode}
-% Expand the singular acronym macro in \PDF labels.
-%    \begin{macrocode}
-  \pdfstringdefDisableCommands{\expandafter\def\csname#3\endcsname{%
-    \IfNoValueTF{#2}{#3}{#2} }%
-  }
-%    \end{macrocode}
-% Provide the singular acronym macro in math mode.
-%    \begin{macrocode}
-  \expandafter\mathdef\csname#3\endcsname{%
-    \text{\IfNoValueTF{#2}{#3}{#2}}%
-  }
-%    \end{macrocode}
-% Provide the plural acronym macro.
-%    \begin{macrocode}
-  \expandafter\newcommand\csname#3s\endcsname{%
-    \IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}}%
-    \IfBooleanTF{#4}{}{\@\xspace}%
-  }
-%    \end{macrocode}
-% Expand the plural acronym macro in \PDF labels.
-%    \begin{macrocode}
-  \pdfstringdefDisableCommands{\expandafter\def\csname#3s\endcsname{%
-    \IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}} }%
-  }
-%    \end{macrocode}
-% Provide the plural acronym macro in math mode.
-%    \begin{macrocode}
-  \expandafter\mathdef\csname#3s\endcsname{%
-    \text{\IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}}}%
-  }%
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\longacronym}
-% The |\longacronym| never shows the abbreviated form.
-%    \begin{macrocode}
-\NewDocumentCommand{\longacronym}{somsmo}{
-%    \end{macrocode}
-% Provide the singular acronym macro.
-%    \begin{macrocode}
-  \expandafter\newcommand\csname#3\endcsname{%
-    \if at begin@of at sentence{\MakeUppercase#5}{#5}%
-    \IfBooleanTF{#4}{}{\@\xspace}%
-  }
-%    \end{macrocode}
-% Expand the singular acronym macro in \PDF labels.
-%    \begin{macrocode}
-  \pdfstringdefDisableCommands{\expandafter\def\csname#3\endcsname{#5 }}
-%    \end{macrocode}
-% Provide the plural acronym macro.
-%    \begin{macrocode}
-  \expandafter\newcommand\csname#3s\endcsname{%
-    \if at begin@of at sentence{%
-      \IfNoValueTF{#6}{\MakeUppercase#5s}{\MakeUppercase#6}%
-    }{%
-      \IfNoValueTF{#6}{#5s}{#6}}\IfBooleanTF{#4}{}{\@\xspace}%
-  }
-%    \end{macrocode}
-% Expand the plural acronym macro in \PDF labels.
-%    \begin{macrocode}
-  \pdfstringdefDisableCommands{\expandafter\def\csname#3s\endcsname{%
-    \IfNoValueTF{#6}{#5s}{#6} }%
-  }
-}
-%    \end{macrocode}
-% \end{macro}
-% Silence warning if no acronyms are defined.
-%    \begin{macrocode}
-\renewcommand*{\@gls at write@entrycounts}{%
-  \immediate\write\@auxout{%
-    \string\providecommand*{\string\@gls at entry@count}[2]{}
-  }%
-  \count@=0\relax
-  \forallglsentries{\@glsentry}{%
-    \glshasattribute{\@glsentry}{entrycount}{%
-      \ifglsused{\@glsentry}{%
-        \immediate\write\@auxout{%
-          \string\@gls at entry@count{\@glsentry}{%
-            \glsentrycurrcount{\@glsentry}%
-          }
-        }%
-      }{}\advance\count@ by \@ne
-    }{}%
-  }%
-}
-%    \end{macrocode}
-% \begin{macro}{\resetacronym}
-% \begin{macro}{\dummyacronym}
-% Add two macros for acronym management.
-%    \begin{macrocode}
-\newcommand{\resetacronym}[1]{\protect\glsreset{#1}}
-\newcommand{\dummyacronym}[1]{\protect\glsunset{#1}}
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{abstract}
-% Adjust the |abstract| environment to reset all acronym counters.
-%    \begin{macrocode}
-\@ifundefined{abstract}{}{%
-  \let\end at old@abstract\endabstract%
-  \renewcommand\endabstract{\glsresetall\end at old@abstract}%
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\tableofcontents}
-% Adjust the |\tableofcontents| macro to never show the long form of acronyms.
-%    \begin{macrocode}
-\let\old at table@of at contents\tableofcontents
-\renewcommand\tableofcontents{%
-  \glsunsetall\old at table@of at contents\glsresetall%
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% End of glossaries if.
-%    \begin{macrocode}
-\fi
-%    \end{macrocode}
-%
-%</package>
-%
-% \section{Biblatex datamodel file} \label{sec:data model}
-%
-%<*datamodel>
-
-% \begin{macro}{reportnumber}
-% \begin{macro}{collaboration}
-% \begin{macro}{protocollessurl}
-% Define the |dbx| file containing the |hep-paper| datamodel.
-%    \begin{macrocode}
-\DeclareDatamodelFields[type=field, datatype=literal]{
-  reportnumber,
-  collaboration,
-}
-\DeclareDatamodelFields[type=field, datatype=uri]{protocollessurl}
-\DeclareDatamodelEntryfields{
-  reportnumber,
-  collaboration,
-  protocollessurl,
-}
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%</datamodel>
-%
-% \Finale
-
-\endinput
-
-% \PrintIndex
-% makeindex -s gglo.ist -o hep-paper.gls hep-paper.glo
-% makeindex -s gglo.ist -o hep-paper.ind hep-paper.idx
-
-% \begin{macro}{\refstepcounter at ...}
-% Adjust the |cleveref| |\refstepcounter at noarg| and |\refstepcounter at optarg| to use the |\@currentlabel| in order to fix problems with |\subref|.
-%    \begin{macrocode}
-\def\refstepcounter at noarg#1{%
-  \cref at old@refstepcounter{#1}%
-  \cref at constructprefix{#1}{\cref at result}%
-  \@ifundefined{cref@#1 at alias}%
-    {\def\@tempa{#1}}%
-    {\def\@tempa{\csname cref@#1 at alias\endcsname}}%
-  \protected at edef\cref at currentlabel{%
-    [\@tempa][\arabic{#1}][\cref at result]%
-    \noexpand\@currentlabel%
-  }% changed
-}
-
-\def\refstepcounter at optarg[#1]#2{%
-  \cref at old@refstepcounter{#2}%
-  \cref at constructprefix{#2}{\cref at result}%
-  \@ifundefined{cref@#1 at alias}%
-    {\def\@tempa{#1}}%
-    {\def\@tempa{\csname cref@#1 at alias\endcsname}}%
-  \protected at edef\cref at currentlabel{%
-    [\@tempa][\arabic{#2}][\cref at result]%
-    \noexpand\@currentlabel% changed
-  }%
-}
-%    \end{macrocode}
-% \end{macro}

Modified: trunk/Master/texmf-dist/source/latex/hep-paper/hep-paper.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/hep-paper/hep-paper.ins	2020-09-01 21:34:25 UTC (rev 56235)
+++ trunk/Master/texmf-dist/source/latex/hep-paper/hep-paper.ins	2020-09-01 21:34:50 UTC (rev 56236)
@@ -11,7 +11,6 @@
 %% 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-paper}
@@ -29,8 +28,9 @@
 \endpreamble
 
 \generate{
-  \file{hep-paper.sty}{\from{hep-paper.dtx}{package}}
-  \file{hep-paper.dbx}{\from{hep-paper.dtx}{datamodel}}
+  \file{hep-paper.sty}{\from{hep-paper-implementation.dtx}{package}}
+  \file{hep-paper.dbx}{\from{hep-paper-implementation.dtx}{datamodel}}
+  \file{hep-paper-documentation.tex}{\from{hep-paper-implementation.dtx}{documentation}}
 }
 
 \Msg{*********************************************************}

Modified: trunk/Master/texmf-dist/tex/latex/hep-paper/hep-paper.dbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/hep-paper/hep-paper.dbx	2020-09-01 21:34:25 UTC (rev 56235)
+++ trunk/Master/texmf-dist/tex/latex/hep-paper/hep-paper.dbx	2020-09-01 21:34:50 UTC (rev 56236)
@@ -4,7 +4,7 @@
 %%
 %% The original source files were:
 %%
-%% hep-paper.dtx  (with options: `datamodel')
+%% hep-paper-implementation.dtx  (with options: `datamodel')
 %% This is a generated file.
 %% Copyright (C) 2019-2020 by Jan Hajer
 %% This file may be distributed and/or modified under the
@@ -14,17 +14,14 @@
 %% 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-paper.dbx}[2020/05/01 v1.3 HEP-Paper biblatex data model]
+\ProvidesFile{hep-paper.dbx}[2020/08/01 v1.4 HEP-Paper biblatex data model]
 
 \DeclareDatamodelFields[type=field, datatype=literal]{
-  reportnumber,
-  collaboration,
+  collaboration, reportnumber, pmid, pmcid, pmc,
 }
 \DeclareDatamodelFields[type=field, datatype=uri]{protocollessurl}
 \DeclareDatamodelEntryfields{
-  reportnumber,
-  collaboration,
-  protocollessurl,
+  collaboration, reportnumber, pmid, pmcid, pmc, protocollessurl,
 }
 
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/hep-paper/hep-paper.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/hep-paper/hep-paper.sty	2020-09-01 21:34:25 UTC (rev 56235)
+++ trunk/Master/texmf-dist/tex/latex/hep-paper/hep-paper.sty	2020-09-01 21:34:50 UTC (rev 56236)
@@ -4,7 +4,7 @@
 %%
 %% The original source files were:
 %%
-%% hep-paper.dtx  (with options: `package')
+%% hep-paper-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
@@ -15,7 +15,7 @@
 %% 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-paper}[2020/05/01 v1.3 Publications in High Energy Physics]
+\ProvidesPackage{hep-paper}[2020/08/01 v1.4 Publications in High Energy Physics]
 
 \RequirePackage{pdftexcmds}
 \RequirePackage{kvoptions}
@@ -25,28 +25,41 @@
 }
 \DeclareStringOption[a4]{paper}
 \DeclareStringOption[11pt]{font}
-\DeclareBoolOption[false]{defaults}
 \DeclareStringOption[british]{lang}
+\DeclareBoolOption[true]{serif}
+\DeclareComplementaryOption{sansserif}{serif}
 \DeclareBoolOption[true]{parindent}
 \DeclareComplementaryOption{parskip}{parindent}
-\DeclareBoolOption[true]{serif}
-\DeclareComplementaryOption{sansserif}{serif}
-\DeclareBoolOption[false]{eqnarray}
+\DeclareBoolOption[false]{defaults}
+\DeclareBoolOption[true]{title}
 \DeclareStringOption[numeric-comp]{bibliography}
 \DeclareBoolOption[true]{glossaries}
-\DeclareBoolOption[false]{manualplacement}
-\DeclareBoolOption[true]{title}
+\DeclareBoolOption[true]{references}
+\DeclareBoolOption[false]{beamer}
 \DeclareBoolOption[false]{revtex}
 \DeclareBoolOption[false]{jhep}
 \DeclareBoolOption[false]{jcap}
 \DeclareBoolOption[false]{pos}
+\DeclareBoolOption[false]{eqnarray}
+\DeclareBoolOption[false]{manualplacement}
 \ProcessKeyvalOptions*
+\@ifclassloaded{PoS}{\setkeys{hep}{pos}}{}
 \ifhep at pos
-  \setkeys{hep}{title=false, defaults}
+  \setkeys{hep}{defaults, title=false}
+  \DeclareRobustCommand\boldmath{\@nomath\boldmath\mathversion{bold}}
 \fi
+\@ifclassloaded{beamer}{\setkeys{hep}{beamer}}{}
+\ifhep at beamer
+  \setkeys{hep}{defaults, title=false, references=false, sansserif}
+\fi
+\@ifclassloaded{revtex4}{\setkeys{hep}{revtex}}{}
+\@ifclassloaded{revtex4-1}{\setkeys{hep}{revtex}}{}
+\@ifclassloaded{revtex4-2}{\setkeys{hep}{revtex}}{}
 \ifhep at revtex
-  \setkeys{hep}{defaults, title=false, lang=american, bibliography=false}
+  \setkeys{hep}{defaults, title=false, bibliography=false, lang=american}
 \fi
+\@ifpackageloaded{jheppub}{\setkeys{hep}{jhep}}{}
+\@ifpackageloaded{jcappub}{\setkeys{hep}{jcap}}{}
 \newif\ifhep at sissa
 \ifhep at jhep\hep at sissatrue
 \else
@@ -61,10 +74,18 @@
     urlcolor=blue, anchorcolor=blue, citecolor=blue, filecolor=blue,
     linkcolor=blue, menucolor=blue, pagecolor=blue
   }{hyperref}
-  \hoffset 0pt
-  \voffset 0pt
+  \PassOptionsToPackage{reset}{geometry}
 \fi
+\ifhep at jhep
+  \voffset 0in
+  \hoffset 0in
+\fi
 
+\RequirePackage{alphabeta}
+\ifhep at serif\else
+  \RequirePackage{sansmathfonts}
+  \renewcommand\familydefault{\sfdefault}
+\fi
 \RequirePackage{ifluatex}
 \RequirePackage{ifxetex}
 \newif\ifxetexorluatex
@@ -74,30 +95,38 @@
   \else\xetexorluatexfalse
   \fi
 \fi
-
-\RequirePackage{alphabeta}
-\ifhep at serif\else
-  \RequirePackage{sansmathfonts}
-  \renewcommand\familydefault{\sfdefault}
-\fi
 \ifxetexorluatex
-  \def\@encoding{TU}
+  \def\hep at encoding{TU}
 \else
-  \def\@encoding{T1}
+  \def\hep at encoding{T1}
 \fi
-\RequirePackage[\@encoding]{fontenc}
+\RequirePackage[\hep at encoding]{fontenc}
+\RequirePackage{fix-cm}
 \RequirePackage{lmodern}
 \RequirePackage{textcomp}
 \RequirePackage{microtype}
 \ifxetexorluatex
-  \DeclareFontShape{\@encoding}{lmss}{bx}{sc}{<->cmssbxcsc10}{}
-  \DeclareFontShape{\@encoding}{lmss}{m}{sc}{%
+  \RequirePackage{fontspec}
+  \setmainfont{Latin Modern Roman}[
+    UprightFeatures={SmallCapsFont={[lmromancaps10-regular.otf]}},
+    BoldFeatures={
+      SmallCapsFeatures={Letters=SmallCaps},
+      SmallCapsFont={[cmunbx.otf]}
+    }
+  ]
+  \DeclareFontShape{\hep at encoding}{lmss}{bx}{sc}{<->cmssbxcsc10}{}
+  \DeclareFontShape{\hep at encoding}{lmss}{b}{sc}{<->cmssbxcsc10}{}
+  \DeclareFontShape{\hep at encoding}{lmss}{m}{sc}{%
     <-9>cmsscsc8<9-10>cmsscsc9<10->cmsscsc10%
   }{}
 \else
+  \rmfamily
+  \DeclareFontShape{\hep at encoding}{lmr}{b}{sc}{<->ssub*cmr/bx/sc}{}
+  \DeclareFontShape{\hep at encoding}{lmr}{bx}{sc}{<->ssub*cmr/bx/sc}{}
   \sffamily
-  \DeclareFontShape{\@encoding}{lmss}{bx}{sc}{<->ssub*xcmss/bx/sc}{}
-  \DeclareFontShape{\@encoding}{lmss}{m}{sc}{<->ssub*xcmss/m/sc}{}
+  \DeclareFontShape{\hep at encoding}{lmss}{bx}{sc}{<->ssub*xcmss/bx/sc}{}
+  \DeclareFontShape{\hep at encoding}{lmss}{b}{sc}{<->ssub*xcmss/bx/sc}{}
+  \DeclareFontShape{\hep at encoding}{lmss}{m}{sc}{<->ssub*xcmss/m/sc}{}
 \fi
 
 \ifxetexorluatex\else
@@ -105,11 +134,11 @@
 \fi
 \RequirePackage[\hep at lang]{babel}
 \RequirePackage{csquotes}
-\RequirePackage{soul}
-\let\underline\ul
+\RequirePackage[normalem]{ulem}
+\let\underline\uline
 \ifhep at defaults\else
-  \def\remove at pt#1pt{#1}
-  \edef\@ptsize{\expandafter\remove at pt\hep at font}
+  \def\hep at remove@pt#1pt{#1}
+  \edef\hep at pt@size{\expandafter\hep at remove@pt\hep at font}
   \let\small\relax
   \let\footnotesize\relax
   \let\scriptsize\relax
@@ -119,7 +148,7 @@
   \let\LARGE\relax
   \let\huge\relax
   \let\Huge\relax
-  \input{size\@ptsize.clo}
+  \input{size\hep at pt@size.clo}
 \fi
 
 \ifnum\pdf at strcmp{\hep at lang}{american}=0
@@ -151,19 +180,22 @@
 \setlist[enum at descript]{label=\arabic*.}
 \newenvironment{enumdescript}[1][]{
 \begin{enum at descript}[#1]
-  \let\old at item\item
+  \let\hep at item\item
   \renewcommand{\item}[2][]{
-    \ifx&##1&\old at item\else\old at item[##1]\fi
+    \ifx&##1&\hep at item\else\hep at item[##1]\fi
     \textbf{##2}\ifx##2\empty\else~\fi\@ifnextchar\par\@gobble\relax
   }
 }{\end{enum at descript}}
 
-\let\@foot at note\footnote
-\renewcommand{\footnote}[1]{\unskip\@foot at note{\ignorespaces#1}}
-
 \ifhep at defaults\else
-  \RequirePackage[\hep at paper paper]{geometry}
-  \geometry{hscale=.75, vscale=.8, vmarginratio=3:4, includeheadfoot}
+  \RequirePackage{geometry}
+  \geometry{%
+    \hep at paper paper,
+    hscale=.75,
+    vscale=.8,
+    vmarginratio=3:4,
+    includeheadfoot
+  }
 \fi
 
 \ifhep at parindent\else
@@ -186,6 +218,7 @@
 \allowdisplaybreaks[1]
 
 \DeclareMathOperator{\diag}{diag}
+\DeclareMathOperator{\sgn}{sgn}
 
 \RequirePackage{xparse}
 \DeclareDocumentCommand{\mathdef}{mO{0}m}{%
@@ -203,38 +236,42 @@
 
 \AtBeginDocument{\mathdef{\i}{\operatorname{i}}}
 
-\def\overline#1{{\setul{-2ex}{}\ul{#1}}}
+\def\overline#1{{\renewcommand{\ULdepth}{-1.9ex}{}\uline{#1}}}
 \DeclareRobustCommand{\over at line}[1]{\@@overline{#1}}
 \mathdef{\overline}{\over at line}
 
+\RequirePackage{mleftright}
+\mleftright
+
 \ifhep at eqnarray\else
   \let\eqnarray\@undefined
   \let\endeqnarray\@undefined
 \fi
 
-\newcommand{\bmmax}{2}
+\ifhep at serif\providecommand{\bmmax}{2}\else\providecommand{\bmmax}{1}\fi
 \RequirePackage{bm}
 \let\mathbf\bm
 \g at addto@macro\bfseries{\boldmath}
 \ifhep at serif
   \RequirePackage{fixmath}
-  \DeclareMathAlphabet{\mathsf}{OML}{cmbr}{m}{it}
-  \SetMathAlphabet{\mathsf}{bold}{OML}{cmbr}{bx}{it}
+  \newcommand\hep at sf@font{cmbr}
 \else
   \RequirePackage[slantedGreek]{sfmath}
   \RequirePackage{sansmathfonts}
-  \DeclareMathAlphabet{\mathsf}{OML}{cmm}{m}{it}
-  \SetMathAlphabet{\mathsf}{bold}{OML}{cmm}{bx}{it}
+  \newcommand\hep at sf@font{cmm}
 \fi
-\RequirePackage{mathrsfs}
-\RequirePackage{bbm}
+\SetMathAlphabet{\mathsf}{normal}{OML}{\hep at sf@font}{m}{it}
+\SetMathAlphabet{\mathsf}{bold}{OML}{\hep at sf@font}{bx}{it}
+\DeclareMathAlphabet{\mathscr}{U}{rsfs}{m}{n}
 \ifhep at serif
-  \let\mathbb\mathbbm
+  \newcommand\hep at bb@font{dsrom}
 \else
-  \let\mathbb\mathbbmss
+  \newcommand\hep at bb@font{dsss}
 \fi
+\SetMathAlphabet{\mathbb}{normal}{U}{\hep at bb@font}{m}{n}
 
 \RequirePackage{physics}
+\RequirePackage{cancel}
 \RequirePackage{slashed}
 \RequirePackage{units}
 
@@ -249,11 +286,13 @@
 }
 \newcommand{\overleftright}[1]{\oset{\leftrightarrow}{#1}}
 
-\renewcommand{\textfraction}{0.01}
-\setcounter{topnumber}{1}
-\renewcommand{\topfraction}{.9}
-\setcounter{bottomnumber}{0}
-\renewcommand{\floatpagefraction}{.8}
+\setcounter{bottomnumber}{0} % 1
+\setcounter{topnumber}{1} % 2
+\setcounter{dbltopnumber}{1} % 2
+\renewcommand{\topfraction}{.9} % .7
+\renewcommand{\dbltopfraction}{.9} % .7
+\renewcommand{\textfraction}{.1} % .2
+\renewcommand{\floatpagefraction}{.8} % .5
 
 \let\@figure@\figure%
 \let\@end at figure@\endfigure%
@@ -275,7 +314,17 @@
   }{\@end at table@}
 \fi%
 
-\ifhep at revtex
+\newif\ifhep at journal
+\ifhep at sissa\hep at journaltrue
+\else
+  \ifhep at revtex\hep at journaltrue
+  \else
+    \ifhep at pos\hep at journaltrue
+    \else\hep at journalfalse
+    \fi
+  \fi
+\fi
+\ifhep at journal
   \setlength\abovecaptionskip{\f at size\p@}
   \setlength\belowcaptionskip{0\p@}
   \long\def\@makecaption#1#2{%
@@ -335,13 +384,15 @@
 
 \ifhep at title
 \date{}
-
 \author{}
-\AtEndOfClass{\newcommand{\email}[1]{%
-  \unskip\thanks{\online{mailto:#1}{#1}}
-}}
 \RequirePackage{authblk}
 \renewcommand\Affilfont{\footnotesize}
+\newcommand{\email}[1]{\online{mailto:#1}{#1}}
+\let\hep at author\author
+\def\author{%
+  \renewcommand{\email}[1]{\unskip\thanks{\online{mailto:##1}{##1}}}%
+  \hep at author
+}
 \newcommand\active at comma{,\penalty-5\relax}
 \newcommand\cat at comma@active{\catcode`\,\active}
 {\cat at comma@active\gdef,{\active at comma}}
@@ -365,9 +416,9 @@
 
 \RequirePackage{atbegshi}
 \RequirePackage{picture}
-\let\old at maketitle\maketitle
+\let\hep at maketitle\maketitle
 \renewcommand{\maketitle}{%
-  \old at maketitle%
+  \hep at maketitle%
   \AtBeginShipoutFirst{%
     \put(
       \textwidth+\oddsidemargin-\widthof{\@preprint at box},
@@ -377,8 +428,8 @@
 }
 
 \@ifundefined{abstract}{}{%
-  \let\old at abstract\abstract%
-  \renewcommand\abstract{\old at abstract\noindent\ignorespaces}%
+  \let\hep at abstract\abstract%
+  \renewcommand\abstract{\hep at abstract\noindent\ignorespaces}%
 }
 \fi
 
@@ -387,42 +438,27 @@
 \providecommand{\DeclareSortingTemplate}{\DeclareSortingScheme}
 \DeclareSortingTemplate{hep-paper}{
   \sort{\citeorder}
-  \sort[final]{
-    \field{sortkey}
-  }
-  \sort{
-    \field{sortyear}
-    \field{year}
-    \literal{9999}
-  }
-  \sort{
-    \field{month}
-  }
-  \sort{
-    \field{eprint}
-    \field{doi}
-  }
-  \sort{
-    \field{sorttitle}
-    \field{title}
-  }
-  \sort{
-    \field{subtitle}
-    \field{volume}
-  }
+  \sort[final]{\field{sortkey}}
+  \sort{\field{sortyear} \field{year} \literal{9999}}
+  \sort{\field{month}}
+  \sort{\field{eprint} \field{doi}}
+  \sort{\field{sorttitle} \field{title}}
+  \sort{\field{subtitle} \field{volume}}
 }
 \ExecuteBibliographyOptions{
   sorting=hep-paper,
   giveninits=true
 }
-\NewBibliographyString{erratum}
-\DefineBibliographyStrings{english}{erratum={Erratum}}
-\let\old at printbibliography\printbibliography
-\renewcommand{\printbibliography}{\sloppy\old at printbibliography}
+\NewBibliographyString{erratum,erratums}
+\DefineBibliographyStrings{english}{erratum={Erratum},erratums={Errata}}
+\providecommand{\relateddelimerratum}{\addsemicolon\space}
+\let\hep at printbibliography\printbibliography
+\renewcommand{\printbibliography}{\sloppy\hep at printbibliography}
 
 \newcommand{\reg at exp@one}{\regexp{\A(\p{L}+)?\d+(\p{L}+)?\Z}}
 \newcommand{\reg at exp@two}{\regexp{\A(\p{L}+)?(\d+)(\p{L}+)?\Z}}
 \newcommand{\reg at exp@url}{\regexp{\A(ht|f)tp(s)?:\/\/}}
+\newcommand{\reg at exp@pmc}{\regexp{\A(PMC)?}}
 \DeclareSourcemap{%
   \maps[datatype=bibtex, overwrite=true]{%
     \map{%
@@ -444,8 +480,30 @@
       \step[fieldset=protocollessurl, origfieldval, final=true]
       \step[fieldsource=protocollessurl, match=\reg at exp@url, replace={}]
     }
+    \map{
+      \step[fieldsource=pmcid, final=true]
+      \step[fieldset=pmc, origfieldval, final=true]
+      \step[fieldsource=pmc, match=\reg at exp@pmc, replace={}]
+    }
   }%
 }
+\providecommand{\letbibmacro}[2]{\csletcs{abx at macro@#1}{abx at macro@#2}}
+\renewbibmacro*{author/translator+others}{%
+  \ifboolexpr{
+    test \ifuseauthor and (
+      not test {\ifnameundef{author}} or
+      not test {\iffieldundef{collaboration}}
+    )
+  }
+  {\usebibmacro{author}}
+  {\usebibmacro{translator+others}}
+}
+\letbibmacro{hep at bib@author}{author}
+\renewbibmacro*{author}{%
+  \iffieldundef{collaboration}{%
+    \usebibmacro{hep at bib@author}}{\textit{\printfield{collaboration}}%
+  }%
+}
 \renewbibmacro*{in:}{%
   \iffieldundef{journaltitle}{}{\printtext{\bibstring{in}\intitlepunct}}%
 }
@@ -452,24 +510,30 @@
 \DeclareFieldFormat{url}{%
   \mkbibacro{URL}\addcolon\space\online{#1}{\thefield{protocollessurl}}%
 }
-\renewbibmacro*{author}{%
-  \iffieldundef{collaboration}{%
-    \printnames{author}}{\textbf{\printfield{collaboration}}%
-  }%
+\newcommand{\bib at online}[2]{%
+  \ifhyperref{\online{#1}{#2}}{\nolinkurl{#2}}%
 }
-\providecommand{\letbibmacro}[2]{\csletcs{abx at macro@#1}{abx at macro@#2}}
-\letbibmacro{doi+eprint+url-old}{doi+eprint+url}
+\DeclareFieldFormat{pmid}{%
+  \mkbibacro{PM}\addcolon\space%
+  \bib at online{https://www.ncbi.nlm.nih.gov/pubmed/#1}{#1}%
+}
+\DeclareFieldFormat{pmc}{%
+  \mkbibacro{PMC}\addcolon\space%
+  \bib at online{https://www.ncbi.nlm.nih.gov/pmc/articles/PMC#1}{#1}%
+}
+\letbibmacro{hep-doi+eprint+url}{doi+eprint+url}
 \renewbibmacro*{doi+eprint+url}{%
-  \usebibmacro{doi+eprint+url-old}
-  \iffieldundef{reportnumber}{}{\textls[0]{%
+  \usebibmacro{hep-doi+eprint+url}
+  \iffieldundef{pmc}{%
+    \iffieldundef{pmid}{}{\printfield{pmid}\newunit}%
+  }{\printfield{pmc}\newunit}
+  \iffieldundef{reportnumber}{}{%
     \newunitpunct\textnumero\intitlepunct%
     \textsc{\small\printfield{reportnumber}}%
-  }}%
+    \newunit%
+  }%
 }
 
-\newcommand{\bib at online}[2]{%
-  \ifhyperref{\online{#1}{#2}}{\nolinkurl{#2}}%
-}
 \NewDocumentCommand{\new at eprint}{smm}{
   \DeclareFieldFormat{eprint:#2}{%
     \newcommand{\@path}{\IfBooleanT{#1}{\thefield{eprintclass}/}##1}%
@@ -492,18 +556,13 @@
   HEPForge\addcolon\space\bib at online{https://#1/hepforge.org}{#1}%
 }
 \DeclareFieldAlias{eprint:HEPForge}{eprint:hepforge}
-
 \fi
 
 \RequirePackage{hyperref}
 \hypersetup{
-  pdfencoding=auto,
-  psdextra,
-  hidelinks,
-  linktoc=all,
-  breaklinks=true,
-  pdfcreator={},
-  pdfproducer={}
+  pdfencoding=auto, psdextra,
+  hidelinks, linktoc=all, breaklinks=true,
+  pdfcreator={}, pdfproducer={}
 }
 \pdfstringdefDisableCommands{\def\varepsilon{\textepsilon}}
 \AtBeginDocument{
@@ -517,19 +576,28 @@
 \ifhep at revtex
   \AtBeginShipout{\hypersetup{pdftitle={\@title}}}
 \else
-  \AtBeginDocument{\hypersetup{pdftitle={\@title}}}
+  \ifhep at beamer\else
+    \AtBeginDocument{\hypersetup{pdftitle={\@title}}}
+  \fi
 \fi
 \ifhep at title
   \AtBeginDocument{\hypersetup{pdfauthor=\AB at authlist}}
 \else
-  \AtBeginDocument{\hypersetup{pdfauthor={\@author}}}
+  \ifhep at beamer\else
+    \AtBeginDocument{\hypersetup{pdfauthor={\@author}}}
+  \fi
 \fi
 
+\def\BackrefFootnoteTag{}
+\RequirePackage{footnotebackref}
+\let\@foot at note\footnote
+\renewcommand{\footnote}[1]{\unskip\@foot at note{\ignorespaces#1}}
+
+\ifhep at references
 \RequirePackage[noabbrev, nameinlink]{cleveref}
 \newcommand{\creflastconjunction}{, and\nobreakspace}
 \crefname{enumi}{point}{points}
-\Crefname{enumi}{Point}{Points}
-
+\crefname{inlinelisti}{point}{points}
 \newcommand\no at break@before{%
   \relax\ifvmode\else%
     \ifhmode%
@@ -539,17 +607,16 @@
     \fi%
   \fi%
 }
-
-\let\old at ref\ref
+\let\hep at ref\ref
 \AtBeginDocument{\renewcommand\ref{\no at break@before\labelcref}}
 
 \renewcommand\eqref{\no at break@before\labelcref}
 
-\let\old at subref\subref
-\renewcommand\subref{\no at break@before\old at subref}
+\let\hep at subref\subref
+\renewcommand\subref{\no at break@before\hep at subref}
 \renewcommand*\subcaption at ref[2]{\begingroup%
   \caption at setoptions{sub}%
-  \subcaption at reffmt\p at subref{\old at ref#1{sub@#2}}%
+  \subcaption at reffmt\p at subref{\hep at ref#1{sub@#2}}%
 \endgroup}
 
 \newcommand{\subcref}[1]{\cref{sub@#1}}
@@ -562,9 +629,10 @@
 \DeclareRobustCommand{\labelcrefrange}[2]{%
   \@crefrangenostar{labelcref}{#1}{#2}%
 }
+\fi
 
-\let\old at cite\cite
-\renewcommand\cite{\no at break@before\old at cite}
+\let\hep at cite\cite
+\renewcommand\cite{\no at break@before\hep at cite}
 
 \ifnum\pdf at strcmp{\hep at bibliography}{false}=0\else
 \NewBibliographyString{refname}
@@ -630,12 +698,18 @@
 
 \NewDocumentCommand{\acronym}{somsmo}{
   \newabbreviation[
-    longplural=\IfNoValueTF{#6}{#5s}{#6},
-    \glsshortpluralkey=\IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}}
+    type=\acronymtype,
+    sort=#3,
+    \glsshortpluralkey=\IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}},
+    longplural=\IfNoValueTF{#6}{#5s}{#6}
   ]{#3}{\IfNoValueTF{#2}{#3}{#2}}{#5}
   \expandafter\newcommand\csname#3\endcsname{%
-    \if at begin@of at sentence{\cGls{#3}}{\cgls{#3}}%
-    \IfBooleanTF{#4}{}{\@\xspace}%
+    \if at begin@of at sentence{%
+      \ifglsused{#3}{\cgls{#3}}{\cGls{#3}}%
+    }{\cgls{#3}}%
+    \ifnum\glsentrycurrcount{#3}>1\relax
+      \IfBooleanTF{#4}{}{\@\xspace}%
+    \else\@\xspace\fi
   }
   \pdfstringdefDisableCommands{\expandafter\def\csname#3\endcsname{%
     \IfNoValueTF{#2}{#3}{#2} }%
@@ -710,14 +784,31 @@
 }
 \newcommand{\resetacronym}[1]{\protect\glsreset{#1}}
 \newcommand{\dummyacronym}[1]{\protect\glsunset{#1}}
-\@ifundefined{abstract}{}{%
-  \let\end at old@abstract\endabstract%
-  \renewcommand\endabstract{\glsresetall\end at old@abstract}%
+\@ifundefined{endabstract}{}{%
+  \let\end at hep@abstract\endabstract%
+  \renewcommand\endabstract{\glsresetall\end at hep@abstract}%
 }
-\let\old at table@of at contents\tableofcontents
+\let\hep at table@of at contents\tableofcontents
 \renewcommand\tableofcontents{%
-  \glsunsetall\old at table@of at contents\glsresetall%
+  \glsunsetall\hep at table@of at contents\glsresetall%
 }
+\let\hep at list@of at figures\listoffigures
+\renewcommand\listoffigures{%
+  \glsunsetall\hep at list@of at figures\glsresetall%
+}
+\let\hep at list@of at tables\listoftables
+\renewcommand\listoftables{%
+  \glsunsetall\hep at list@of at tables\glsresetall%
+}
+\NewDocumentCommand{\acronyms}{om}{%
+  \IfNoValueTF{#1}{
+    \newglossary{#2}{#2.in}{#2.out}{#2}%
+    \renewcommand{\acronymtype}{#2}%
+  }{
+    \newglossary{#1}{#1.in}{#1.out}{#2}%
+    \renewcommand{\acronymtype}{#1}%
+  }
+}
 \fi
 
 \endinput



More information about the tex-live-commits mailing list.