diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/achemso/achemso.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/achemso/achemso.cls | 429 |
1 files changed, 429 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/achemso/achemso.cls b/Master/texmf-dist/tex/latex/achemso/achemso.cls new file mode 100644 index 00000000000..bf0b969beda --- /dev/null +++ b/Master/texmf-dist/tex/latex/achemso/achemso.cls @@ -0,0 +1,429 @@ +%% +%% This is file `achemso.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% achemso.dtx (with options: `class') +%% ---------------------------------------------------------------- +%% achemso --- Support for submissions to American Chemical +%% Society journals +%% Maintained by Joseph Wright +%% E-mail: joseph.wright@morningstar2.co.uk +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% +\NeedsTeXFormat{LaTeX2e} +\LoadClass[12pt]{article} +\RequirePackage[etex=false]{notes2bib}[2008/06/21] +\RequirePackage{achemso} +\ProvidesClass{achemso} + [\acs@ver Submissions to ACS journals] +\RequirePackage[T1]{fontenc} +\RequirePackage[scaled=0.90]{helvet} +\RequirePackage[margin=2.54cm]{geometry} +\RequirePackage{mathptmx,courier,setspace,graphicx,truncate,% + float,varioref} +\AtBeginDocument{\doublespacing} +\renewcommand*{\title}[2][]{% + \gdef\@title{#2}% + \gdef\acs@title{#2}% + \gdef\@shorttitle{#1}} +\@onlypreamble\title +\newcount\acs@authorcnt +\newcount\acs@affilcnt +\newcount\acs@altaffilcnt +\acs@affilcnt\@ne\relax +\acs@altaffilcnt\@ne\relax +\renewcommand*{\author}[1]{% + \global\advance\acs@authorcnt\@ne\relax + \expandafter\gdef + \csname @author@\@roman\the\acs@authorcnt\endcsname{#1}% + \begingroup + \advance\acs@affilcnt\@ne\relax + \expandafter\xdef + \csname @author@affil@\@roman\the\acs@authorcnt\endcsname + {\the\acs@affilcnt}% + \endgroup} +\@onlypreamble\author +\renewcommand*{\and}{% + \ClassError{achemso}{\string\and\space not supported} + {The achemso class does not use \string\and\MessageBreak + see the documentation for details}} +\renewcommand*{\thanks}[1]{% + \ClassError{achemso}{\string\thanks\space not supported} + {The achemso class does not use \string\thanks\MessageBreak + see the documentation for details}} +\newcommand*{\affiliation}[2][\relax]{% + \ifnum\acs@authorcnt>\z@\relax + \global\advance\acs@affilcnt\@ne + \begingroup + \expandafter\def + \csname @address@\@roman\acs@affilcnt\endcsname{#2}% + \acs@tempcnta\acs@affilcnt\relax + \acs@ifdupaffil + {\begingroup + \acs@tempcntb\@ne\relax + \acs@switchfalse + \edef\acs@tempa{% + \csname @address@\@roman\acs@tempcnta\endcsname}% + \acs@ifdup@affil + \acs@tempcnta\z@\relax + \edef\acs@tempa{\the\acs@affilcnt}% + \global\advance\acs@affilcnt\m@ne\relax + \acs@swapaffil + \endgroup} + {\expandafter\gdef + \csname @address@\@roman\acs@affilcnt\endcsname{#2}% + \ifx\relax#1\relax + \expandafter\gdef + \csname @affil@\@roman\acs@affilcnt\endcsname{#2}% + \else + \expandafter\gdef + \csname @affil@\@roman\acs@affilcnt\endcsname{#1}% + \fi} + \endgroup + \else + \ClassWarning{achemso} + {Affiliation with no author}% + \fi} +\@onlypreamble\affiliation +\newcommand*{\acs@swapaffil}{% + \advance\acs@tempcnta\@ne\relax + \ifnum\acs@tempcnta>\acs@authorcnt\relax\else + \edef\acs@tempb{% + \csname @author@affil@\@roman\acs@tempcnta\endcsname}% + \ifx\acs@tempa\acs@tempb + \expandafter\xdef + \csname @author@affil@\@roman\acs@tempcnta\endcsname{% + \the\acs@tempcntb}% + \fi + \acs@swapaffil + \fi} +\newcommand*{\altaffiliation}[1]{% + \ifnum\acs@authorcnt>\z@\relax + \global\advance\acs@altaffilcnt\@ne\relax + \expandafter\gdef + \csname @altaffil@\@roman\acs@authorcnt\endcsname{#1}% + \expandafter\xdef + \csname @author@altaffil@\@roman\acs@authorcnt\endcsname + {\the\acs@altaffilcnt} + \else + \ClassWarning{achemso} + {Affiliation with no author}% + \fi} +\@onlypreamble\altaffiliation +\newcommand*{\email}[1]{% + \ifnum\acs@authorcnt>\z@\relax + \expandafter\gdef + \csname @email@\@roman\acs@authorcnt\endcsname{#1}% + \else + \ClassWarning{achemso} + {E-mail with no author}% + \fi} +\@onlypreamble\email +\renewcommand*{\@maketitle}{% + \ifnum\acs@authorcnt<\z@\relax + \ClassError{achemso}{No authors defined} + {At least one author is required}% + \else + \newpage + \null + \vskip 2em% + \begin{center}% + {\LARGE\bfseries\sffamily + \renewcommand*{\acs@tempa}{suppinfo}% + \ifx\acs@manuscript\acs@tempa + Supporting information for: + \fi + \@title \par}% + \vskip 1.5em\relax + {\large\sffamily\frenchspacing \acs@authorlist}% + \vskip 1em% + {\itshape\acs@addresslist}% + \ifnum\acs@affilcnt>\tw@\relax + \acs@affilfoot + \else + \ifnum\acs@altaffilcnt>\@ne\relax + \acs@affilfoot + \fi + \fi + \vskip 1em\relax + {\sffamily E-mail: \acs@emaillist}% + \end{center} + \par + \vskip 1.5em\relax + \fi} +\newcommand*{\acs@authorlist}{% + \acs@tempcnta\z@\relax + \acs@tempcntc\z@\relax + \acs@author@list} +\newcommand*{\acs@author@list}{% + \advance\acs@tempcnta\@ne\relax + \ifnum\acs@tempcnta>\acs@authorcnt\relax\else + \ifnum\acs@tempcnta=\acs@authorcnt\relax + \ifnum\acs@tempcnta=\@ne\relax\else + and + \fi + \fi + \csname @author@\@roman\acs@tempcnta\endcsname + \ifnum\acs@tempcnta=\acs@authorcnt\relax\else + ,% + \fi + \begingroup + \@ifundefined{@email@\@roman\acs@tempcnta} + {\aftergroup\@firstoftwo} + {\aftergroup\@secondoftwo}% + \endgroup + {\def\acs@tempb{}} + {\protected@edef\acs@tempb{% + \acs@fnsymbol{\@ne}% + \ifnum\acs@affilcnt>\tw@\relax + ,% + \else + \ifnum\acs@altaffilcnt>\@ne\relax + ,% + \fi + \fi}}% + \ifnum\acs@affilcnt>\tw@\relax + \protected@edef\acs@tempb{\acs@tempb\@fnsymbol{% + \csname @author@affil@\@roman\acs@tempcnta + \endcsname}}% + \else + \ifnum\acs@altaffilcnt>\@ne\relax + \protected@edef\acs@tempb{\acs@tempb\@fnsymbol{% + \csname @author@affil@\@roman\acs@tempcnta + \endcsname}}% + \fi + \fi + \begingroup + \@ifundefined{@author@altaffil@\@roman\acs@tempcnta} + {\aftergroup\@gobble} + {\aftergroup\@firstofone}% + \endgroup + {\global\advance\acs@tempcntc\@ne\relax + \advance\acs@tempcntc\acs@affilcnt + \ifnum\acs@affilcnt>\@ne\relax + \protected@edef\acs@tempb{\acs@tempb,}% + \fi + \protected@edef\acs@tempb{% + \acs@tempb\@fnsymbol{\acs@tempcntc}}}% + \textsuperscript{\acs@tempb} + \acs@author@list + \fi} +\newcommand*{\acs@fnsymbol}[1]{% + \ensuremath{\ifcase#1\or *\or \dagger\or \ddagger\or + \mathsection\or \|\or \bot\or \#\or @\else + \ClassError{achemso}{Too many affiliations} + {There are no symbols left: complain to the package + author}\fi}} +\newcommand*{\acs@addresslist}{% + \ifnum\acs@affilcnt>\@ne\relax + \acs@tempcnta\@ne\relax + \acs@address@list + \else + \ClassError{achemso}{No affiliations} + {At least one affiliation is needed}% + \fi} +\newcommand*{\acs@address@list}{% + \advance\acs@tempcnta\@ne\relax + \ifnum\acs@tempcnta>\acs@affilcnt\relax\else + \acs@ifdupaffil + {} + {\ifnum\acs@tempcnta=\acs@affilcnt\relax + \ifnum\acs@affilcnt>\tw@\relax + and + \fi + \fi + \csname @address@\@roman\acs@tempcnta\endcsname + \ifnum\acs@tempcnta=\acs@affilcnt\relax\else + , + \fi}% + \acs@address@list + \fi} +\newcommand*{\acs@ifdupaffil}{% + \begingroup + \acs@tempcntb\@ne\relax + \acs@switchfalse + \edef\acs@tempa{% + \csname @address@\@roman\acs@tempcnta\endcsname}% + \acs@ifdup@affil + \expandafter\expandafter\expandafter\endgroup + \ifacs@switch + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\newcommand*{\acs@ifdup@affil}{% + \advance\acs@tempcntb\@ne\relax + \ifnum\acs@tempcntb=\acs@tempcnta\relax\else + \edef\acs@tempb{% + \csname @address@\@roman\acs@tempcntb\endcsname}% + \ifx\acs@tempa\acs@tempb + \expandafter\acs@switchtrue + \fi + \ifacs@switch\else + \expandafter\acs@ifdup@affil + \fi + \fi} +\newcommand*{\acs@affilfoot}{% + \acs@tempcnta\@ne\relax + \acs@tempcntb\@ne\relax + \acs@affil@foot + \acs@tempcnta\z@\relax + \acs@altaffil@foot} +\newcommand*{\acs@affil@foot}{% + \advance\acs@tempcnta\@ne\relax + \ifnum\acs@tempcnta>\acs@affilcnt\relax\else + \advance\acs@tempcntb\@ne\relax + \footnotetext[\acs@tempcntb] + {\csname @affil@\@roman\acs@tempcnta\endcsname}% + \acs@affil@foot + \fi} +\newcommand*{\acs@altaffil@foot}{% + \advance\acs@tempcnta\@ne\relax + \ifnum\acs@tempcnta>\acs@authorcnt\relax\else + \begingroup + \@ifundefined{@altaffil@\@roman\acs@tempcnta} + {\aftergroup\@gobble} + {\aftergroup\@firstofone}% + \endgroup + {\advance\acs@tempcntb\@ne\relax + \footnotetext[\acs@tempcntb] + {\csname @altaffil@\@roman\acs@tempcnta\endcsname}}% + \acs@altaffil@foot + \fi} +\newcommand*{\acs@emaillist}{% + \begingroup + \renewcommand*{\UrlFont}{\sf}% + \acs@tempcnta\z@\relax + \acs@tempcntb\z@\relax + \acs@email@list + \expandafter\endgroup\expandafter\acs@tempcntb\number + \acs@tempcntb\relax + \ifnum\acs@tempcntb=\z@\relax + \ClassError{achemso}{No e-mail given} + {At lest one author must have a contact e-mail}% + \fi} +\newcommand*{\acs@email@list}{% + \advance\acs@tempcnta\@ne\relax + \ifnum\acs@tempcnta>\acs@authorcnt\relax\else + \begingroup + \@ifundefined{@email@\@roman\acs@tempcnta} + {\aftergroup\@gobble} + {\aftergroup\@firstofone}% + \endgroup + {\advance\acs@tempcntb\@ne\relax + \ifnum\acs@tempcntb>\@ne\relax + ; + \fi + \expandafter\expandafter\expandafter\url\expandafter + \expandafter\expandafter{% + \csname @email@\@roman\acs@tempcnta\endcsname}}% + \acs@email@list + \fi} +\g@addto@macro{\document}{\maketitle} +\newfloat{scheme}{htbp}{los} +\floatname{scheme}{Scheme} +\newfloat{chart}{htbp}{loc} +\floatname{chart}{Chart} +\newfloat{graph}{htbp}{loh} +\floatname{chart}{Graph} +\newcommand*{\schemename}{Scheme} +\newcommand*{\chartname}{Chart} +\newcommand*{\graphname}{Graph} +\floatplacement{table}{htbp} +\floatplacement{figure}{htbp} +\floatstyle{plaintop} +\restylefloat{table} +\let\acs@floatboxreset\@floatboxreset +\renewcommand*{\@floatboxreset}{\centering\acs@floatboxreset} +\labelformat{scheme}{\schemename~#1} +\labelformat{chart}{\chartname~#1} +\labelformat{graph}{\graphname~#1} +\labelformat{figure}{\figurename~#1} +\labelformat{table}{\tablename~#1} +\newcommand*{\ps@achemso}{% + \renewcommand*{\@oddfoot}{\reset@font\hfil\thepage\hfil}% + \let\@evenfoot\@oddfoot + \renewcommand*{\@oddhead}{% + \reset@font + \@author@i + \ifnum\acs@authorcnt>\@ne\relax + \space et al.% + \fi + \hfil\relax + \ifx\@empty\@shorttitle\@empty + \setbox\z@\hbox{\acs@title}% + \ifdim\wd\z@>0.45\textwidth\relax + \truncate{0.45\textwidth}{\acs@title}% + \else + \acs@title + \fi + \else + \@shorttitle + \fi}% + \let\@evenhead\@oddhead} +\pagestyle{achemso} +\let\acs@startsection\@startsection +\renewcommand*{\@startsection}[6]{% + \if@noskipsec \leavevmode \fi + \par + \@tempskipa #4\relax + \@afterindenttrue + \ifdim\@tempskipa<\z@\relax + \@tempskipa -\@tempskipa \@afterindentfalse + \fi + \if@nobreak + \everypar{}% + \else + \addpenalty\@secpenalty\addvspace\@tempskipa + \fi + \@ifstar + {\@ssect{#3}{#4}{#5}{#6}} + {\@ssect{#3}{#4}{#5}{#6}}} +\newcommand*{\acs@restsecnums}{% + \let\@startsection\acs@startsection} +\let\acs@subsection\subsection +\let\acs@section\section +\newcommand*{\acs@killsecs}{% + \newcommand*{\acs@gobblesection}{% + \ClassWarning{achemso} + {Sections not allowed for this manuscript type}% + \@ifstar{\@gobble}{\@gobble}} + \let\section\acs@gobblesection + \let\subsection\acs@gobblesection + \let\subsubsection\acs@gobblesection + \AtBeginDocument{ + \renewcommand*{\bibsection}{\acs@section*{\refname}}}} +\newcommand*{\acknowledgement}{% + \acs@subsection*{Acknowledgement}} +\newcommand*{\suppinfo}{% + \acs@subsection*{Supporting Information Available}} +\renewcommand*{\refname}{% + \ifnum\the\value{bibnote}>\z@\relax + Notes and + \fi References} +\RequirePackage{url} +\@ifundefined{acs@manuscript} + {\newcommand*{\acs@manuscript}{article}}{} +\edef\acs@tempa{note} +\ifx\acs@manuscript\acs@tempa + \acs@killsecs +\fi +\edef\acs@tempa{review} +\ifx\acs@manuscript\acs@tempa + \acs@restsecnums +\fi +\edef\acs@tempa{suppinfo} +\ifx\acs@manuscript\acs@tempa + \acs@restsecnums + \acs@setkeys{maxauthors=0} +\fi +\if@filesw + \acs@writebib +\fi +\endinput +%% +%% End of file `achemso.cls'. |