diff options
author | Karl Berry <karl@freefriends.org> | 2021-11-27 21:25:36 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-11-27 21:25:36 +0000 |
commit | 995101497c4b94ca96b78714e873d0a5e3be89fa (patch) | |
tree | 01afc1a5cf7a539a016d57ded972071efdef586a /Master/texmf-dist/tex/latex | |
parent | 271ee2d07917dcd8566fbdb30ef2642d0a33d88e (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')
-rw-r--r-- | Master/texmf-dist/tex/latex/hep-title/hep-title.sty | 401 |
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'. |