summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/hep-title
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-11-27 21:25:36 +0000
committerKarl Berry <karl@freefriends.org>2021-11-27 21:25:36 +0000
commit995101497c4b94ca96b78714e873d0a5e3be89fa (patch)
tree01afc1a5cf7a539a016d57ded972071efdef586a /Master/texmf-dist/tex/latex/hep-title
parent271ee2d07917dcd8566fbdb30ef2642d0a33d88e (diff)
hep-title (27nov21)
git-svn-id: svn://tug.org/texlive/trunk@61173 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/hep-title')
-rw-r--r--Master/texmf-dist/tex/latex/hep-title/hep-title.sty401
1 files changed, 401 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/hep-title/hep-title.sty b/Master/texmf-dist/tex/latex/hep-title/hep-title.sty
new file mode 100644
index 00000000000..f36504469ac
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/hep-title/hep-title.sty
@@ -0,0 +1,401 @@
+%%
+%% 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-2020 by Jan Hajer
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+
+\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+\ProvidesPackage{hep-title}[2021/09/01 v1.0 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%
+ }%
+ \vspace{-\bigskipamount}%
+}
+\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\ref{\AB@note}\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%
+ \begin{center}\AB@affillist\end{center}%
+ \fi%
+}
+\def\@author{}
+\renewcommand\@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}%
+ \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'.