123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645 |
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % pi-article.cls, v4.0
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \NeedsTeXFormat{LaTeX2e}
- \ProvidesClass{pi-article}[08/09/2021, v5.0]
- \RequirePackage{etoolbox} % a necessity
- %%%%%%%%%%%%%%%%%%%%%% Class options and conditionals
- %% Toggles for various conditions and options
- \newtoggle{SI} % switching to SI format
- \newtoggle{shortintro} % will not include abstract in the title page
- \newtoggle{tocfig} % small figure next to the abstract
- \newtoggle{twocolumn} % text will be laid out in two column
- \newtoggle{toprule} % large line at the top
- \toggletrue{toprule} % on by default
- \newtoggle{linenumbers} % including line numbers
- \newtoggle{affiltop} % author affiliation at the top
- \newtoggle{footdate} % add current date in footer
- \toggletrue{footdate} % on by default
- \newtoggle{footpreprint} % add a "Preprint" text in footer
- \toggletrue{footpreprint} % on by default
- \newtoggle{debug} % debugging activated
- % Option for type of article
- \newcommand{\arttype}{ARTICLE}
- \DeclareOption{commun}{\renewcommand{\arttype}{COMMUNICATION}}
- \DeclareOption{review}{\renewcommand{\arttype}{REVIEW}}
- \DeclareOption{persp}{\renewcommand{\arttype}{PERSPECTIVE}}
- % Option for switching to SI format
- \DeclareOption{SI}{\toggletrue{SI}}
- % Option for two column format
- \DeclareOption{twocolumn}{
- \toggletrue{twocolumn}
- \PassOptionsToClass{twocolumn}{extarticle}
- }
- % Option for line numbers
- \DeclareOption{lineno}{\toggletrue{linenumbers}}
- % Option for footer
- \DeclareOption{nofootdate}{\togglefalse{footdate}}
- \DeclareOption{nofootprint}{\togglefalse{footpreprint}}
- % Option for affiliation location
- \DeclareOption{affiltop}{\toggletrue{affiltop}}
- % Option for toc image
- \DeclareOption{tocfig}{\toggletrue{tocfig}}
- % Option for debugging format
- \DeclareOption{debug}{\toggletrue{debug}}
- \DeclareOption*{\PassOptionsToClass{\CurrentOption}{extarticle}} % pass other options to base class
- \ProcessOptions*\relax % finish options
- \LoadClass{extarticle}
- %%%%%%%%%%%%%%%%%%%%%% Global settings for SI format
- \iftoggle{SI}{
- \togglefalse{toprule} % no top rule
- \toggletrue{shortintro} % no abstract
- \toggletrue{twocolumn} % single column
- \def\thepage{S\arabic{page}} % pages as S1-SX
- \renewcommand*\thefigure{S\arabic{figure}} % Figures as Fig. S1
- \renewcommand*\thetable{S\arabic{table}} % Tables as Table S1
- \renewcommand*\theequation{S\arabic{equation}} % Equations as Eq. S1
- \AtBeginDocument{% % Bibliographies as Ref. S1
- \renewcommand*\citenumfont[1]{S#1}%
- \renewcommand*\bibnumfmt[1]{(S#1)}%
- }
- }{}
- %%%%%%%%%%%%%%%%%%%%%% Fonts and language
- % Fonts
- \RequirePackage{lmodern}
- \renewcommand*\familydefault{\sfdefault}
- % Microtype
- \AtEndOfClass{\RequirePackage{microtype}}
- %% Set up main page fonts
- \newcommand{\headerfont}{\fontfamily{lmss}\color{gray}\bfseries\sffamily\fontsize{16pt}{20pt}\selectfont}
- \newcommand{\footerfont}{\normalfont\sffamily\fontsize{7pt}{9pt}\selectfont}
- \newcommand{\titlefont}{\fontfamily{lmss}\bfseries\fontsize{22pt}{24pt}\selectfont}
- \newcommand{\subtitlefont}{\fontfamily{lmss}\bfseries\fontsize{15pt}{20pt}\selectfont}
- \newcommand{\contactfont}{\itshape\sffamily\fontsize{7pt}{9pt}\selectfont}
- \newcommand{\absfont}{\normalfont\sffamily\bfseries\fontsize{8pt}{11pt}\selectfont}
- \newcommand{\keywordsfont}{\normalfont\sffamily\fontsize{8pt}{11pt}\selectfont}
- \newcommand{\footnotefont}{\normalfont\sffamily\fontsize{7}{9}\selectfont}
- % AMS maths packages
- \RequirePackage{
- amsmath,
- amsfonts,
- amsthm,
- amssymb
- }
- %% Add bolding to math where needed
- \g@addto@macro\bfseries{\boldmath}
- % Encodings
- \RequirePackage{ifxetex,ifluatex}
- \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
- \RequirePackage{cmap}
- \RequirePackage[TS1,T1]{fontenc}
- \RequirePackage[utf8]{inputenc}
- \else % if luatex or xelatex
- \ifxetex
- \usepackage{mathspec}
- % undo the wrong changes made by mathspec
- \let\RequirePackage\original@RequirePackage
- \let\usepackage\RequirePackage
- \else
- \usepackage{fontspec}
- \fi
- \defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase}
- \fi
- % Language
- \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
- \RequirePackage[english]{babel}
- \else
- \usepackage{polyglossia}
- \setmainlanguage[]{english}
- \fi
- %%%%%%%%%%%%%%%%%%%%%% General pagination setup and tools
- \RequirePackage[
- a4paper,includeheadfoot, % paper size, head/foot included in geometry
- top=35pt,bottom=50pt, % top/bottom
- left=75pt,right=75pt, % left/right
- marginparwidth=2cm, % margins (used for line numbers)
- marginparsep=5pt, % margin separation
- headheight=20pt, % header height
- headsep=20pt, % text distance from header
- footskip=25pt
- ]{geometry}
- \iftoggle{twocolumn}{ % smaller margins if two-column
- \geometry{
- top=25pt,bottom=35pt, % top/bottom
- left=55pt,right=55pt, % left/right
- headsep=10pt
- }
- }{}
- \iftoggle{debug}{
- \geometry{
- showframe,showcrop, % for debugging
- }
- }{}
- \setlength{\columnsep}{13.5pt} % Distance between the two columns of text
- \setlength{\parindent}{12pt} % Paragraph indent
- \RequirePackage{changepage} % change odd/even page at any point
- \RequirePackage{lastpage} % Refer to last page of the document
- \RequirePackage{afterpage} % execute a command on next page (useful for \clearpage flush)
- \RequirePackage{enumitem} % For reducing bullet list item separation
- %%%%%%%%%%%%%%%%%%%%%% Figures, tables, equations and listings
- % Figures
- \RequirePackage{graphicx} % include pictures
- \RequirePackage{tikz} % drawing pictures
- \usetikzlibrary{svg.path} % TIKZ svg paths
- \usetikzlibrary{calc} % TIKZ calculations
- \RequirePackage[framemethod=tikz]{mdframed} % breakable framed and coloured boxes
- %% Set document color scheme
- \RequirePackage{xcolor} % driver indepentent color extensions
- \definecolor{black50}{gray}{0.5} % 50% black for hrules
- \definecolor{color0}{RGB}{0,0,0} % Base
- \definecolor{color1}{RGB}{59,90,198} % author email, doi
- % Tables
- \RequirePackage{
- booktabs, % overall nice table quality
- array, % better column and row definitions
- longtable, % for tables spanning multiple pages
- makecell, % multilined table cells
- tabularx, % width-expanding column (with 'x')
- multirow, % for multirow cells (with \\)
- colortbl % to add colours to table cells
- }
- % booktabs provide nice spacing, but rule widths and distances need modifying
- \setlength{\heavyrulewidth}{0.5pt} % wide rule
- \setlength{\lightrulewidth}{0.5pt} % light rule
- \setlength{\aboverulesep}{1.5pt} % blank space above rules
- \setlength{\belowrulesep}{1.5pt} % blank space below rules
- \setlength{\belowbottomsep}{5pt} % blank space below whole table
- \AtBeginEnvironment{tabular}{% % font inside tables will be small
- \sffamily\fontsize{7.5}{10}\selectfont
- }
- %% command we can use to add some text e.g. below the table
- \newcommand{\addtabletext}[1]{{\setlength{\leftskip}{9pt}\fontsize{7}{9}\selectfont#1}}
- % Code snippets/listings
- \RequirePackage{listings}
- % Equations
- % placed in square brackets
- \renewcommand\tagform@[1]{\maketag@@@ {[\ignorespaces #1\unskip \@@italiccorr ]}}
- % For numbering just one line of an equation
- \newcommand\numberthis{\addtocounter{equation}{1}\tag{\theequation}}
- %%%%%%%%%%%%%%%%%%%%%% Floats, subfloats and their captions
- \RequirePackage{float} % improved interface for floating objects
- \RequirePackage{dblfloatfix} % fixes for twocolumn floats
- \RequirePackage{placeins} % for the floatbarrier macro
- % distance between floats and text
- \setlength{\textfloatsep}{6pt \@plus 2.0pt \@minus 2.0pt}
- % distance between two floats
- \setlength{\floatsep}{8pt \@plus 2.0pt \@minus 2.0pt}
- % Better captions
- \RequirePackage[
- skip=3pt, % vertical space between caption and figure
- labelfont={bf,sf}, % we bold the caption label
- labelsep=colon, % periods after label (Fig. 1:)
- figurename=Fig., % figure will be abbreviated
- % tablename=Tbl., % table will be abbreviated
- ]{caption}
- % overall font types (excluding label)
- \DeclareCaptionFormat{fmt}{\normalfont\sffamily\fontsize{7}{9}\selectfont#1#2#3}
- \captionsetup*{format=fmt} % for figures
- \captionsetup*[table]{format=fmt,position=above} % for tables
- % Subfigures
- \RequirePackage{subcaption}
- % Sidecaptions
- \RequirePackage[rightcaption]{sidecap}
- %%%%%%%%%%%%%%%%%%%%%% Utilities
- % Filler text
- \RequirePackage{lipsum}
- % Todo notes
- \RequirePackage{todonotes}
- %%%%%%%%%%%%%%%%%%%%%% Science-related packages
- % In-line fractions
- \RequirePackage{xfrac}
- % The SIunitx package enables the \SI{}{} command.
- \RequirePackage{siunitx}
- \sisetup{
- detect-weight=true,
- detect-family=true,
- per-mode=reciprocal,
- range-units=single, % brief SIrange
- range-phrase=-- % and using lines
- }
- % The mchem package for formula subscripts using \ce{}
- \RequirePackage[version=4]{mhchem}
- %%%%%%%%%%%%%%%%%%%%%% Bibliography, footnotes and their settings
- % Natbib package for text references
- \RequirePackage[
- numbers, % numbers as references
- merge, % merge multiple references in one
- super, % superscript
- sort&compress
- ]{natbib}
- % Moves references after punctuation
- \RequirePackage{natmove}
- \renewcommand*{\natmovechars}{.} % only after full stop
- % Bibliography style
- %% No separation between references
- \setlength{\bibsep}{0.0pt}
- %% Use pi-bib.bst as a style (if available) else fall back to unsrtnat
- \IfFileExists{templates/pi/pi-bib.bst}{
- \bibliographystyle{templates/pi/pi-bib}
- }{
- \IfFileExists{pi-bib.bst}{
- \bibliographystyle{pi-bib}
- }{
- \PackageWarning{pi-bib}{templates/pi/pi-bib.bst not found; must specify manually}
- \bibliographystyle{unsrt}
- }}
- %% set Bibliography font
- \renewcommand\bibfont{\normalfont\sffamily\fontsize{6}{8}\selectfont}
- %% Use "References" as bibliography title
- \renewcommand{\bibname}{References}
- \renewcommand{\refname}{References}
- \AtEndOfClass{
- \renewcommand{\tocbibname}{References}
- }
- %% Remove brackets from label
- \renewcommand\@biblabel[1]{ #1.}
- % Footnotes
- \RequirePackage[flushmargin,ragged,symbol*]{footmisc}
- \renewcommand*{\footnotelayout}{\footnotefont}
- \renewcommand{\footnoterule}{% Set the footnote hrule style
- \kern -3pt
- {\color{black50} \hrule width 72pt height 0.25pt}
- \kern 2.5pt
- }
- %%%%%%%%%%%%%%%%%%%%%% References and bookmarks
- % Xr:
- % To reference another document, in this case the SI
- \RequirePackage{xr, xr-hyper}
- % Hyperlinking
- \RequirePackage[
- colorlinks=true,
- allcolors=blue,
- pagebackref=false
- ]{hyperref}
- %% Set URL link color & font
- \renewcommand\UrlFont{\color{black}\sffamily}
- % References
- \RequirePackage[
- capitalise,
- nameinlink,
- ]{cleveref}
- % Equation reference label has no brackets
- \creflabelformat{equation}{#2\textup{#1}#3}
- \RequirePackage{doi} % DOIs
- \RequirePackage[nottoc]{tocbibind} % References section in TOC (for SI)
- %%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%% Other Setup
- %%%%%%%%%%%%%%%%%%%%%% Author and affiliation
- % Keeps footnotes where they should be
- \RequirePackage{titling}
- \setlength\thanksmarkwidth{0em}
- \setlength\thanksmargin{-\thanksmarkwidth}
- % Typesetting for authors/affiliations
- \RequirePackage{authblk}
- \setlength{\affilsep}{8.5pt} % 16.5pts between base of author line and base of affil line
- \renewcommand\Authfont{\color{color0}\normalfont\sffamily\bfseries\fontsize{9}{11}\selectfont}
- \renewcommand\Affilfont{\color{color0}\footnotefont}
- \renewcommand\AB@affilsepx{\newline\protect\Affilfont}
- \renewcommand\Authands{, and }
- %%%%%%%%%%%%%%%%%%%%%% Author and paper metadata
- %% ORCID logo
- \definecolor{orcidlogocol}{HTML}{A6CE39}
- \tikzset{
- orcidlogo/.pic={
- \fill[orcidlogocol] svg{M256,128c0,70.7-57.3,128-128,128C57.3,256,0,198.7,0,128C0,57.3,57.3,0,128,0C198.7,0,256,57.3,256,128z};
- \fill[white] svg{M86.3,186.2H70.9V79.1h15.4v48.4V186.2z}
- svg{M108.9,79.1h41.6c39.6,0,57,28.3,57,53.6c0,27.5-21.5,53.6-56.8,53.6h-41.8V79.1z M124.3,172.4h24.5c34.9,0,42.9-26.5,42.9-39.7c0-21.5-13.7-39.7-43.7-39.7h-23.7V172.4z}
- svg{M88.7,56.8c0,5.5-4.5,10.1-10.1,10.1c-5.6,0-10.1-4.6-10.1-10.1c0-5.6,4.5-10.1,10.1-10.1C84.2,46.7,88.7,51.3,88.7,56.8z};
- }
- x}
- %% Article meta data additional fields
- \newcommand{\pubdoi}[1]{\def\@pubdoi{#1}} % publication DOI
- \newcommand{\keywords}[1]{\def\@keywords{#1}} % keywords
- \newcommand{\sep}[0]{; } % keyword separator
- \newcommand{\contact}[1]{\def\@contact{#1}} % contact author
- \newcommand{\leadauthor}[1]{\def\@leadauthor{#1}} % lead (first) author
- \newcommand{\equalcontrib}[1]{\def\@equalcontrib{#1}} % equal contribution switch
- \newcommand{\orcid}[1]{ % ORCID
- \href{https://orcid.org/#1}{\mbox{
- \begin{tikzpicture}[overlay,remember picture]
- \coordinate (A);
- \coordinate (B) at ($(A)-(6pt,-8pt)$);
- \end{tikzpicture}
- \begin{tikzpicture}[overlay,remember picture,yscale=-0.04,xscale=0.04,transform shape]
- \pic at (B) {orcidlogo};
- \end{tikzpicture}
- }{}}}
- %%%%%%%%%%%%%%%%%%%%%% Headers and footers
- %% Fancyhdr styling
- \RequirePackage{fancyhdr} % custom headers/footers
- \pagestyle{fancy} % Set all pagestyle to fancy
- % Clear everything
- \fancyhf{}
- % Headers
- \renewcommand{\headrulewidth}{0pt} % No header rule normally
- % Footers
- \renewcommand{\footrulewidth}{0pt} % No footer rule normally
- \fancyfoot[R]{% % footer right side
- \iftoggle{SI}{
- \footerfont\textit{Supplementary Information}\hspace{7pt}|% % we add SI as text
- }{
- \iftoggle{footpreprint}{
- \footerfont\textit{Preprint}\hspace{7pt}|% % we add preprint text
- }{}
- }
- \iftoggle{footdate}{
- \hspace{7pt}\textbf{\today}\hspace{7pt}|% % add date
- }{}
- \hspace{7pt}\textbf{\thepage}} % add page number
- \fancyfoot[L]{% % footer left side
- \footerfont\@ifundefined{@pubdoi}{}{%
- \href{https://dx.doi.org/\@pubdoi}{DOI: \@pubdoi}} % add DOI + hyperlink
- % \footerfont\@ifundefined{@leadauthor}{}{\@leadauthor}% % lead author name
- % \ifnum \value{authors} > 1\textit{ et al.}\fi% % and et.al.
- }
- % Modifying the plain style (applied automatically with title page)
- \fancypagestyle{plain}{%
- \fancyhf{} % clear everything
- \iftoggle{toprule}{% % if SI, we add a top rule
- \fancyhead[L]{% % Add article type and rule
- \colorbox{black}{\parbox{18em}{\centering\color{white}\subtitlefont{\arttype}}}}
- \renewcommand{\headrulewidth}{3pt}%
- }{}
- \fancyfoot[R]{ % footer right side
- \iftoggle{SI}{
- \footerfont\textit{Supplementary Information}\hspace{7pt}|% % we add SI as text
- }{
- \iftoggle{footpreprint}{
- \footerfont\textit{Preprint}\hspace{7pt}|% % we add preprint text
- }{}
- }
- \iftoggle{footdate}{
- \hspace{7pt}\textbf{\today}\hspace{7pt}|% % add date
- }{}
- \hspace{7pt}\textbf{\thepage\textendash\pageref{LastPage}}} % add page number
- \fancyfoot[L]{\footerfont\@ifundefined{@pubdoi}{}{% % footer left side
- \href{https://dx.doi.org/\@pubdoi}{DOI: \@pubdoi}}} % add DOI + hyperlink
- }
- %%%%%%%%%%%%%%%%%%%%%% Line numbers
- % Check switch for line numbers
- \iftoggle{linenumbers}{
- % use lineno in switch mode if doublecolumn
- \iftoggle{twocolumn}{
- \RequirePackage[switch]{lineno}
- }{
- \RequirePackage{lineno}
- }
- \renewcommand\linenumberfont{\normalfont\tiny\sffamily}
- \linenumbers
- }{}
- %%%%%%%%%%%%%%%%%%%%%% Typesetting
- %% Section/subsection/paragraph set-up
- \RequirePackage[explicit]{titlesec}
- \setcounter{secnumdepth}{5}
- \titleformat{\section}
- {\large\sffamily\bfseries}
- {\thesection.}
- {0.5em}
- {#1}
- []
- \titleformat{name=\section,numberless}
- {\large\sffamily\bfseries}
- {}
- {0em}
- {#1}
- []
- \titleformat{\subsection}[runin]
- {\sffamily\bfseries}
- {\thesubsection.}
- {0.5em}
- {#1. }
- []
- \titleformat{\subsubsection}[runin]
- {\sffamily\bfseries}
- {\thesubsubsection.}
- {0.5em}
- {#1. }
- []
- \titleformat{\paragraph}[runin]
- {\sffamily\small\bfseries}
- {}
- {0em}
- {#1}
- \titlespacing*{\section}{0pc}{3ex \@plus4pt \@minus3pt}{5pt}
- \titlespacing*{\subsection}{0pc}{2.5ex \@plus3pt \@minus2pt}{2pt}
- \titlespacing*{\subsubsection}{0pc}{2ex \@plus2.5pt \@minus1.5pt}{2pt}
- \titlespacing*{\paragraph}{0pc}{1.5ex \@plus2pt \@minus1pt}{12pt}
- %% Abstract formatting
- \def\xabstract{abstract}
- \long\def\abstract#1\end#2{
- \def\two{#2}
- \ifx\two\xabstract
- \long\gdef\theabstract{\ignorespaces#1}
- \def\go{\end{abstract}}
- \else
- \typeout{^^J^^J PLEASE DO NOT USE ANY \string\begin\space \string\end^^J COMMANDS WITHIN ABSTRACT^^J^^J}#1\end{#2}
- \gdef\theabstract{%
- \vskip12pt BADLY FORMED ABSTRACT: PLEASE DO NOT USE {\tt\string\begin...\string\end} COMMANDS WITHIN THE ABSTRACT\vskip12pt%
- }\let\go\relax
- \fi
- \go}
- % Define an environment with abstract content and styling
- \newcommand{\abscontent}{
- \noindent
- {%
- \vskip3pt%
- \iftoggle{tocfig}{
- \begin{minipage}{0.56\linewidth}
- \absfont \theabstract
- \end{minipage}
- \begin{minipage}{0.4\linewidth}
- \raggedleft
- \IfFileExists{figs/tocfig.png}{% no good way of checking for extension
- \includegraphics[width=0.9\linewidth]{figs/tocfig}}
- {\IfFileExists{figs/tocfig.bmp}{
- \includegraphics[width=0.9\linewidth]{figs/tocfig}}
- {\IfFileExists{figs/tocfig.pdf}{
- \includegraphics[width=0.9\linewidth]{figs/tocfig}}
- }{\includegraphics[width=0.9\linewidth]{example-image}}}
- \end{minipage}%
- }{
- \begin{minipage}{\linewidth}
- \absfont \theabstract
- \end{minipage}
- }
- }%
- \vskip10pt%
- \noindent
- \@ifundefined{@abstractadd}{}{%
- {%
- \parbox{\linewidth}{%
- \abstractaddfont \@abstractadd}%
- }%
- \vskip10pt%
- }%
- \noindent
- \@ifundefined{@keywords}{}{%
- {%
- \parbox{\linewidth}{%
- \keywordsfont %
- \textbf{Keywords:} \@keywords}%
- }%
- \vskip10pt%
- }%
- }
- %% Manual adjustment of vertical distance, useful for overall formatting
- \newlength\vert@adjust
- \newcommand\verticaladjustment[1]{\setlength{\vert@adjust}{#1}}
- %% Command to define an affiliation list in a footnote
- \def\authaffil{%
- \iftoggle{affiltop}{
- \@author\par%
- % \vskip2pt
- }{
- \AB@authlist\par
- \protected@xdef\@thanks{\@thanks\protect\footnotetext[\the\c@footnote]{\AB@affillist\newline}}%
- }
- }
- %% Command to define a contact email switch
- \def\contactswitch{%
- \contactfont\@ifundefined{@contact}{}{\textbf{\normalfont*}~E-Mail:~\@contact}\par%
- %
- \vskip3pt
- }
- %% Command to define an "equal contribution" switch
- \def\equalcontribswitch{
- \footerfont\@ifundefined{@equalcontrib}{}{\textsuperscript{\textbf{\dag}}~These authors contributed equally}\par%
- %
- \vskip3pt
- }
- %%%% Custom title page
- \renewcommand{\@maketitle}{%
- \iftoggle{shortintro}
- {% if short intro i.e. SI
- % patch author command to center section
- \patchcmd{\@author}{\raggedright}{\centering}{}{}
- %
- \topskip0pt
- \vspace*{\fill}%
- %
- {\centering\baselineskip=24pt\subtitlefont Supplementary Information for\par}%
- {\centering\baselineskip=24pt\titlefont \@title\par}%
- %
- \vskip10pt
- %
- % author names / addresses
- {\centering\authaffil{}}
- %
- \vskip8pt
- %
- % equal contribution
- {\centering\equalcontribswitch{}}
- % corresponding email
- {\centering\contactswitch{}}
- %
- \vspace*{\fill}%
- }
- {% else if complete paper
- %
- \vskip10pt%
- %
- {\raggedright\baselineskip=24pt\titlefont \@title\par}%
- %
- \vskip10pt
- %
- % author names / addresses
- \raggedright\authaffil{}
- %
- \vskip3pt
- %
- % equal contribution
- \raggedright\equalcontribswitch{}
- % corresponding email
- \raggedright\contactswitch{}
- % abstract / TOC section
- \raggedright{\abscontent{}}
- %
- \noindent\makebox[\linewidth]{\rule{\linewidth}{0.4pt}}%
- %
- \vskip15pt%
- }%
- \@ifundefined{vert@adjust}{}{\vskip\vert@adjust}%
- }%
|