%% %% This is file `hep-title.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% hep-title-implementation.dtx (with options: `package') %% This is a generated file. %% Copyright (C) 2019-2023 by Jan Hajer %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3c of this license or (at your option) any later %% version. The latest version of this license is in: %% http://www.latex-project.org/lppl.txt %% and version 1.3c or later is part of all distributions of %% LaTeX version 2005/12/01 or later. \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{hep-title}[2023/07/01 v1.2 Extend title page macros] \providecommand{\online}[2]{\texttt{#2}}% \providecommand{\hep@email}[1]{\online{mailto:#1}{#1}} \providecommand\email{\hep@email} \AtBeginDocument{\@ifpackageloaded{hyperref}{% \renewcommand{\online}[2]{\href{#1}{\nolinkurl{#2}}}% }{} } \newif\ifhep@first% \newcommand{\hep@multi@ref}[1]{% \hep@firsttrue% \forcsvlist{% \ifhep@first\hep@firstfalse\else\textsuperscript,\fi\ref% }{#1}% } \renewcommand{\email}[2][]{\unskip\thanks[#1]{\hep@email{#2}}}% \AtBeginDocument{ \let\hep@maketitle\maketitle \renewcommand\maketitle{\hep@maketitle\let\email\hep@email} } \let\hep@preprint@font\relax \newcommand{\preprintfont}[1]{\def\hep@preprint@font{#1}} \preprintfont{\scshape\small} \let\hep@preprint\relax \newcommand\preprint[1]{\def\hep@preprint{#1}} \RequirePackage{varwidth} \newcommand{\hep@preprint@box}{% \begin{varwidth}{\textwidth}% \hep@preprint@font\hep@preprint% \end{varwidth}% } \RequirePackage{calc} \RequirePackage{atbegshi} \RequirePackage{picture} \newcommand{\placepreprint}{% \AtBeginShipoutFirst{% \put( \textwidth+\oddsidemargin-\widthof{\hep@preprint@box}, -2pt-\topmargin-\heightof{\hep@preprint@box} ){\normalfont\hep@preprint@box} } } \newcommand{\preseries}[1]{\def\hep@pre@series{#1}} \newcommand{\series}[1]{\def\hep@series{#1}} \newcommand{\postseries}[1]{\def\hep@post@series{#1}} \let\hep@series@font\relax \newcommand{\seriesfont}[1]{\def\hep@series@font{#1}} \preseries{\begin{center}\Large\hep@series@font} \postseries{\par\end{center}} \RequirePackage{titling} \setlength{\thanksmarkwidth}{1.5em} \renewcommand{\maketitlehooka}{% \placepreprint\vspace{-\bigskipamount}% \@ifundefined{hep@series}{}{% \hep@pre@series\hep@series\hep@post@series% }% } \let\hep@title@font\relax \newcommand{\titlefont}[1]{\def\hep@title@font{#1}} \pretitle{\begin{center}\LARGE\hep@title@font} \posttitle{\par\end{center}} \newcommand{\presubtitle}[1]{\def\hep@pre@sub@title{#1}} \newcommand{\subtitle}[1]{\def\hep@sub@title{#1}} \newcommand{\postsubtitle}[1]{\def\hep@post@sub@title{#1}} \let\hep@subtitle@font\relax \newcommand{\subtitlefont}[1]{\def\hep@subtitle@font{#1}} \presubtitle{\begin{center}\Large\hep@subtitle@font} \postsubtitle{\par\end{center}} \RequirePackage{authblk} \newcounter{editors} \newcommand\hep@editorlist{} \newcommand\hep@editors{} \@namedef{hep@editor@sep1}{} \@namedef{hep@editor@sep2}{\Authand} \newcommand\editor[2][]{% \ifnewaffil% \addtocounter{affil}{1}% \edef\AB@thenote{\arabic{affil}}% \fi% \if\relax#1\relax% \def\AB@note{\AB@thenote}% \else% \def\AB@note{#1}\setcounter{Maxaffil}{0}% \fi% \ifnum\value{editors}>1\relax% \@namedef{hep@editor@sep\number\c@editors}{\Authsep}% \fi% \addtocounter{editors}{1}% \begingroup% \let\protect\@unexpandable@protect \let\and\AB@pand% \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}% \@temptokena=\expandafter{\hep@editors}{% \def\\{% \protect\\[\@affilsep]\protect\Affilfont\protect\AB@resetsep% }% \xdef\hep@editor{\AB@blk@and#2}% \ifnewaffil% \gdef\AB@las{}\gdef\AB@lasx{\protect\Authand}\gdef\AB@as{}% \xdef\hep@editors{\the\@temptokena\AB@blk@and}% \else% \xdef\hep@editors{\the\@temptokena\AB@as\AB@au@str}% \global\let\AB@las\AB@lasx\gdef\AB@lasx{\protect\Authands}% \gdef\AB@as{\Authsep}% \fi% \gdef\AB@au@str{#2}% }% \@temptokena=\expandafter{\hep@editorlist}% \let\\=\editorcr% \xdef\hep@editorlist{% \the\@temptokena% \protect\@nameuse{hep@editor@sep\number\c@editors}% \protect\Authfont#2% \if\relax#1\relax\else% \protect\hep@multi@ref{\AB@note}% \fi% }% \endgroup% \ifnum\value{editors}>2\relax% \@namedef{hep@editor@sep\number\c@editors}{\Authands}% \fi% \newaffilfalse% } \let\hep@editor@font\relax \newcommand{\editorfont}[1]{\def\hep@editor@font{#1}} \newcommand{\preeditor}[1]{\def\hep@pre@editor{#1}} \newcommand{\posteditor}[1]{\def\hep@post@editor{#1}} \newcommand{\editortitle}[2]{ \def\hep@editor@title{#1} \def\hep@editor@title@pl{#2} } \newcommand{\editortitlefont}[1]{\def\hep@editor@title@font{#1}} \newcommand{\preeditortitle}[1]{\def\hep@pre@editor@title{#1}} \newcommand{\posteditortitle}[1]{\def\hep@post@editor@title{#1}} \editortitle{Editor}{Editors} \editortitlefont{\itshape} \preeditortitle{\hep@editor@title@font} \posteditortitle{: } \preeditor{% \begin{center}% \large\hep@editor@font\lineskip.5em% \begin{tabular}[t]{c}{% \hep@pre@editor@title% \ifnum\value{editors}>1\relax% \hep@editor@title@pl% \else% \hep@editor@title% \fi% \hep@post@editor@title% }% } \posteditor{\end{tabular}\par\end{center}} \renewcommand{\maketitlehookb}{% \@ifundefined{hep@sub@title}{}{% \hep@pre@sub@title\hep@sub@title\hep@post@sub@title% }% \smallskip% \ifx\hep@editorlist\AB@empty\else% \hep@pre@editor\hep@editorlist\hep@post@editor% \fi } \RequirePackage{xpatch} \xpatchcmd{\author}{% \protect\Authfont#2\AB@authnote{\AB@note}% }{% \protect\Authfont#2% \if\relax#1\relax\else\unskip\protect\hep@multi@ref{\AB@note}\fi% }{}{} \let\hep@author@font\relax \newcommand{\authorfont}[1]{\def\hep@author@font{#1}} \renewcommand\Authfont{\hep@author@font} \newcommand{\authortitle}[2]{ \def\hep@author@title{#1} \def\hep@author@title@pl{#2} } \newcommand{\authortitlefont}[1]{\def\hep@author@title@font{#1}} \newcommand{\preauthortitle}[1]{\def\hep@pre@author@title{#1}} \newcommand{\postauthortitle}[1]{\def\hep@post@author@title{#1}} \authortitle{Author}{Authors} \authortitlefont{\itshape} \preauthortitle{\hep@author@title@font} \postauthortitle{: } \preauthor{% \begin{center}% \large\hep@author@font\lineskip.5em% \begin{tabular}[t]{c}{% \ifnum\value{editors}>0\relax% \hep@pre@author@title% \ifnum\value{authors}>1\relax% \hep@author@title@pl\else\hep@author@title% \fi\hep@post@author@title% \fi% }% } \postauthor{\end{tabular}\par\end{center}} \newcounter{endorsers} \newcommand\hep@endorserlist{} \newcommand\hep@endorsers{} \@namedef{hep@editor@sep1}{} \@namedef{hep@editor@sep2}{\Authand} \DeclareRobustCommand\endorser{% \@ifnextchar[{\hep@@endorser}{\hep@@@endorser}% } \def\hep@@endorser[#1]#2{\hep@@@@endorser[#1]{#2}} \def\hep@@@endorser#1{\hep@@@@endorser{#1}} \newcommand\hep@@@@endorser[2][]{% \ifnewaffil% \addtocounter{affil}{1}% \edef\AB@thenote{\arabic{affil}}% \fi% \if\relax#1\relax% \def\AB@note{\AB@thenote}% \else% \def\AB@note{#1}\setcounter{Maxaffil}{0}% \fi% \ifnum\value{endorsers}>1\relax% \@namedef{hep@endorser@sep\number\c@endorsers}{\Authsep}% \fi% \addtocounter{endorsers}{1}% \begingroup% \let\protect\@unexpandable@protect \let\and\AB@pand% \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}% \@temptokena=\expandafter{\hep@endorsers}{% \def\\{% \protect\\[\@affilsep]\protect\Affilfont\protect\AB@resetsep% }% \xdef\hep@endorser{\AB@blk@and#2}% \ifnewaffil% \gdef\AB@las{}\gdef\AB@lasx{\protect\Authand}\gdef\AB@as{}% \xdef\hep@endorsers{\the\@temptokena\AB@blk@and}% \else% \xdef\hep@endorsers{\the\@temptokena\AB@as\AB@au@str}% \global\let\AB@las\AB@lasx\gdef\AB@lasx{\protect\Authands}% \gdef\AB@as{\Authsep}% \fi% \gdef\AB@au@str{#2}% }% \@temptokena=\expandafter{\hep@endorserlist}% \let\\=\endorsercr% \xdef\hep@endorserlist{% \the\@temptokena% \protect\@nameuse{hep@endorser@sep\number\c@endorsers}% \protect\Authfont#2% \if\relax#1\relax\else% \protect\hep@multi@ref{\AB@note}% \fi% }% \endgroup% \ifnum\value{endorsers}>2\relax% \@namedef{hep@endorser@sep\number\c@endorsers}{\Authands}% \fi% \newaffilfalse% } \let\hep@endorser@font\relax \def\endorserfont#1{\def\hep@endorser@font{#1}} \newcommand{\preendorser}[1]{\def\hep@pre@endorser{#1}} \newcommand{\postendorser}[1]{\def\hep@post@endorser{#1}} \def\endorsertitle#1#2{ \def\hep@endorser@title{#1} \def\hep@endorser@title@pl{#2} } \def\endorsertitlefont#1{\def\hep@endorser@title@font{#1}} \newcommand{\preendorsertitle}[1]{\def\hep@pre@endorser@title{#1}} \newcommand{\postendorsertitle}[1]{\def\hep@post@endorser@title{#1}} \endorsertitle{Endorser}{Endorsers} \endorsertitlefont{\itshape} \preendorsertitle{\hep@endorser@title@font} \postendorsertitle{: } \preendorser{% \begin{center}% \large\hep@endorser@font\lineskip.5em% \begin{tabular}[t]{c}{% \hep@pre@endorser@title% \ifnum\value{endorsers}>1\relax% \hep@endorser@title@pl% \else% \hep@endorser@title% \fi% \hep@post@endorser@title% }% } \postendorser{\end{tabular}\par\end{center}} \newcounter{affiliation} \renewcommand{\theaffiliation}{% \textsuperscript{\normalfont\alph{affiliation}}% } \xpatchcmd{\affil}{% \AB@affilnote{\AB@note}% }{% \protect\refstepcounter{affiliation}\protect\label{\AB@note}% \if\relax#1\relax\else\protect\theaffiliation\fi% }{}{} \let\hep@affiliation@font\relax \newcommand{\affiliationfont}[1]{\def\hep@affiliation@font{#1}} \renewcommand{\Affilfont}{\small\hep@affiliation@font} \newcommand\hep@penalty{\if@twocolumn85\else50\fi} \newcommand\hep@active@comma{,\penalty-\hep@penalty\relax} \newcommand\hep@cat@comma@active{\catcode`\,\active} {\hep@cat@comma@active\gdef,{\hep@active@comma}} \newcommand\hep@affil[1]{% \endgroup\@flushglue=0pt plus .5\linewidth\affil{#1}% } \def\hep@affil@opt[#1]#2{% \endgroup\@flushglue=0pt plus .5\linewidth\affil[#1]{#2}% } \DeclareRobustCommand\hep@affiliation{% \@ifnextchar[{\hep@affil@opt}{\hep@affil}% } \newcommand{\affiliation}{% \begingroup\hep@cat@comma@active\hep@affiliation% } \renewcommand{\maketitlehookc}{% \ifx\hep@endorserlist\AB@empty\else% \hep@pre@endorser\hep@endorserlist\hep@post@endorser% \fi \ifx\AB@affillist\AB@empty\else% \ifnum\value{affil}>\value{Maxaffil} \begin{center}\AB@affillist\end{center}% \fi% \fi% } \def\@author{% \ifx\AB@affillist\AB@empty% \AB@author% \else% \ifnum\value{affil}>\value{Maxaffil} \def\rlap##1{##1}% \AB@authlist% \else% \AB@authors% \fi% \fi% } \date{\vspace{-4ex}} \let\hep@date@font\relax \newcommand{\datefont}[1]{\def\hep@date@font{#1}} \predate{\begin{center}\hep@date@font} \postdate{\par\end{center}} \@ifundefined{abstract}{}{% \let\hep@abstract\abstract% \renewcommand\abstract{\hep@abstract\noindent\ignorespaces}% \let\hep@key@words\relax \newcommand{\keywords}[1]{\def\hep@key@words{#1}} \AtBeginDocument{\@ifundefined{hep@key@words}{}{% \let\hep@end@abstract\endabstract% \renewcommand\endabstract{ \par\medskip\noindent\textit{Keywords: \hep@key@words}% \hep@end@abstract% }% }} \if@twocolumn \RequirePackage{environ} \RequirePackage{abstract} \renewcommand{\abstitleskip}{-3ex} \NewEnviron{abstract*}{% \twocolumn[\maketitle\vspace{-5ex}% \begin{onecolabstract}\noindent\BODY\end{onecolabstract}% \vspace{.5cm}]\saythanks% }% \else \newenvironment{abstract*}{% \maketitle\begin{abstract}% }{% \end{abstract}% } \fi } \let\hep@thanks\thanks \AtEndDocument{\let\thanks\hep@thanks} \DeclareRobustCommand\thanks[2][]{% \AfterEndPreamble{% \if\relax#1\relax% \footnotemark% \else% \renewcommand\thefootnote{\textsuperscript{\@fnsymbol\c@footnote}}% \protect\refstepcounter{footnote}\protect\label{#1}% \renewcommand\thefootnote{\@arabic\c@footnote}% \fi% \protected@xdef\@thanks{% \@thanks\protect\footnotetext[\the\c@footnote]{#2}% } \if@twocolumn \protected@xdef\@bs@thanks{% \@bs@thanks\protect\footnotetext[\the\c@footnote]{#2}% }% \fi% }% } \endinput %% %% End of file `hep-title.sty'.