diff options
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/hep-title/hep-title-implementation.dtx | 912 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/hep-title/hep-title.ins | 50 |
2 files changed, 962 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/hep-title/hep-title-implementation.dtx b/Master/texmf-dist/source/latex/hep-title/hep-title-implementation.dtx new file mode 100644 index 00000000000..9a175e673aa --- /dev/null +++ b/Master/texmf-dist/source/latex/hep-title/hep-title-implementation.dtx @@ -0,0 +1,912 @@ +% \iffalse meta-comment +% +% Copyright (C) 2019 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-title}[2021/09/01 v1.0 Extend title page macros] +%<documentation>\ProvidesFile{hep-title-documentation.tex}[2021/09/01 v1.0 hep-title documentation] +% +%<*documentation> + +\RequirePackage[l2tabu, orthodox]{nag} + +\documentclass{ltxdoc} +\AtBeginDocument{\DeleteShortVerb{\|}} +\AtBeginDocument{\MakeShortVerb{\"}} + +\EnableCrossrefs +\CodelineIndex +\RecordChanges + +\usepackage[parskip]{hep-paper} + +\bibliography{bibliography} + +\acronym{PDF}{portable document format} + +\usepackage{hologo} + +\MacroIndent=1.5em +\AtBeginEnvironment{macrocode}{\renewcommand{\ttdefault}{clmt}} + +%</documentation> + +%<*driver> +\expandafter\newif\csname ifshort\endcsname +\shortfalse +\begin{document} +\DocInput{hep-title-implementation.dtx} +\end{document} +%</driver> +% +% \fi +% +% \CheckSum{922} +% +% \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}{2021/09/01}{Initial version of the style file.} +% +% \ifshort +%<*documentation> +% \fi +% +\GetFileInfo{hep-title.sty} + +\title{The \software{hep-title} package\thanks{This document corresponds to \software{hep-title}~\fileversion.}} +\subtitle{Extensions for the title page} +\author{Jan Hajer \email{jan.hajer@unibas.ch}} +\date{\filedate} + +% \ifshort +\begin{document} +% \fi + +\newgeometry{vscale=.8, vmarginratio=3:4, includeheadfoot, left=11em, marginparwidth=4.6cm, marginparsep=3mm, right=7em} + +\maketitle + +\begin{abstract} +The \software{hep-title} package extends the title macros of the standard classes with macros for a preprint, affiliation, editors, and endorsers. +\end{abstract} + +To use the \software{hep-title} package include it with "\usepackage{hep-title}". + +Most macros are intended for the use in the preamble. +They are implemented using the \software{titling} \cite{titling} and \software{authblk} \cite{authblk} packages. + +\section{Macros} + +\subsection{Title} + +\DescribeMacro{\series} +\DescribeMacro{\title} +\DescribeMacro{\subtitle} +\DescribeMacro{\seriesfont} +\DescribeMacro{\titlefont} +\DescribeMacro{\subtitlefont} +The PDF meta information is set according to the "\title"\marg{text} and "\author"\marg{text} information. +The "\series"\marg{series} places a series title above the usual title. +The "\subtitle"\marg{subtitle} macro places a subtitle below the usual title. +The fonts and their size can be adjusted using the "\seriesfont", "\titlefont", and "\subtitlefont" macros. + +\subsection{Authors} + +\DescribeMacro{\author} +\DescribeMacro{\affiliation} +\DescribeMacro{\editor} +\DescribeMacro{\endorser} +\DescribeMacro{\email} +\DescribeMacro{\authorfont} +\DescribeMacro{\editorfont} +\DescribeMacro{\endorserfont} +\DescribeMacro{\affiliationfont} +In order to facilitate multiple authors with different affiliations the \software{authblk} package \cite{authblk} is extended. +The following lines add \eg two authors with different affiliations +\begin{verbatim} +\author[affil1]{Author one \email{email one}} +\affiliation[affil1]{Affiliation one} +\author[affil2]{Author two \email{email two}} +\affiliation[affil1,affil2]{Affiliation two} +\end{verbatim} +Additionally the "\editor" and "\endorser" macros are provided. + +\subsection{Abstract} + +\DescribeEnv{abstract} +\DescribeEnv{abstract*} +The "abstract" environment is adjusted to not start with an indentation. +The "abstract*" environment takes care of placing the title as well. +This is used in "twocolumn" documents if the abstract should span both columns. + +\subsection{Preprint} + +\DescribeMacro{\preprint} +\DescribeMacro{\preprintfont} +The "\preprint"\marg{numer} macro places a pre-print number in the upper right corner of the title page. +The "\preprintfont" macro can be used to change the font of the preprint. + +% \ifshort +\printbibliography + +\end{document} +% +%</documentation> +% \fi +% +% \StopEventually{ +% \printbibliography +% \PrintChanges +% } +% +% \appendix +% +% \section{Implementation} +% +%<*package> +% +% \begin{macro}{\online} +% \begin{macro}{\email} +% Provide the "\online"\marg{text}\marg{url} macro combining the features of the "\href" and the "\url" macros. +% Define a macro for typesetting emails. +% \begin{macrocode} +\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}}}% + }{} +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\hep@multi@ref} +% Transform reference list to list of references. +% \begin{macrocode} +\newif\ifhep@first% +\newcommand{\hep@multi@ref}[1]{% + \hep@firsttrue% + \forcsvlist{% + \ifhep@first\hep@firstfalse\else\textsuperscript,\fi\ref% + }{#1}% +} +% \end{macrocode} +% \end{macro} +% +% Redefine the email macro for the title page. +% \begin{macrocode} +\renewcommand{\email}[2][]{\unskip\thanks[#1]{\hep@email{#2}}}% +\AtBeginDocument{ + \let\hep@maketitle\maketitle + \renewcommand\maketitle{\hep@maketitle\let\email\hep@email} +} +% \end{macrocode} +% +% \subsection{Preprint and title} +% +% \subsubsection{Preprint} +% +% \begin{macro}{\preprintfont} +% Define the "\preprintfont" macro. +% \begin{macrocode} +\let\hep@preprint@font\relax +\newcommand{\preprintfont}[1]{\def\hep@preprint@font{#1}} +\preprintfont{\scshape\small} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\preprint} +% Define the "\preprint" macro using the \software{varwidth} package \cite{varwidth}. +% \begin{macrocode} +\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}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\placepreprint} +% Places a preprint number in the top right corner of the title page using the \software{atbegshi} \cite{atbegshi} and \software{picture} \cite{picture} packages. +% \begin{macrocode} +\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} + } +} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Series} +% +% \begin{macro}{\series} +% Define a series title. +% \begin{macrocode} +\newcommand{\preseries}[1]{\def\hep@pre@series{#1}} +\newcommand{\series}[1]{\def\hep@series{#1}} +\newcommand{\postseries}[1]{\def\hep@post@series{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\seriesfont} +% Allow to change the fontface of the series title. +% \begin{macrocode} +\let\hep@series@font\relax +\newcommand{\seriesfont}[1]{\def\hep@series@font{#1}} +% \end{macrocode} +% \end{macro} +% +% Set the default series title layout. +% \begin{macrocode} +\preseries{\begin{center}\Large\hep@series@font} +\postseries{\par\end{center}} +% \end{macrocode} +% +% \subsubsection{Title} +% +% Extend the title using the \software{titling} package \cite{titling}. +% Fix the footnote indent. +% \begin{macrocode} +\RequirePackage{titling} +\setlength{\thanksmarkwidth}{1.5em} +% \end{macrocode} +% +% \begin{macro}{\maketitlehooka} +% Place the preprint and the series title using "\maketitlehooka". +% \begin{macrocode} +\renewcommand{\maketitlehooka}{% + \placepreprint\vspace{-\bigskipamount}% + \@ifundefined{hep@series}{}{% + \hep@pre@series\hep@series\hep@post@series% + }% + \vspace{-\bigskipamount}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\titlefont} +% Allow to change the fontface of the the title. +% \begin{macrocode} +\let\hep@title@font\relax +\newcommand{\titlefont}[1]{\def\hep@title@font{#1}} +% \end{macrocode} +% \end{macro} +% Set default title layout. +% \begin{macrocode} +\pretitle{\begin{center}\LARGE\hep@title@font} +\posttitle{\par\end{center}} +% \end{macrocode} + +% \subsubsection{Subtitle} +% +% \begin{macro}{\subtitle} +% Define a subtitle. +% \begin{macrocode} +\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}} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\subtitlefont} +% Allow to change the fontface of the subtitle. +% \begin{macrocode} +\let\hep@subtitle@font\relax +\newcommand{\subtitlefont}[1]{\def\hep@subtitle@font{#1}} +% \end{macrocode} +% \end{macro} +% +% Set default subtitle layout. +% \begin{macrocode} +\presubtitle{\begin{center}\Large\hep@subtitle@font} +\postsubtitle{\par\end{center}} +% \end{macrocode} +% +% \subsection{Authors and Editors} +% +% \subsubsection{Editors} +% +% Define editors, similar to authors using the \software{authblk} package. +% Enable the handling of multiple authors with different affiliations using the \software{authblk} package \cite{authblk}. +% \begin{macrocode} +\RequirePackage{authblk} +\newcounter{editors} +\newcommand\hep@editorlist{} +\newcommand\hep@editors{} +\@namedef{hep@editor@sep1}{} +\@namedef{hep@editor@sep2}{\Authand} +% \end{macrocode} +% +% \begin{macro}{\editor} +% Copy of the "authblk" author code adjusted for editors. +% \begin{macrocode} +\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% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\editorfont} +% Allow to change the fontface of the editors. +% \begin{macrocode} +\let\hep@editor@font\relax +\newcommand{\editorfont}[1]{\def\hep@editor@font{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\preditor} +% \begin{macro}{\postditor} +% Set editor style. +% \begin{macrocode} +\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}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\maketitlehookb} +% Show subtitle and editor. +% \begin{macrocode} +\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 +} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Authors} +% +% \begin{macro}{\author} +% Allow absent author field. +% \begin{macrocode} +% \author{} +% \end{macrocode} +% \end{macro} +% +% Switch authblk to a label ref system for affiliations. +% \begin{macrocode} +\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% +}{}{} +% \end{macrocode} +% +% \begin{macro}{\authorfont} +% Allow to change the fontface of the individual parts of the title. +% \begin{macrocode} +\let\hep@author@font\relax +\newcommand{\authorfont}[1]{\def\hep@author@font{#1}} +\renewcommand\Authfont{\hep@author@font} +% \end{macrocode} +% \end{macro} +% +% Set default author fontface. +% \begin{macrocode} +\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}} +% \end{macrocode} +% +% \subsubsection{Endorser} +% +% \begin{macrocode} +\newcounter{endorsers} +\newcommand\hep@endorserlist{} +\newcommand\hep@endorsers{} +\@namedef{hep@editor@sep1}{} +\@namedef{hep@editor@sep2}{\Authand} +% \end{macrocode} +% +% \begin{macro}{\endorser} +% Copy of the "authblk" author code adjusted for endorsers. +% \begin{macrocode} +\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% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\endorserfont} +% \begin{macro}{\preendorser} +% \begin{macro}{\postendorser} +% \begin{macrocode} +\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} +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\endorsertitlefont} +% \begin{macro}{\preendorsertitle} +% \begin{macro}{\postendorsertitle} +% \begin{macrocode} +\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}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsubsection{Affiliation} +% +% Patch the "\affiliation" macro to comply with the label ref system. +% \begin{macrocode} +\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% +}{}{} +% \end{macrocode} +% +% \begin{macro}{\affiliationfont} +% Allow to change the fontface of affiliation. +% \begin{macrocode} +\let\hep@affiliation@font\relax +\newcommand{\affiliationfont}[1]{\def\hep@affiliation@font{#1}} +% \newif\ifhep@lining\hep@liningtrue +% \ifhep@lining + \renewcommand{\Affilfont}{\small\hep@affiliation@font} +% \else +% \renewcommand{\Affilfont}{\small\ostyle\hep@affiliation@font} +% \fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\affiliation} +% Define the "\affiliation" macro, ensure that linebreaks happen after a comma. +% \begin{macrocode} +\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% +} +% \end{macrocode} +% \end{macro} +% +% Place endorser and affiliation +% \begin{macrocode} +\renewcommand{\maketitlehookc}{% + \ifx\hep@endorserlist\AB@empty\else% + \hep@pre@endorser\hep@endorserlist\hep@post@endorser% + \fi +% \\[\affilsep] + \ifx\AB@affillist\AB@empty\else% + \begin{center}\AB@affillist\end{center}% + \fi% +} +% \end{macrocode} +% +% \begin{macro}{\@author} +% Ensure that affiliation is not set directly below author +% \begin{macrocode} +\def\@author{} +\renewcommand\@author{% + \ifx\AB@affillist\AB@empty% + \AB@author% + \else% + \ifnum\value{affil}>\value{Maxaffil} + \def\rlap##1{##1}% + \AB@authlist% +% \\[\affilsep]\AB@affillist% + \else% + \AB@authors% + \fi% + \fi% +} +% \end{macrocode} +% \end{macro} +% +% \subsection{Date and Abstract} +% +% \subsubsection{Date} +% +% \begin{macro}{\date} +% Allow absent date field. +% \begin{macrocode} +\date{\vspace{-4ex}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\datefont} +% Allow to change the fontface of the individual parts of the title. +% \begin{macrocode} +\let\hep@date@font\relax +\newcommand{\datefont}[1]{\def\hep@date@font{#1}} +% \end{macrocode} +% \end{macro} +% +% Set the default "date" fontface. +% \begin{macrocode} +\predate{\begin{center}\hep@date@font} +\postdate{\par\end{center}} +% \end{macrocode} +% +% \subsubsection{Abstract} +% +% \begin{environment}{abstract} +% Adjust the "abstract" environment to not start with indentation. +% \begin{macrocode} +\@ifundefined{abstract}{}{% + \let\hep@abstract\abstract% + \renewcommand\abstract{\hep@abstract\noindent\ignorespaces}% +% \end{macrocode} +% \end{environment} +% \begin{environment}{abstract*} +% Add a "abstract*" environment for two column mode taking also care of placing the title using the \software{environ} \cite{environ} and \software{abstract} \cite{abstract} packages. +% \begin{macrocode} + \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 +} +% \end{macrocode} +% \end{environment} +% +% \subsection{Thanks} +% +% \begin{macro}{\thanks} Redefine thank to have a optional argument for a reference label. +% \begin{macrocode} +\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% + }% +} +% \end{macrocode} +% \end{macro} +%</package> +% +% \section{Test} +% +%<*testone|testtwo> +% +% \begin{macrocode} +%<testone>\documentclass{article} +%<testtwo>\documentclass[twocolumn]{article} + +%% \usepackage[lang=english]{hep-paper} +\usepackage[math]{blindtext} +\usepackage{hep-title} +\usepackage{hyperref} +\def\BackrefFootnoteTag{}\usepackage{footnotebackref} + +\preprint{Preprint} + +\series{Series} + +\title{Title} + +\subtitle{Subtitle} + +\editor[one]{First Editor} +\editor[one,two,second]{Second Editor} +\email[second]{second@mail.com} +\editor[one,two,three]{Third Editor \email{third@mail.com}} + +\author[three,four]{First Author} +\author[fourth, two,four,thanks]{Second Author} +\email[fourth]{fifth@mail.com} +\thanks[thanks]{Thanks} +\author[two,three,four]{Third Author \email{sixth@mail.com}} +\author{Fourth Author} + +\endorser[four]{First Endorser} +\endorser[five]{Second Endorser} +\endorser{Third Endorser} + +\affiliation[one]{First Affiliation} +\affiliation[two]{Second Affiliation} +\affiliation[three]{Third Affiliation} +\affiliation[four]{Fourth Affiliation} +\affiliation[five]{Fifth Affiliation} + +\date{Date} + +\begin{document} + +%<testone> \maketitle + +%<testone> \begin{abstract} +%<testtwo> \begin{abstract*} +\blindtext +%<testone> \end{abstract} +%<testtwo> \end{abstract*} + +First page footnote.\footnote{Footnote} + +\blinddocument + +\end{document} +% \end{macrocode} +% +%</testone|testtwo> +% +% \section{Readme} +% +%<*readme> +% +% \begin{macrocode} +# The `hep-title` package + +Extensions for the title page + +## Introduction + +The `hep-title` package extends the title macros of the standard classes with macros for a preprint, affiliation, editors, and endorsers. + +To use the `hep-title` package include it with `\usepackage{hep-title}`. + +## Author + +Jan Hajer + +## License + +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. +% \end{macrocode} +% +%</readme> +% +% \Finale + +\endinput + +% \PrintIndex +% makeindex -s gglo.ist -o hep-title-implementation.gls hep-title-implementation.glo +% makeindex -s gglo.ist -o hep-title-implementation.ind hep-title-implementation.idx diff --git a/Master/texmf-dist/source/latex/hep-title/hep-title.ins b/Master/texmf-dist/source/latex/hep-title/hep-title.ins new file mode 100644 index 00000000000..7ad98b6490a --- /dev/null +++ b/Master/texmf-dist/source/latex/hep-title/hep-title.ins @@ -0,0 +1,50 @@ +%% 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. + +\input docstrip.tex +\keepsilent +\usedir{tex/latex/hep-title} + +\preamble +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. +\endpreamble + +\generate{ + \file{hep-title-documentation.tex}{\from{hep-title-implementation.dtx}{documentation}} + \file{hep-title.sty}{\from{hep-title-implementation.dtx}{package}} + \file{hep-title-test-one.tex}{\from{hep-title-implementation.dtx}{testone}} + \file{hep-title-test-two.tex}{\from{hep-title-implementation.dtx}{testtwo}} + \nopreamble\nopostamble\file{README-hep-title.md}{\from{hep-title-implementation.dtx}{readme}} +} + +\Msg{*********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the} +\Msg{* following file into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space hep-title.sty} +\Msg{*} +\Msg{* To produce the documentation run the file} +\Msg{* hep-title-documentation.dtx through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*********************************************************} + +\endbatchfile |