diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/achemso/achemso.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/achemso/achemso.cls | 138 |
1 files changed, 116 insertions, 22 deletions
diff --git a/Master/texmf-dist/tex/latex/achemso/achemso.cls b/Master/texmf-dist/tex/latex/achemso/achemso.cls index fa3b54ecfa5..49fac4214e3 100644 --- a/Master/texmf-dist/tex/latex/achemso/achemso.cls +++ b/Master/texmf-dist/tex/latex/achemso/achemso.cls @@ -16,7 +16,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesClass{achemso} - [2009/08/13 v3.2g Submission to ACS journals] + [2009/09/01 v3.3a Submission to ACS journals] \LoadClass[12pt,letter]{article} \newcommand*\acs@warning{\ClassWarning{achemso}} \newcommand*\acs@ifundefined[1]{% @@ -28,18 +28,65 @@ \fi } \RequirePackage{xkeyval} -\define@boolkey{acs}[acs@]{abbreviations}[true]{} -\define@boolkey{acs}[acs@]{biochem}[true]{} -\define@boolkey{acs}[acs@]{email}[true]{} -\define@boolkey{acs}[acs@]{keywords}[true]{} -\define@boolkey{acs}[acs@]{super}[true]{} -\define@boolkey{acs}[acs@]{usetitle}[true]{} +\newcommand*\acs@keyval@bool[2]{% + \acs@ifundefined{acs@#1#2}{% + \acs@warning{Unknown option `#2' for key #1}% + }{% + \@nameuse{acs@#1#2}% + }% +} +\newif\ifacs@abbreviations +\newif\ifacs@biochem +\newif\ifacs@email +\newif\ifacs@keywords +\newif\ifacs@super +\newif\ifacs@usetitle +\define@key{acs}{abbreviations}[true]{% + \acs@keyval@bool{abbreviations}{#1}% +} +\define@key{acs}{biochem}[true]{% + \acs@keyval@bool{biochem}{#1}% +} +\define@key{acs}{email}[true]{% + \acs@keyval@bool{email}{#1}% +} +\define@key{acs}{keywords}[true]{% + \acs@keyval@bool{keywords}{#1}% +} +\define@key{acs}{super}[true]{% + \acs@keyval@bool{super}{#1}% +} +\define@key{acs}{usetitle}[true]{% + \acs@keyval@bool{usetitle}{#1}% +} \newcommand*\acs@journal{jacsat} +\newcommand*\acs@layout{traditional} \newcommand*\acs@manuscript{article} \newcommand*\acs@maxauthors{15} -\define@cmdkey{acs}[acs@]{journal}{} -\define@cmdkey{acs}[acs@]{manuscript}{} -\define@cmdkey{acs}[acs@]{maxauthors}{} +\define@key{acs}{journal}{% + \def\acs@journal{#1}% +} +\define@key{acs}{layout}{% + \def\acs@layout{#1}% +} +\define@key{acs}{manuscript}{% + \def\acs@manuscript{#1}% +} +\define@key{acs}{maxauthors}{% + \def\acs@maxauthors{#1}% +} +\newif\ifacs@etal@truncate +\define@key{acs}{etalmode}{% + \acs@ifundefined{acs@etal@#1}{% + \acs@warning{% + Unknown value `#1' for\MessageBreak etalmode option% + }% + }{% + \@nameuse{acs@etal@#1}% + }% +} +\newcommand*\acs@etal@firstonly{\acs@etal@truncatefalse} +\newcommand*\acs@etal@truncate{\acs@etal@truncatetrue} \define@key{acs}{biochemistry}{% \setkeys{acs}{biochem = #1}% } @@ -191,10 +238,13 @@ \immediate\write\acs@bib@file{% @Control\string{% achemso-control,^^J% - \@tempa{ctrl-use-title}{% + \@tempa{ctrl-use-title\space\space\space\space}{% \ifacs@usetitle yes\else no\fi }% - \@tempa{ctrl-etal-number}{\acs@maxauthors}% + \@tempa{ctrl-etal-number\space\space}{\acs@maxauthors}% + \@tempa{ctrl-etal-truncate}{% + \ifacs@etal@truncate yes\else no\fi + }% \string}^^J% }% \immediate\write\@auxout{% @@ -217,6 +267,7 @@ abbreviations = false, biblabel = brackets, biochem = false, + etalmode = firstonly, keywords = false, maxauthors = 15, super = true, @@ -384,16 +435,49 @@ } \newcommand*\altaffiliation[1]{% \ifnum\acs@author@cnt>\z@\relax - \global\advance\acs@affil@alt@cnt\@ne\relax - \expandafter\gdef\csname @altaffil@\@roman\acs@author@cnt\endcsname - {#1}% - \expandafter\xdef\csname @author@altaffil@\@roman\acs@author@cnt - \endcsname{\the\acs@affil@alt@cnt}% + \begingroup + \acs@altaffil@ifdup{#1}{% + \expandafter\xdef\csname @author@altaffil@\@roman\acs@author@cnt + \endcsname{\the\@tempcnta}% + }{% + \global\advance\acs@affil@alt@cnt\@ne\relax + \expandafter\gdef\csname @altaffil@\@roman\acs@author@cnt + \endcsname{#1}% + \expandafter\xdef\csname @author@altaffil@\@roman\acs@author@cnt + \endcsname{\the\acs@affil@alt@cnt}% + }% + \endgroup \else \acs@warning{Affiliation with no author}% \fi } \@onlypreamble\altaffiliation +\newcommand*\acs@altaffil@ifdup[1]{% + \def\@tempa{#1}% + \@tempswafalse + \@tempcnta\z@\relax + \ifnum\acs@affil@alt@cnt>\z@\relax + \expandafter\acs@altaffil@ifdup@aux + \fi + \if@tempswa + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +\newcommand*\acs@altaffil@ifdup@aux{% + \advance\@tempcnta\@ne\relax + \expandafter\expandafter\expandafter\def\expandafter\expandafter + \expandafter\@tempb\expandafter\expandafter\expandafter + {\csname @altaffil@\@roman\@tempcnta\endcsname}% + \ifx\@tempa\@tempb + \expandafter\@tempswatrue + \else + \ifnum\@tempcnta<\acs@affil@alt@cnt\relax + \expandafter\expandafter\expandafter\acs@altaffil@ifdup@aux + \fi + \fi +} \newcommand*\email[1]{% \ifnum\acs@author@cnt>\z@\relax \expandafter\gdef\csname @email@\@roman\acs@author@cnt\endcsname @@ -518,7 +602,7 @@ \end{minipage} \end{center}% } -\newcommand\@maketitle@title@hook{} +\newcommand*\@maketitle@title@hook{} \newcommand*\acs@maketitle@suppinfo{% \ifx\acs@manuscript\acs@manuscript@suppinfo Supporting information for: @@ -558,7 +642,6 @@ \newcommand*\@thanks@hook{} \newcommand*\acs@author@list{% \@tempcnta\z@\relax - \@tempcntb\acs@affil@cnt\relax \ifnum\acs@author@cnt=\z@\relax\else \expandafter\acs@author@list@main \fi @@ -643,7 +726,7 @@ \ifnum\acs@affil@alt@cnt>\z@\relax \acs@affil@marker@cnt\@ne\relax \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax - \protected@edef\acs@author@footnotes{% + \protected@edef\acs@author@fnsymbol{% \acs@author@footnotes \acs@author@fnsymbol{\acs@affil@marker@cnt}% }% @@ -673,8 +756,9 @@ }% } \newcommand*\acs@author@affil@alt@aux{% - \advance\@tempcntb\@ne\relax - \acs@affil@marker@cnt\@tempcntb\relax + \expandafter\acs@affil@marker@cnt + \csname @author@altaffil@\@roman\@tempcnta\endcsname\relax + \advance\acs@affil@marker@cnt\acs@affil@cnt\relax \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax \protected@edef\acs@author@footnotes{% \acs@author@footnotes @@ -1230,6 +1314,16 @@ \setkeys{acs}{maxauthors = 0} \def\thepage{S\arabic{page}} \fi +\begingroup + \def\@tempa{twocolumn} + \ifx\acs@layout\@tempa + \aftergroup\acs@layout@shared + \fi + \def\@tempa{two-column} + \ifx\acs@layout\@tempa + \aftergroup\acs@layout@shared + \fi +\endgroup \ifacs@super \RequirePackage[sort&compress,numbers,super]{natbib} \else |