%% %% This is file `chemstyle.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% chemstyle.dtx (with options: `package') %% ---------------------------------------------------------------- %% The chemstyle bundle --- Schemes and style for chemistry %% 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} \def\cst@id$#1: #2.#3 #4 #5-#6-#7 #8 #9${% \def\cst@ver{#5/#6/#7\space v1.3b\space}} \cst@id $Id: chemstyle.dtx 46 2008-07-23 11:29:06Z joseph $ \ProvidesPackage{chemstyle} [\cst@ver Writing chemistry with style] \RequirePackage{xkeyval}[2005/05/07] \RequirePackage{graphicx,varioref,caption,xspace} \newcommand*{\cst@tempa}{} \newcommand*{\cst@tempb}{} \newcommand*{\cst@boolkey}[1]{ \define@boolkey[cst]{opt}[cst@]{#1}[true]{}} \cst@boolkey{chemcompounds} \cst@boolkey{floatrow} \cst@boolkey{xspace} \cst@boolkey{phrases} \cst@boolkey{radprefix} \cst@boolkey{rademph} \cst@boolkey{radsuper} \cst@boolkey{radhyphen} \cst@boolkey{abbremph} \cst@boolkey{abbrcomma} \cst@boolkey{notesbefore} \newif\ifcst@notes \newif\ifcst@autonotes \define@choicekey*[cst]{opt}{notes}[\cst@tempa] {true,false,auto}[true] {\cst@notesfalse \cst@autonotesfalse \edef\cst@tempb{auto} \ifx\cst@tempa\cst@tempb \cst@notestrue \cst@autonotestrue \fi \edef\cst@tempb{true} \ifx\cst@tempa\cst@tempb \cst@notestrue \fi} \DeclareOptionX[cst]{siunits} {\PackageInfo{chemstyle}{Option siunits no longer required}} \DeclareOptionX[cst]{SIunits} {\PackageInfo{chemstyle}{Option siunits no longer required}} \DeclareOptionX[cst]{nonotes} {\ExecuteOptionsX[cst]{notes=false}} \DeclareOptionX[cst]{nophrases} {\ExecuteOptionsX[cst]{phrases=false}} \define@cmdkeys[cst]{opt}[cst@]{journal,language} \DeclareOptionX*{\edef\cst@journal{\CurrentOption}} \setkeys[cst]{opt}{ notes=true, phrases=true, chemcompounds=true, xspace=true, floatrow=true, journal=none, radprefix=true, rademph=true, radsuper=false, radhyphen=true, abbremph=true, abbrcomma=false, language=english, notesbefore=true} \ProcessOptionsX[cst] \ifcst@chemcompounds \PassOptionsToPackage{chemcompounds}{chemscheme} \fi \ifcst@floatrow \RequirePackage[floats=floatrow]{chemscheme} \else \RequirePackage[floats=float]{chemscheme} \fi \newcommand*{\cst@disablekey}[1]{ \define@key[cst]{opt}{#1}{\PackageWarning{chemstyle} {Option `#1' only valid when loading package}}} \AtBeginDocument{ \cst@disablekey{floatrow} \cst@disablekey{journal} \cst@disablekey{phrases} \cst@disablekey{nophrases} \cst@disablekey{notes} \cst@disablekey{nonotes} \cst@disablekey{chemcompounds}} \newcommand*{\cstsetup}[1]{% \iffalse{\fi\ifnum0=`}\fi \setkeys[cst]{opt}{#1}% \ifnum0=`{\fi\iffalse}\fi} \@ifpackageloaded{siunitx} {\requiresiconfigs{synchem}} {\@ifpackageloaded{SIunits} {\newcommand*{\cubiccentimeter}{\centi\metre\cubed} \newcommand*{\Molar}{\textsc{m}} \newcommand*{\molar}{\mole\usk\deci\metre\rpcubed} \newcommand*{\mmHg}{\milli\metre Hg} \newcommand*{\mol}{\mole} \newcommand*{\cmc}{\cubiccentimeter} \newcommand*{\Hz}{\hertz}} {\@ifpackageloaded{unitsdef} {\newunit{\cubiccentimeter}{% \cm\unitsuperscript{3}} \newunit{\Molar}{\textsc{m}} \newunit{\molar}{% \mole\unitsep\dm\unitsuperscript{--3}} \newunit{\mmHg}{mmHg} \newunit{\mol}{\mole} \newcommand*{\cmc}{\cubiccentimeter} \newcommand*{\Hz}{\hertz}} {\RequirePackage[alsoload=synchem]{siunitx}}}} \providecommand*{\standardstate}{% {\ensuremath{\protect\cst@sstate}}} \newcommand*{\cst@sstate}{\mathpalette\cst@s@state\circ} \newcommand*{\cst@s@state}[2]{% \ooalign{\hfil$#1-$\hfil\cr\hfil$#1#2$\hfil\cr}} \newcommand*{\cst@radical}[2]{% \expandafter\DeclareRobustCommand\expandafter*\expandafter{% \csname #1#2\endcsname}{% \ifcst@radhyphen \def\cst@hyphen{-}% \else \let\cst@hyphen\relax \fi \ifcst@radsuper \let\cst@super\textsuperscript \else \let\cst@super\relax \fi \ifcst@rademph \let\cst@emph\emph \else \let\cst@emph\relax \fi \ifcst@radprefix \cst@super{\cst@emph{#1}}\cst@hyphen#2% \else #2\cst@hyphen\cst@super{\cst@emph{#1}}% \fi \cst@xspace}} \newcommand*{\cst@xspace}{% \ifcst@xspace \expandafter\xspace% \fi} \cst@radical{n}{Pr}% \cst@radical{i}{Pr}% \cst@radical{n}{Bu}% \cst@radical{i}{Bu}% \cst@radical{s}{Bu}% \cst@radical{t}{Bu}% \floatstyle{plaintop} \restylefloat{table} \floatstyle{plain} \restylefloat{figure} \floatplacement{table}{htbp} \floatplacement{figure}{htbp} \AtBeginDocument{ \restylefloat{scheme} \floatplacement{scheme}{htbp}} \floatcontentscentre \labelformat{figure}{\figurename~#1} \labelformat{table}{\tablename~#1} \AtBeginDocument{\labelformat{scheme}{\schemename~#1}} \newcommand*{\cst@latin}{% \ifcst@abbremph \expandafter\emph% \fi} \newcommand*{\latinemphon}{\cstsetup{abbremph=true}} \newcommand*{\latinemphoff}{\cstsetup{abbremph=false}} \AtBeginDocument{\providecommand*\latin{\cst@latin}} \ifcst@phrases \AtBeginDocument{ \providecommand*{\etc} {\@ifnextchar.{\cst@etc}{\cst@etc.\cst@xspace}} \providecommand*{\invacuo} {\latin{in vacuo}\cst@xspace} \providecommand*{\etal} {\@ifnextchar.{\cst@etal}{\cst@etal.\cst@xspace}} \providecommand*{\eg} {\ifcst@abbrcomma \expandafter\cst@commaabbr% \else \expandafter\cst@nocommaabbr% \fi {eg}} \providecommand*{\ie} {\ifcst@abbrcomma \expandafter\cst@commaabbr% \else \expandafter\cst@nocommaabbr% \fi {ie}}} \newcommand*{\cst@etal}{\latin{et~al}} \newcommand*{\cst@etc}{\latin{etc}} \newcommand*{\cst@ie}{\latin{i.e\spacefactor999\relax}} \newcommand*{\cst@eg}{\latin{e.g\spacefactor999\relax}} \newcommand*{\cst@commaabbr}[1]{% \csname cst@#1\endcsname% \cst@addpunct} \newcommand*{\cst@nocommaabbr}[1]{% \@ifnextchar.% {\csname cst@#1\endcsname} {\csname cst@#1\endcsname.\cst@xspace}} \newcommand*{\cst@addpunct}{% \cst@add@punct\relax} \newcommand*{\cst@add@punct}[1]{% \futurelet\cst@tempa\cst@add@punct@} \newcommand*{\cst@add@punct@}{% \ifx.\cst@tempa \let\cst@tempb\cst@add@punct \else \ifx,\cst@tempa \let\cst@tempb\cst@add@punct \else \let\cst@tempb\cst@commapunct \fi \fi \cst@tempb} \newcommand*{\cst@commapunct}{.,\cst@xspace} \InputIfFileExists{\cst@journal.jdf} {\PackageInfo{chemstyle} {Loaded \cst@journal.jdf}} {\PackageWarning{chemstyle} {Requested style `\cst@journal' does not exist\MessageBreak Loading default style} \InputIfFileExists{none.jdf}{} {\PackageError{chemstyle}{Failed to load none.jdf} {The default journal definition file was not found\MessageBreak This is a core part of chemstyle\MessageBreak Something is wrong with the installation}}} \begingroup \@ifundefined{chapter} {\@ifundefined{refname} {\PackageInfo{chemstyle} {No bibliography name command found} \cstsetup{notes=false}} {\gdef\cst@refsec{\refname}}} {\gdef\cst@refsec{\bibname}} \endgroup \ifcst@autonotes \AtBeginDocument{ \@ifpackageloaded{notes2bib}{} {\newcounter{bibnote}}} \fi \newcommand*{\cst@refname}{% \ifcst@notes \ifcst@autonotes \ifnum\the\value{bibnote}>\z@ \expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\cst@ref@name \else \expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\cst@ref@name@ \fi \else \expandafter\expandafter\expandafter\cst@ref@name \fi \else \expandafter\cst@ref@name@% \fi} \newcommand*{\cst@ref@name}[3]{% \ifcst@notesbefore #3\space#2\space#1% \else #1\space#2\space#3% \fi} \newcommand*{\cst@ref@name@}[3]{#1} \@ifundefined{cst@refsec} {\let\cst@setrefname\@gobblefour} {\newcommand*{\cst@setrefname}[4]{ \edef\cst@tempa{#1}% \ifx\cst@tempa\cst@language \expandafter\renewcommand\expandafter*\expandafter{% \cst@refsec} {\cst@refname{#2}{#3}{#4}} \fi \AtBeginDocument{ \@ifpackageloaded{biblatex} {\def\cst@tempa{\csgappto{bib@strings@#1}} \expandafter\cst@tempa\expandafter{\expandafter \renewcommand\expandafter*\expandafter{% \cst@refsec}{% \cst@refname{#2}{#3}{#4}}}} {\@ifpackageloaded{babel} {\def\cst@tempa{\expandafter\addto\expandafter{% \csname captions#1\endcsname}} \expandafter\cst@tempa\expandafter {\expandafter\renewcommand\expandafter*% \expandafter{\cst@refsec}{% \cst@refname{#2}{#3}{#4}}} \expandafter\selectlanguage\expandafter{% \languagename}} {}}}}} \cst@setrefname{english}{References}{and}{Notes} \cst@setrefname{UKenglish}{References}{and}{Notes} \cst@setrefname{ngerman}{Literatur}{und}{Notizen} \cst@setrefname{german}{Literatur}{und}{Notizen} \cst@setrefname{french}{R\'ef\'erences}{et}{Notes} \cst@setrefname{frenchb}{R\'ef\'erences}{et}{Notes} \endinput %% %% End of file `chemstyle.sty'.