summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/achemso/achemso.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/achemso/achemso.cls')
-rw-r--r--Master/texmf-dist/tex/latex/achemso/achemso.cls138
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