diff options
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/quantumarticle/quantumarticle.cls | 6 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/quantumarticle/quantumview.cls | 1004 |
2 files changed, 1007 insertions, 3 deletions
diff --git a/Master/texmf-dist/tex/latex/quantumarticle/quantumarticle.cls b/Master/texmf-dist/tex/latex/quantumarticle/quantumarticle.cls index 355be71dbb7..c5ae1a8ccd0 100644 --- a/Master/texmf-dist/tex/latex/quantumarticle/quantumarticle.cls +++ b/Master/texmf-dist/tex/latex/quantumarticle/quantumarticle.cls @@ -3,7 +3,7 @@ %% it provides the quantumarticle class for typesetting articles in %% Quantum - the open journal for quantum science %% -%% Copyright 2016,2017,2018,2019,2020 +%% Copyright 2016,2017,2018,2019,2020,2021,2022 %% Verein zur Förderung des Open Access Publizierens in den Quantenwissenschaften %% (https://quantum-journal.org/about/) %% @@ -19,9 +19,9 @@ %% version 2005/12/01 or later. %% \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\def\quantumarticleversion{5.1} +\def\quantumarticleversion{6.0} \ProvidesClass{quantumarticle} -[2020/10/27 v\quantumarticleversion +[2021/12/07 v\quantumarticleversion class for Quantum - the open journal for quantum science (https://quantum-journal.org)] \RequirePackage{xkeyval} \RequirePackage{etoolbox} diff --git a/Master/texmf-dist/tex/latex/quantumarticle/quantumview.cls b/Master/texmf-dist/tex/latex/quantumarticle/quantumview.cls new file mode 100644 index 00000000000..0b06f66edeb --- /dev/null +++ b/Master/texmf-dist/tex/latex/quantumarticle/quantumview.cls @@ -0,0 +1,1004 @@ +%% +%% This is file `quantumview.cls', +%% it provides the quantumview class for typesetting perspective articles in +%% Quantum - the open journal for quantum science +%% +%% Copyright 2020, 2021 +%% Verein zur Förderung des Open Access Publizierens in den Quantenwissenschaften +%% (https://quantum-journal.org/about/) +%% +%% It is derived from `quantumarticle.cls' available from Quantum. +%% +%% It 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}[1995/12/01] +\def\quantumviewversion{5.1} +\ProvidesClass{quantumview} +[2020/10/27 v\quantumviewversion +class for Quantum - the open journal for quantum science (https://quantum-journal.org)] +\RequirePackage{xkeyval} +\RequirePackage{etoolbox} + +\newcommand*\@ptsize{} + +\newtoggle{@restonecol} + +\newtoggle{@html} +\togglefalse{@html} +\DeclareOptionX{html}{\toggletrue{@html}} + +\setlength\paperheight{297mm}% +\setlength\paperwidth{210mm} + +\renewcommand*\@ptsize{1} + +\ProcessOptionsX + +\input{size1\@ptsize.clo} + +\newcommand{\@tag}[2]{<#1>#2</#1>} + +\RequirePackage{soul} +\newcommand{\corr}[2]{\textcolor{red}{\st{#1}}\textcolor{blue}{#2}} +\newcommand{\ins}[1]{\textcolor{red}{#1}} + +\iftoggle{@html}{\renewcommand*\familydefault{\ttdefault}}{} + +\AtBeginDocument{ + % avoid bitmap fonts by loading lmodern or at least checking for cm-super + \IfFileExists{lmodern.sty}{ + \RequirePackage{lmodern} + }{} + % Define a revtex-style openone symbol + \IfFileExists{bbm.sty}{ + \RequirePackage{bbm} + \DeclareRobustCommand\openone{\mathbbm{1}} + }{ + \IfFileExists{dsfont.sty}{ + \RequirePackage{dsfont} + \DeclareRobustCommand\openone{\mathds{1}} + }{ + % This uses a similar technique to {revtex4-1}'s openone, + % namely two overstruck numeral 1s, but implemented using mboxes + % and math kerning as suggested by The Comprehensive LaTeX Symbol List. + \DeclareRobustCommand\openone{{\mbox{\small1}\mkern-5.5mu1}} + } + } + \RequirePackage{xcolor} + \definecolor{quantumviolet}{HTML}{53257F} %Quantum violet + \definecolor{quantumgray}{HTML}{555555} %Quantum gray + \iftoggle{@html}{ + \RequirePackage{verbatim} + \RequirePackage[draft]{graphicx} + }{} +} + + +\AfterEndPreamble{ + \iftoggle{@html}{ + % remove stry hyphens in HTML + \righthyphenmin=62 + \lefthyphenmin=62 + % convert other commands + \renewcommand{\emph}[1]{\@tag{em}{#1}} + \renewcommand{\textit}[1]{\@tag{i}{#1}} + \renewcommand{\textbf}[1]{\@tag{b}{#1}} + \renewcommand{\texttt}[1]{\@tag{tt}{#1}} + \renewcommand{\textsuperscript}[1]{\@tag{sup}{#1}} + \renewcommand{\textsubscript}[1]{\@tag{sub}{#1}} + \renewcommand{\cite}[1]{{\textbackslash}cite\{\detokenize{#1}\}} + \renewcommand{\label}[1]{{\textbackslash}label\{\detokenize{#1}\}} + \renewcommand{\ref}[1]{{\textbackslash}ref\{\detokenize{#1}\}} + \renewcommand{\section}[1]{\noindent\@tag{h2}{#1}\\ } + \renewcommand{\subsection}[1]{\noindent\@tag{h3}{#1}\\ } + \renewcommand{\subsubsection}[1]{\noindent\@tag{h4}{#1}\\ } + \renewcommand{\paragraph}[1]{\par ~\\\noindent<br/>\@tag{b}{#1}} + \renewenvironment{equation} + {\endgraf \noindent {\textbackslash}begin\{equation\} \verbatim} + {\endverbatim {\textbackslash}end\{equation\} \endgraf} + \renewenvironment{align} + {\endgraf \noindent {\textbackslash}begin\{align\} \verbatim} + {\endverbatim {\textbackslash}end\{align\} \endgraf} + \renewenvironment{eqnarray} + {\endgraf \noindent {\textbackslash}begin\{eqnarray\} \verbatim} + {\endverbatim {\textbackslash}end\{eqnarray\} \endgraf} + % This solution for itemize and enumerate is due to David Carlisle from tex.stackexchange + \def\itemize{% + \par\noindent <ul>\let\zz\relax + \let\olditem\item + \def\item{\zz\par\indent<li>\def\zz{\ifhmode\unskip\fi</li>\par}} + } + \def\enditemize{\zz\endgraf\noindent</ul>\par \let\item\olditem} + \def\enumerate{% + \par\noindent <ol>\let\zz\relax + \let\olditem\item + \def\item{\zz\par\indent<li>\def\zz{\ifhmode\unskip\fi</li>\par}} + } + \def\endenumerate{\zz\endgraf\noindent</ol>\par \let\item\olditem} + + \def\@@addnewlinebetween#1{#1 \\ \noindent } + \def\@affiliationsonly{\forlistloop{\@@addnewlinebetween}{\affiliations}} + \renewcommand{\@maketitle}{% + \noindent {\footnotesize Title:} \\ + \noindent {\@title} \\ + \noindent {\footnotesize Author:} \\ + \noindent \@authorsonly \\ + \noindent {\footnotesize Affiliations:} \\ + \noindent \@affiliationsonly + \par\noindent\rule{\textwidth}{0.4pt} + \vspace{1.5em} + } + \renewcommand{\bibliography}[1]{~} + % convert links + \renewcommand{\href}[2]{<a href="#1">#2</a>} +}{} +} + +\setcounter{topnumber}{2} +\renewcommand*\topfraction{.7} +\setcounter{bottomnumber}{1} +\renewcommand*\bottomfraction{.3} +\setcounter{totalnumber}{3} +\renewcommand*\textfraction{.2} +\renewcommand*\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\renewcommand*\dbltopfraction{.7} +\renewcommand*\dblfloatpagefraction{.5} + +\def\ps@headings{% +\let\@oddfoot\@empty +\def\@oddhead{{\slshape\rightmark}\hfil\thepage}% +\let\@mkboth\markboth +\def\sectionmark##1{% + \markright {\MakeUppercase{% + \ifnumgreater{\c@secnumdepth}{\m@ne} + {\thesection\quad} + {} + ##1}}% + }% +}% + +\def\ps@myheadings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\thepage\hfil\slshape\leftmark}% + \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% + \let\@mkboth\@gobbletwo + \let\sectionmark\@gobble + \let\subsectionmark\@gobble +} + + +\newcommand\maketitle{\par +\begingroup +\renewcommand\thefootnote{\@fnsymbol\c@footnote}% +\def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% +\long\def\@makefntext##1{\parindent 1em\noindent +\hb@xt@1.8em{% +\hss\@textsuperscript{\normalfont\@thefnmark}}##1}% +\global\@topnum\z@ % Prevents figures from going at top of page. +\@maketitle +\thispagestyle{fancy}%\@thanks +\endgroup +\setcounter{footnote}{0}% +\global\let\thanks\relax +\global\let\maketitle\relax +\global\let\@maketitle\relax +% \global\let\@thanks\@empty +% \global\let\@author\@empty +% \global\let\@date\@empty +% \global\let\@title\@empty +\global\let\title\relax +\global\let\author\relax +\global\let\date\relax +\global\let\and\relax +} + +\def\@maketitle{% + \sffamily + \null + \let \footnote \thanks + \noindent% + \begin{minipage}{\textwidth}% + \noindent{\huge\hyphenpenalty=5000 \@printtitle\par}% + \end{minipage}% + \vskip 1.5em% + \begin{flushleft}% + \noindent \@printauthors + \end{flushleft}% + \vskip 1em% + \noindent\@printaffiliations + \vskip 0em% + \ifdefempty{\@date}{}{\noindent{\footnotesize\color{quantumgray}\@date}}% + \par + \vskip 1.5em + \makeatletter% + \begingroup + \hypersetup{% + pdftitle={\detokenize\expandafter{\@title}}, + pdfauthor={\@authorsonly}, + pdfkeywords={\@keywords}, + pdfcreator={LaTeX with hyperref package and class quantumview \csname ver@quantumview.cls\endcsname}, + }% + \endgroup + \makeatother% +} + +\setcounter{secnumdepth}{3} +\newcounter {part} +\newcounter {section} +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] +\renewcommand*\thepart {\@Roman\c@part} +\renewcommand*\thesection {\@arabic\c@section} +\renewcommand*\thesubsection {\thesection.\@arabic\c@subsection} +\renewcommand*\thesubsubsection{\thesubsection.\@arabic\c@subsubsection} +\renewcommand*\theparagraph {\thesubsubsection.\@arabic\c@paragraph} +\renewcommand*\thesubparagraph {\theparagraph.\@arabic\c@subparagraph} +\newcommand\part{% + \ifbool{@noskipsec}{\leavevmode}{} + \par + \addvspace{4ex}% + \boolfalse{@afterindent} + \secdef\@part\@spart} + +\def\@part[#1]#2{% +\ifnumgreater{\c@secnumdepth}{\m@ne} + {\refstepcounter{part}\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}} + {\addcontentsline{toc}{part}{#1}} +{\parindent \z@ \raggedright +\interlinepenalty \@M +\normalfont +\ifnumgreater{\c@secnumdepth}{\m@ne}{\Large\bfseries \partname\nobreakspace\thepart\par\nobreak}{} +\huge \bfseries #2% +\markboth{}{}\par}% +\nobreak +\vskip 3ex +\@afterheading% +} + +\def\@spart#1{% + {\parindent \z@ \raggedright + \interlinepenalty \@M + \normalfont + \huge \bfseries #1\par}% + \nobreak + \vskip 3ex + \@afterheading} + +\newcommand*\section{\@startsection {section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\normalfont\Large\sffamily}} + +\newcommand*\subsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\normalfont\large\sffamily}} + +\newcommand*\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\normalfont\normalsize\sffamily}} + +\newcommand*\paragraph{\@startsection{paragraph}{4}{\z@}% + {3.25ex \@plus1ex \@minus.2ex}% + {-1em}% + {\normalfont\normalsize\bfseries}} + +\newcommand*\subparagraph{\@startsection{subparagraph}{5}{\parindent}% + {3.25ex \@plus1ex \@minus .2ex}% + {-1em}% + {\normalfont\normalsize\bfseries}} + +\setlength\leftmargini{2.5em} +\leftmargin \leftmargini +\setlength\leftmarginii {2.2em} +\setlength\leftmarginiii {1.87em} +\setlength\leftmarginiv {1.7em} + +\setlength\leftmarginv {1em} +\setlength\leftmarginvi {1em} + +\setlength \labelsep {.5em} +\setlength \labelwidth{\leftmargini} +\addtolength\labelwidth{-\labelsep} +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty +\renewcommand*\theenumi{\@arabic\c@enumi} +\renewcommand*\theenumii{\@alph\c@enumii} +\renewcommand*\theenumiii{\@roman\c@enumiii} +\renewcommand*\theenumiv{\@Alph\c@enumiv} +\newcommand*\labelenumi{\theenumi.} +\newcommand*\labelenumii{(\theenumii)} +\newcommand*\labelenumiii{\theenumiii.} +\newcommand*\labelenumiv{\theenumiv.} +\renewcommand*\p@enumii{\theenumi} +\renewcommand*\p@enumiii{\theenumi(\theenumii)} +\renewcommand*\p@enumiv{\p@enumiii\theenumiii} +\newcommand*\labelitemi{\textbullet} +\newcommand*\labelitemii{\normalfont\bfseries \textendash} +\newcommand*\labelitemiii{\textasteriskcentered} +\newcommand*\labelitemiv{\textperiodcentered} +\newenvironment{description} +{\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} +{\endlist} +\newcommand*\descriptionlabel[1]{\hspace\labelsep + \normalfont\bfseries #1} + +\newenvironment{abstract}{% + \ifdefempty{\maketitle}{\relax{}}{\maketitle} + \vskip 1em \quotation% +} +{ + \endquotation\vskip 2em% +} + +\newenvironment{verse} +{\let\\\@centercr + \list{}{\itemsep \z@ + \itemindent -1.5em% + \listparindent\itemindent + \rightmargin \leftmargin + \advance\leftmargin 1.5em}% + \item\relax} +{\endlist} + +\newenvironment{quotation} +{\list{}{\listparindent 1.5em% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@}% + \item\relax} +{\endlist} + +\newenvironment{quote} +{\list{}{\rightmargin\leftmargin}% + \item\relax} +{\endlist} + +\newcommand*\appendix{\par + \setcounter{section}{0}% + \setcounter{subsection}{0}% + \gdef\thesection{\@Alph\c@section}} +\setlength\arraycolsep{5\p@} +\setlength\tabcolsep{6\p@} +\setlength\arrayrulewidth{.4\p@} +\setlength\doublerulesep{2\p@} +\setlength\tabbingsep{\labelsep} +\skip\@mpfootins = \skip\footins +\setlength\fboxsep{3\p@} +\setlength\fboxrule{.4\p@} +\renewcommand*\theequation {\@arabic\c@equation} +\newcounter{figure} +\renewcommand*\thefigure {\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{\figurename\nobreakspace\thefigure} + +\newenvironment{figure} +{\@float{figure}} +{\end@float} + +\newenvironment{figure*} +{\@dblfloat{figure}} +{\end@dblfloat} + +\newcounter{table} +\renewcommand*\thetable{\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{\tablename\nobreakspace\thetable} + +\newenvironment{table} +{\@float{table}} +{\end@float} + +\newenvironment{table*} +{\@dblfloat{table}} +{\end@dblfloat} + +\newlength\abovecaptionskip +\newlength\belowcaptionskip +\setlength\abovecaptionskip{10\p@} +\setlength\belowcaptionskip{0\p@} +\long\def\@makecaption#1#2{% + \vskip\abovecaptionskip + \sbox\@tempboxa{#1: #2}% + \ifdimgreater{\wd\@tempboxa}{\hsize} + {#1: #2\par} + {\global\boolfalse{@minipage} + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}}% + \vskip\belowcaptionskip} + +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} +\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} + +\newcommand*\@pnumwidth{1.55em} +\newcommand*\@tocrmarg{2.55em} +\newcommand*\@dotsep{4.5} +\setcounter{tocdepth}{3} + +% We use a trick from Ivan Andrus (https://stackoverflow.com/a/2785740) +% to hide the "\section*{Contents}" command from the table of contents +% to avoid getting an ugly duplication of the Contents header inside +% the table itself. +% +% This trick consists of temporarily redefining \addcontentsline to +% do nothing during the expansion of the arguments to \tocless. +\newcommand{\nocontentsline}[3]{} +\newcommand{\tocless}[2]{\bgroup\let\addcontentsline=\nocontentsline#1{#2}\egroup} +\newcommand\tableofcontents{% + \tocless{\section*}{\contentsname + \@mkboth{% + \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% + \@starttoc{toc}% +} + +\newcommand*\l@part[2]{% + \ifnumgreater{\c@tocdepth}{-2}{\relax + \addpenalty\@secpenalty + \addvspace{2.25em \@plus\p@}% + \setlength\@tempdima{3em}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \endgroup + }{}% +} + +\newcommand*\l@section[2]{% + \ifnumgreater{\c@tocdepth}{\z@}{ + \addpenalty\@secpenalty + \addvspace{1.0em \@plus\p@}% + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \endgroup + }{}% +} + +\newcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} +\newcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} +\newcommand*\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} +\newcommand*\l@subparagraph{\@dottedtocline{5}{10em}{5em}} + +\newcommand\listoffigures{% + \section*{\listfigurename}% + \@mkboth{\MakeUppercase\listfigurename}% + {\MakeUppercase\listfigurename}% + \@starttoc{lof}% +} + +\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} +\newcommand\listoftables{% + \section*{\listtablename}% + \@mkboth{% + \MakeUppercase\listtablename}% + {\MakeUppercase\listtablename}% + \@starttoc{lot}% +} + +\let\l@table\l@figure +% Declare a new \acknowledgements command for {revtex4-1} +% compatability. +\newcommand*{\acknowledgmentsname}{Acknowledgments} +\newcommand{\acknowledgments}[1]{% + \section*{\acknowledgmentsname}% + #1% +} + +\newdimen\bibindent +\setlength\bibindent{1.5em} + +\newenvironment{thebibliography}[1] +{% + \section*{\refname}% + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand*\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m + \setlength{\itemsep}{0pt plus 0.3ex} +} +{\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} + +\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em} +\let\@openbib@code\@empty + +\newenvironment{theindex}{% + \toggletrue{@restonecol} + \twocolumn[\section*{\indexname}]% + \@mkboth{\MakeUppercase\indexname}% + {\MakeUppercase\indexname}% + \thispagestyle{fancy}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \columnseprule \z@ + \columnsep 35\p@ + \let\item\@idxitem% +} +{ + \iftoggle{@restonecol} + {\onecolumn} + {\clearpage} +} + +\newcommand\@idxitem{\par\hangindent 40\p@} +\newcommand\subitem{\@idxitem \hspace*{20\p@}} +\newcommand\subsubitem{\@idxitem \hspace*{30\p@}} +\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} + +\renewcommand*\footnoterule{% + \kern-3\p@ + \hrule\@width.4\columnwidth + \kern2.6\p@} + +\newcommand*\@makefntext[1]{% +\parindent 1em% +\noindent +\hb@xt@1.8em{\hss\@makefnmark}#1} + +\newcommand*\contentsname{Contents} +\newcommand*\listfigurename{List of Figures} +\newcommand*\listtablename{List of Tables} +\newcommand*\refname{References} +\newcommand*\indexname{Index} +\newcommand*\figurename{Figure} +\newcommand*\tablename{Table} +\newcommand*\partname{Part} +\newcommand*\appendixname{Appendix} +\newcommand*\abstractname{Abstract} + +\def\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} +\setlength\columnsep{20\p@} +\setlength\columnseprule{0\p@} +\setlength{\footnotesep}{\baselineskip} +\RequirePackage{fancyhdr} +\pagestyle{fancy} +\renewcommand{\headrule}{} +\renewcommand{\footrule}{\vbox to 0pt{\hbox to\headwidth{\color{quantumgray}\leaders\hrule\hfil}\vss}} +\fancyhf{} + +\pagenumbering{arabic} +\raggedbottom +\onecolumn + +%title +\def\@printtitle{% + {% + \edef\@titleexpanded{\detokenize\expandafter{\@title}}% + \iftoggle{@xstring}% + {\saveexploremode\exploregroups\StrSubstitute{\@titleexpanded}{ }{\%20}[\@titleforurl]\restoreexploremode}% + {\gdef\@titleforurl{\@titleexpanded}}% + \href{https://quantum-journal.org/?s=\@titleforurl\&reason=title-click}{% + \color{quantumviolet}{% + \@printtitletextwithappropriatefontsize\unskip% + }% + }% + }% +} +% In the macro below we compute the appropriate font size of the title. +% We use \Huge if the title fits on one line and \huge if it extends over more +% than one line in font size \Huge +\def\@titleatfontsize#1{% + #1% + \begingroup% + \raggedright% + \def\selectfont{\ClassError{quantumview}{When submitting to Quantum, you are not supposed to use \string\textbf{}, \string\bf, \string\textit{} or other font formating commands inside \string\title{}. Please remove all such commands from your \string\title{}. If you really have to change the font for some part of the title you can turn off this error by giving the option allowfontchangeintitle}{}}%solution from https://tex.stackexchange.com/questions/347596/disallowing-textbf-it-sffamily-in-argument-of-macro-or-environment + \@title% + \endgroup% +}% + +\def\@printtitletextwithappropriatefontsize{% + \newsavebox{\@titelsaveboxHuge}% + \savebox{\@titelsaveboxHuge}{% + \parbox[b]{\linewidth}{% + \@titleatfontsize{\Huge}% + }% + }% + \newsavebox{\@titelsaveboxHugeoneline}% + \savebox{\@titelsaveboxHugeoneline}{% + \@titleatfontsize{\Huge}% + }% + \newsavebox{\@titelsaveboxhhuge}% + \savebox{\@titelsaveboxhhuge}{% + \parbox[b]{\linewidth}{% + \@titleatfontsize{\huge}% + }% + }% + \ifdimgreater{\ht\@titelsaveboxHuge}{\ht\@titelsaveboxHugeoneline} + {\@titleatfontsize{\huge}%\usebox{\@titelsaveboxhhuge}% using huge because \the\ht\@titelsaveboxHuge{} is larger than \the\ht\@titelsaveboxHugeoneline{} + } + {\@titleatfontsize{\Huge}% using Huge because \the\ht\@titelsaveboxHuge{} is not larger than \the\ht\@titelsaveboxHugeoneline{} + } +} + +%renew \title to allow for and ignore an optional argument +\renewcommand{\title}[2][]{\gdef\@title{#2}} +% author handling +\newcounter{@authorcounter} +\csdef{@authors}{} +\renewcommand{\author}[2][]{% + \ifstrempty{#1}{% + \internal@author{#2}% + }{% + \internal@elseauthor{#1}{#2} + }% + \csdef{@authorname\the@authorcounter}{#2}% + \def\@currentauthornumber{\the@authorcounter}% +}% +\def\addauthortolabel#1#2{% + \ifcsdef{authorswithlabel#2}{}{\csdef{authorswithlabel#2}{}}% + \listcsxadd{authorswithlabel#2}{#1}}% +\def\internal@elseauthor#1#2{% + \stepcounter{@authorcounter} + \ifcsdef{@authors}{}{\csdef{@authors}{}}% + \listadd{\@authors}{#2}% + \forcsvlist{\addauthortolabel{\the@authorcounter}}{#1}% + \ifbool{@startnewauthorgroup}{\csundef{@authorgroup}}{}% + \ifcsdef{@authorgroup}{}{\csdef{@authorgroup}{}}% + \listxadd{\@authorgroup}{\the@authorcounter}% + \boolfalse{@startnewauthorgroup}% +}% +\def\internal@author#1{% + \stepcounter{@authorcounter} + \ifcsdef{@authors}{}{\csdef{@authors}{}}% + \listadd{\@authors}{#1}% + \ifbool{@startnewauthorgroup}{\csundef{@authorgroup}}{} + \ifcsdef{@authorgroup}{}{\csdef{@authorgroup}{}}% + \listxadd{\@authorgroup}{\the@authorcounter} + \boolfalse{@startnewauthorgroup} +} +\def\@@spaceafter#1{#1 } +\def\@@@comma{\def\@@@comma{,}} +\def\@@commaspacebefore#1{\@@@comma{}#1} +\def\@printauthor#1#2{\def\footnote{\ClassError{quantumview}{You must not put a \string\footnote{} command inside the argument of \string\author}{}}\mbox{\ifcsdef{author#1orcid}{\href{https://orcid.org/\csname author#1orcid\endcsname}{\color{black}#2}}{#2}}\ifnumcomp{\the@affiliationcounter}{>}{1}{\textsuperscript{\forlistcsloop{\@@commaspacebefore}{author#1affiliations}\unskip}}{}\ifnumcomp{#1}{<}{\the@authorcounter-1}{, }{\ifnumcomp{#1}{=}{\the@authorcounter-1}{\ifnumcomp{#1}{=}{1}{ and }{, and }}{}}} +\def\@printauthors{% + \newcounter{@authornum}% + \large\forlistloop{\stepcounter{@authornum}% + \ifcsdef{author\the@authornum hasextras}{% + \insert\footins{\footnotesize% + % \interlinepenalty\interfootnotelinepenalty + % \splittopskip\footnotesep + % \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\dimexpr \linewidth\relax \@parboxrestore% + % \flushleft% + % \baselineskip=0pt% + \@printauthorextrainfo{\the@authornum}\vspace{0.5\baselineskip}% + }}{}% + \@printauthor\the@authornum}{\@authors}% +} +\def\@@addcommabetween#1{#1, }%this adds an ugly extra comma at the end but the variant below is not expandable and therefore leads to ugly warnings: https://tex.stackexchange.com/questions/50978/macro-to-extract-typeset-plain-text-from-a-command +%\def\@@addcommabetween#1{\ifdef{\firstauthoronly}{, }{\def\firstauthoronly{\empty}}#1} +\def\@authorsonly{\forlistloop{\@@addcommabetween}{\@authors}} +% affiliation handling +\newbool{@startnewauthorgroup} +\newcounter{@affiliationcounter} +\def\@addaffiliation#1#2{ + \ifcsdef{author#2affiliations}{}{\csdef{author#2affiliations}{}}% + \listcsgadd{author#2affiliations}{#1} +} +\newcommand{\address}[2][]{\affiliation[#1]{#2}} + +%for compatibility with authblk +\newcommand{\affil}[2][]{ + \affiliation[#1]{#2}} +\newcommand{\affiliation}[2][]{% + \ifstrempty{#1}{% + \internal@affiliation{#2}% + }{% + \elseinternal@affiliation{#1}{#2} + }}% +\def\elseinternal@affiliation#1#2{% + \booltrue{@startnewauthorgroup} + \ifcsdef{affiliations}{}{\csdef{affiliations}{}}% + \expandafter\def\csname\detokenize{#2}\endcsname{#2}% + \stepcounter{@affiliationcounter}% + \listxadd{\affiliations}{\iftoggle{@html}{#2}{\detokenize{#2}}}% + \csxdef{affiliation\detokenize{#2}number}{\the@affiliationcounter{}}% + \ifcsdef{authorswithlabel#1}{% + \forlistcsloop{\@addaffiliation{\csname affiliation\detokenize{#2}number\endcsname}}{authorswithlabel#1}% + }{}% +} +\def\internal@affiliation#1{% + \booltrue{@startnewauthorgroup} + \ifcsdef{affiliations}{}{\csdef{affiliations}{}}% + \expandafter\def\csname\detokenize{#1}\endcsname{#1} %to handle special characters such as \'a and \l we create a macro whose name is the detokenized version of #1 and that expands to #1 and later call it in \@printaffiliation + \xifinlist{\detokenize{#1}}{\affiliations}{}{\stepcounter{@affiliationcounter}\listxadd{\affiliations}{\iftoggle{@html}{#1}{\detokenize{#1}}}\csxdef{affiliation\detokenize{#1}number}{\the@affiliationcounter{}}}% + \forlistloop{\@addaffiliation{\csname affiliation\detokenize{#1}number\endcsname}}{\@authorgroup}% +} +\def\@printaffiliation#1#2{\ifnumcomp{\the@affiliationcounter}{>}{1}{\llap{\textsuperscript{#1}}}{}\csname #2\endcsname\ifnumcomp{#1}{<}{\the@affiliationcounter}{\newline}{}} +\def\@printaffiliations{% + \ifcsdef{affiliations}{}{\csdef{affiliations}{}}% + \newcounter{@affiliationnum}% + \ifnumcomp{\the@affiliationcounter}{>}{1}{% + \settowidth{\leftskip}{\footnotesize\textsuperscript{\the@affiliationcounter}}% + }{}% + {\footnotesize\color{quantumgray}% + \forlistloop{\stepcounter{@affiliationnum}\@printaffiliation\the@affiliationnum}{\affiliations}}% +} +%collaboration and altaffiliation +\newcommand{\collaboration}[1]{\author{#1}} +\newcommand{\altaffiliation}[2][]{\affiliation{#1#2}} + +% email, homepage, and thanks handling +% be careful - this section is highly sensitive to the positioning of the % marks +\def\@printauthorextrainfo#1{ + \csname @authorname#1\endcsname: + \ifcsdef{author#1emails} + {% + \forlistcsloop{\@@spaceafter}{author#1emails}% + } + {}% + \ifcsdef{author#1homepages} + {% + \ifcsdef{author#1emails} + {\unskip, } + {}% + \forlistcsloop{\@@spaceafter}{author#1homepages}% + } + {}% + \ifcsdef{author#1thanks} + {% + \ifcsdef{author#1emails} + {% + \ifcsdef{author#1homepages} + {\unskip, } + {\unskip, }% + } + {% + \ifcsdef{author#1homepages} + {\unskip, } + {}% + }% + \forlistcsloop{\@@spaceafter}{author#1thanks}% + } + {}% +} + +\newcommand{\email}[2][]{% + \ifcsdef{@currentauthornumber}{}{\ClassError{quantumview}{\string\email{} may only appear after the first \string\author{} command}{}} + \@email{#1}{\href{mailto:#2}{#2}}} +\newcommand{\homepage}[2][]{% + \ifcsdef{@currentauthornumber}{}{\ClassError{quantumview}{\string\homepage{} may only appear after the first \string\author{} command}{}} + \@homepage{#1}{\href{#2}{#2}}} +\renewcommand{\thanks}[2][]{% + \ifcsdef{@currentauthornumber}{}{\ClassError{quantumview}{\string\thanks{} may only appear after the first \string\author{} command}{}} + \@thanks{#1}{#2}} +\newcommand{\orcid}[2][]{% + \ifcsdef{@currentauthornumber}{}{\ClassError{quantumview}{\string\orcid{} may only appear after the first \string\author{} command}{}} + \@orcid{#1}{#2}} +\def\@email#1#2{%} + \@addemail{#1#2}{\@currentauthornumber} + \csdef{author\@currentauthornumber hasextras}{} +} +\def\@homepage#1#2{% + \ifcsdef{@currentauthornumber}{}{\def\@currentauthornumber{0}}%in case \homepage is called before the first author + \@addhomepage{#1#2}{\@currentauthornumber} + \csdef{author\@currentauthornumber hasextras}{} +} +\def\@thanks#1#2{% + \ifcsdef{@currentauthornumber}{}{\def\@currentauthornumber{0}}%in case \thanks is called before the first author + \@addthanks{#1#2}{\@currentauthornumber} + \csdef{author\@currentauthornumber hasextras}{} +} +\def\@orcid#1#2{% + \ifcsdef{@currentauthornumber}{}{\def\@currentauthornumber{0}}%in case \orcid is called before the first author + \@addorcid{#1#2}{\@currentauthornumber} +} +\def\@addemail#1#2{ + \ifcsdef{author#2emails}{}{\csdef{author#2emails}{}}% + \listcsgadd{author#2emails}{#1} +} +\def\@addhomepage#1#2{ + \ifcsdef{author#2homepages}{}{\csdef{author#2homepages}{}}% + \listcsgadd{author#2homepages}{#1} +} +\def\@addthanks#1#2{ + \ifcsdef{author#2thanks}{}{\csdef{author#2thanks}{}}% + \listcsgadd{author#2thanks}{#1} +} +\def\@addorcid#1#2{ + \csdef{author#2orcid}{#1}% +} + +\newtoggle{@tikz} +\IfFileExists{tikz.sty}{\toggletrue{@tikz}}{\togglefalse{@tikz}} + +\newtoggle{@xstring} +\IfFileExists{xstring.sty}{\toggletrue{@xstring}}{\togglefalse{@xstring}} + +\AtBeginDocument{ + \iftoggle{@xstring} + {\RequirePackage{xstring}} + {} + \iftoggle{@tikz} + {% + \RequirePackage{tikz} + \usetikzlibrary{calc} + \newlength{\@eQ}%Capital Q height + \newlength{\@w}%line width + \newlength{\@rl}%rounding length + \newlength{\@cw}%character width + \newlength{\@ch}%lower case character height + \newlength{\@cr}%corner radius + \newlength{\@sl}%<> slant + \newlength{\@xt}%<> x thickeness + + \DeclareRobustCommand{\Quantum}{% + {\sffamily%\color{quantumviolet}% + \setlength{\@eQ}{\dimexpr\fontcharht\font`Q\relax}% + \setlength{\@w}{0.088\@eQ}% + \setlength{\@rl}{0.2\@eQ}% + \setlength{\@cw}{0.5\@eQ}% + \setlength{\@ch}{0.65\@eQ}% + \setlength{\@cr}{0.3\@w}% + \setlength{\@sl}{0.22\@eQ}% + \setlength{\@xt}{1.113588507968435\@w}%=math.sqrt(1/(1-pow(22./50.,2)))*\@w + \tikz[baseline,x=\@eQ,y=\@eQ,every node/.append style={fill=none,inner sep=0pt,outer sep=0pt,node distance=0},rounded corners=\@cr]{% + % <> leg in back + % \fill[] (0,0.5) -- ++(\@sl,0.5) -- ++(\@xt,0) -- ++(-\@sl,-0.5) -- ++(\@sl,-0.5) -- ++(-\@xt,0) -- cycle; + % \fill[xshift=.95\@eQ] (0,0.5) node (eastend) {} -- ++(-\@sl,0.5) -- ++(-\@xt,0) -- ++(\@sl,-0.5) -- ++(-\@sl,-0.5) -- ++(\@xt,0) -- cycle; + % \begin{scope} + % \clip[xshift=.95\@eQ,overlay] (0.5\@xt,0.5) -- ++(-\@sl,-0.5) -- (0,0) -- (0.5\@xt,0.5) ++(-2\@xt,0) -- ++(-\@sl,-0.5) -- ($(-2*\@sl,0)$) -- ++(\@sl,0.5) --cycle; + % \fill[xshift=.95\@eQ] (0,0) -- ++(-\@sl,0.5) -- ++(-\@xt,0) -- ++(\@sl,-0.5) -- cycle; + % \end{scope} + \node[overlay,anchor=base west,opacity=0] {Q}; + % <> leg in front + \fill[] (0,0.5) -- ++(\@sl,0.5) -- ++(\@xt,0) -- ++(-\@sl,-0.5) -- ++(\@sl,-0.5) -- ++(-\@xt,0) -- cycle; + \begin{scope}[xshift=\@eQ] + \fill (0,0) -- ++(-\@sl,0.5) -- ++(-\@xt,0) -- ++(\@sl,-0.5) -- cycle; + \clip[overlay,rounded corners=0] (-1.34\@xt,0) -- ++(-\@sl,0.5) -- ++(0,-0.5) -- cycle (0.34\@xt,0) -- ++($2*(-\@sl,0.5)$) -- (0.5\@xt,1) --cycle; + \fill (0,0.5) node (eastend) {} -- ++(-\@sl,0.5) -- ++(-\@xt,0) -- ++(\@sl,-0.5) -- ++(-\@sl,-0.5) -- ++(\@xt,0) -- cycle; + \end{scope} + % u + \def\@u##1{% + \fill[##1] (0,\@ch) -- (0,1.06\@rl) to[out=-90,in=184,looseness=1.2,overlay] ($(\@cw-\@w,0)$) -- ($(\@cw,0)$) -- ++(0,\@ch) -- ++(-\@w,0) -- ++($(0,-\@ch) + (0,\@w)$) -- ($(\@cw-\@w,\@w)$) to[out=184,in=-90,looseness=1.1] ($(\@w,1.06\@rl)$) -- (\@w,\@ch) --cycle;} + \@u{shift={($(current bounding box.south east)+(0.172\@eQ,0)$)}} + \node[overlay,anchor=base east,opacity=0] at (current bounding box.south east) {u}; + % a + \fill[shift={($(current bounding box.south east)+(0.110\@eQ,0)$)}] (\@cw,0) -- ++($(0,\@ch)-(0,\@rl)$) to[out=90,in=0,looseness=1.22] ++($(-1.22\@rl,\@rl)$) -- ($(\@w,\@ch)$) -- ++(0,-\@w) -- ($(1.22\@rl,\@ch-\@w)$) to[out=0,in=90,looseness=1.3,rounded corners=0] ($(\@cw,\@ch)-(\@w,\@rl)$) -- ($(\@cw,0)-(\@w,-\@w)$) -- + ($(\@rl,\@w)$) to[out=180,in=-100,looseness=0.95,rounded corners=0] ($(1.05\@w,0.33\@ch)$) to[out=80,in=176,looseness=1.0] ($(\@cw-\@w,0.47\@ch)$) to[rounded corners=0] ++(0,-\@cr) to[rounded corners=0] ++($(0,\@cr+\@w)$) to[out=176,in=0] ($(1.2\@rl,0.48\@ch)+(0,\@w)$) to[out=180,in=90,rounded corners=0] ($(0.05\@w,0.33\@ch)$) to[out=-90,in=180,looseness=1.1,rounded corners=0] ($(\@rl,0)$) -- cycle; + \node[overlay,anchor=base east,opacity=0] at (current bounding box.south east) {a}; + % \fill[shift={($(current bounding box.south east)+(0.110\@eQ,0)$)}] (\@cw,0) -- ++($(0,\@ch)-(0,\@rl)$) to[out=90,in=0,looseness=1.22] ++($(-1.22\@rl,\@rl)$) -- ($(\@w,\@ch-0.1\@w)$) -- ++(0.1\@w,-\@w) -- ($(1.22\@rl,\@ch-\@w)$) to[out=0,in=90,looseness=1.3,rounded corners=0] ($(\@cw,\@ch)-(\@w,\@rl)$) -- ($(\@cw,0)-(\@w,-\@w)$) -- + % ($(\@rl,\@w)$) to[out=180,in=-100,looseness=0.95,rounded corners=0] ($(1.05\@w,0.33\@ch)$) to[out=80,in=176,looseness=1.0] ($(\@cw-\@w,0.47\@ch)$) to[rounded corners=0] ++(0,-\@cr) to[rounded corners=0] ++($(0,\@cr+\@w)$) to[out=176,in=0] ($(1.2\@rl,0.48\@ch)+(0,\@w)$) to[out=180,in=90,rounded corners=0] ($(0.05\@w,0.33\@ch)$) to[out=-90,in=180,looseness=1.1,rounded corners=0] ($(\@rl,0)$) -- cycle; + % \node[overlay,anchor=base east,opacity=0] at (current bounding box.south east) {a}; + %n + \fill[shift={($(current bounding box.south east)+(0.181\@eQ+\@cw,\@ch)$)},rotate=180] (0,\@ch) -- (0,\@rl) to[out=-90,in=180,looseness=1.22] ($(1.2\@rl,0)$) -- (\@cw,0) -- ++(0,\@ch) -- ++(-\@w,0) -- ++($(0,-\@ch) + (0,1.05\@w)$) to[out=182,in=-90,looseness=1.04] ($(\@w,\@rl)$) -- (\@w,\@ch) --cycle; + \node[overlay,anchor=base east,opacity=0] at (current bounding box.south east) {n}; + % t + \fill[shift={($(current bounding box.south east)+(0.111\@eQ,0)$)}] + (\@w,0.9) [rounded corners=0] -- (\@w,\@ch) [rounded corners=\@cr] -- (0,\@ch) -- ++(0,-\@w) to[rounded corners=0] ++(\@w,0) -- (\@w,\@rl) to[out=-90,in=180,looseness=1.3,overlay] ($(\@w+\@rl,-0.07\@w)$) to[overlay] ++($(0.64\@cw-\@w-\@rl,0)$) -- ++(0,\@w) -- ++($(\@w+\@rl-0.64\@cw,0)$) to[out=180,in=-90,looseness=1.4] ($(2\@w,\@rl)$) -- ++($(0,\@ch-\@rl-\@w)$) -- ($(0.64\@cw,\@ch-\@w)$) -- ++(0,\@w) to[rounded corners=0] (2\@w,\@ch) -- ($(2\@w,0.9)$) --cycle; + \node[overlay,anchor=base east,opacity=0] at (current bounding box.south east) {t}; + % u + \@u{shift={($(current bounding box.south east)+(0.125\@eQ,0)$)}} + % \fill[shift={($(current bounding box.south east)+(0.125\@eQ,0)$)}] (0,\@ch) -- (0,\@rl) to[out=-90,in=180] ($(\@rl,0)$) -- (\@cw,0) -- ++(0,\@ch) -- ++(-\@w,0) -- ++($(0,-\@ch) + (0,\@w)$) -- ($(\@rl,\@w)$) to[out=180,in=-90] ($(\@w,\@rl)$) -- (\@w,\@ch) --cycle; + \node[overlay,anchor=base east,opacity=0] at (current bounding box.south east) {u}; + % m + \fill[shift={($(current bounding box.south east)+(0.16\@eQ+1.93*\@cw-\@w,\@ch)$)},rotate=180] (0,\@ch) -- (0,\@rl) to[out=-90,in=180,looseness=1.2] ($(1.2\@rl,0)$) -- ($(1.93\@cw,0)-(\@w,0)$) -- ++(0,\@ch) -- ++(-\@w,0) -- ++($(0,-\@ch) + (0,1.05\@w)$) to[out=184,in=-4] ($(0.97\@cw,1.05\@w)+(0,0)$) -- ++($(0,-1.05\@w)+(0,\@ch)$) -- ++($(-\@w,0)$) -- ++($(0,-\@ch)+(0,1.05\@w)$) to[out=182,in=-90,looseness=1.04] ($(\@w,\@rl)$) -- (\@w,\@ch) --cycle; + \node[overlay,anchor=base east,opacity=0] at (current bounding box.south east) {m}; + }}} + } + {% + \ClassWarning{quantumview}{The tikz package could not be found and the \string\Quantum command will not produce the Quantum logo, but fall back to outputting simply the text Quantum.} + \DeclareRobustCommand{\Quantum}{Quantum} + } +} +%elsearticle style extra header information +\newcommand{\ead}[2][]{ + \ifstrempty{#1}{ + \email{#2} + }{ + \iftoggle{@xstring} + {\IfStrEq{#1}{url}{\homepage{#2}}{\email{#2}}} + {email{#2}} + } +} +\AtEndPreamble{ + \providecommand{\@elsearticlecommandsnotsupportederror}{\ClassError{quantumview}{The elsearticle style \string\cortext{}, \string\corref{}, \string\fntext{}, \string\fnref{}, \string\tnotetext{}, and \string\tnoteref{} commands are not supported by quantumview. Please refrain from using footnotes in the title part of your document and use the \string\tahnks{} command for author footnotes instead.}{}} + \providecommand{\cortext}[2][]{\@elsearticlecommandsnotsupportederror} %corresponding author information + \providecommand{\corref}[1]{\@elsearticlecommandsnotsupportederror} %corresponding author information reference + \providecommand{\fntext}[2][]{\@elsearticlecommandsnotsupportederror} %author footnote + \providecommand{\fnref}[1]{\@elsearticlecommandsnotsupportederror} %author footnot reference + \providecommand{\tnotetext}[2][]{\@elsearticlecommandsnotsupportederror} %title footnote + \providecommand{\tnoteref}[1]{\@elsearticlecommandsnotsupportederror} %title footnote reference +} + +% set default options for hyperref to make links more pretty +\PassOptionsToPackage{colorlinks=true,hyperindex}{hyperref} + +\PassOptionsToPackage{allcolors=quantumviolet}{hyperref} + +%enable DOIs if biblatex is used by default +\PassOptionsToPackage{doi=true}{biblatex} + +\AtBeginDocument{% + + \RequirePackage{hyperref}% + + \@ifpackageloaded{natbib}{% + \setlength{\bibsep}{0pt plus 0.3ex} + \@ifpackageloaded{doi}{}{% + \providecommand{\doi}[1]{} + \renewcommand{\doi}[1]{\href{https://doi.org/\detokenize{#1}}{DOI: \detokenize{#1}}}% + }% + }{% + \@ifpackageloaded{biblatex}{ + \DeclareFieldFormat{doi}{\mkbibacro{DOI}\addcolon\space\href{https://doi.org/\detokenize{#1}}{\detokenize{#1}}} + \setcounter{biburllcpenalty}{1000} + \setcounter{biburlucpenalty}{1000} + \setcounter{biburlnumpenalty}{1000} + }{}% + } +} + +\def\@keywords{} +\providecommand{\keywords}{} +\renewcommand{\keywords}[1]{\def\@keywords{#1}} + +\newenvironment{acknowledgements}{\section*{Acknowledgements}}{} + +\AtBeginDocument{% + \providecommand\text[1]{ + \ClassError{quantumview}{To use the \string\text{} command please load the mathtools package}{} + } +} + +\PassOptionsToPackage{font={small,sf}}{caption} + +\AtEndPreamble{ + \RequirePackage{caption} +} + +\begingroup +\catcode`\$=\active +\protected\gdef$#1${\$\detokenize{#1}\$} +\endgroup + +\iftoggle{@html}{ + \AtBeginDocument{\catcode`\$=\active} +}{} + +\endinput +%% +%% End of file `quantumview.cls'. |