diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/chemstyle |
Initial commit
Diffstat (limited to 'macros/latex/contrib/chemstyle')
-rw-r--r-- | macros/latex/contrib/chemstyle/README | 45 | ||||
-rw-r--r-- | macros/latex/contrib/chemstyle/chemscheme.cdx | bin | 0 -> 6093 bytes | |||
-rw-r--r-- | macros/latex/contrib/chemstyle/chemstyle.dtx | 3321 | ||||
-rw-r--r-- | macros/latex/contrib/chemstyle/chemstyle.ins | 91 | ||||
-rw-r--r-- | macros/latex/contrib/chemstyle/chemstyle.pdf | bin | 0 -> 274334 bytes |
5 files changed, 3457 insertions, 0 deletions
diff --git a/macros/latex/contrib/chemstyle/README b/macros/latex/contrib/chemstyle/README new file mode 100644 index 0000000000..b665985858 --- /dev/null +++ b/macros/latex/contrib/chemstyle/README @@ -0,0 +1,45 @@ +The chemstyle bundle - Schemes and style for chemistry +====================================================== + +The `chemstyle` bundle provides two packages: `chemstyle` and +`chemscheme`. Both are intended to help chemists create floating +graphics and match published styles. + +The `chemscheme` package consists of two parts, both related to +chemical schemes. The package adds a `scheme` float type to the +LaTeX default types figure and table. The `scheme` float type +acts in the same way as those defined by the LaTeX kernel, but +is intended for chemical schemes. The package also provides a +method for adding automatic chemical numbering to schemes. + +The `chemstyle` package provides a "one-stop shop" for setting up +formatting of LaTeX documents following the editorial policies +of various chemical journals. It provides a number of handy +chemistry-related commands, and loads several support packages +to aid the chemist. + +Installation +------------ + +The package is supplied in `.dtx` format and as a pre-extracted +`.zip` file, `chemstyle.tds.zip`. The later is most convenient +for most users: simply unzip this in your local `texmf` +directory. If you want to unpack the `.dtx` yourself, running +`tex chemstyle.dtx` will extract the package whereas `latex +chemstyle.dtx` will extract it and also typeset the +documentation. + +Typesetting the documentation requires a number of packages in +addition to those needed to use the package. This is mainly +because of the number of demonstration items included in the +text. To compile the documentation without error, you will +need the packages: + - `booktabs` + - `csquotes` + - `helvet` + - `mathpazo` + - `mhchem` + - `microtype` + - `listings` + - `lmodern` + diff --git a/macros/latex/contrib/chemstyle/chemscheme.cdx b/macros/latex/contrib/chemstyle/chemscheme.cdx Binary files differnew file mode 100644 index 0000000000..801f3037d6 --- /dev/null +++ b/macros/latex/contrib/chemstyle/chemscheme.cdx diff --git a/macros/latex/contrib/chemstyle/chemstyle.dtx b/macros/latex/contrib/chemstyle/chemstyle.dtx new file mode 100644 index 0000000000..db67d49a9c --- /dev/null +++ b/macros/latex/contrib/chemstyle/chemstyle.dtx @@ -0,0 +1,3321 @@ +% \iffalse meta-comment +%<*internal> +\iffalse +%</internal> +%<*readme> +The chemstyle bundle - Schemes and style for chemistry +====================================================== + +The `chemstyle` bundle provides two packages: `chemstyle` and +`chemscheme`. Both are intended to help chemists create floating +graphics and match published styles. + +The `chemscheme` package consists of two parts, both related to +chemical schemes. The package adds a `scheme` float type to the +LaTeX default types figure and table. The `scheme` float type +acts in the same way as those defined by the LaTeX kernel, but +is intended for chemical schemes. The package also provides a +method for adding automatic chemical numbering to schemes. + +The `chemstyle` package provides a "one-stop shop" for setting up +formatting of LaTeX documents following the editorial policies +of various chemical journals. It provides a number of handy +chemistry-related commands, and loads several support packages +to aid the chemist. + +Installation +------------ + +The package is supplied in `.dtx` format and as a pre-extracted +`.zip` file, `chemstyle.tds.zip`. The later is most convenient +for most users: simply unzip this in your local `texmf` +directory. If you want to unpack the `.dtx` yourself, running +`tex chemstyle.dtx` will extract the package whereas `latex +chemstyle.dtx` will extract it and also typeset the +documentation. + +Typesetting the documentation requires a number of packages in +addition to those needed to use the package. This is mainly +because of the number of demonstration items included in the +text. To compile the documentation without error, you will +need the packages: + - `booktabs` + - `csquotes` + - `helvet` + - `mathpazo` + - `mhchem` + - `microtype` + - `listings` + - `lmodern` +%</readme> +%<*internal> +\fi +\def\nameofplainTeX{plain} +\ifx\fmtname\nameofplainTeX\else + \expandafter\begingroup +\fi +%</internal> +%<*install> +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +---------------------------------------------------------------- +The chemstyle bundle --- Schemes and style for chemistry +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 +---------------------------------------------------------------- + +\endpreamble +\postamble + +Copyright (C) 2006-2011,2013 by + Joseph Wright <joseph.wright@morningstar2.co.uk> + +It may be distributed and/or modified under the conditions of +the LaTeX Project Public License (LPPL), either version 1.3c of +this license or (at your option) any later version. The latest +version of this license is in the file: + + http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by + Joseph Wright. + +This work consists of the file chemstyle.dtx and + chemstyle.cdx, + and the derived files chemstyle.pdf, + chemstyle.ins, + chemstyle.sty, + chemscheme.sty, + and a number of .cfg files. + +\endpostamble +\usedir{tex/latex/chemstyle} +\generate{ + \file{chemstyle.sty}{\from{chemstyle.dtx}{package}} + \file{chemscheme.sty}{\from{chemstyle.dtx}{chemscheme}} +} +\usedir{tex/latex/chemstyle/config} +\generate{ + \file{angew.chemstyle.cfg}{\from{chemstyle.dtx}{angew}} + \file{ic.chemstyle.cfg}{\from{chemstyle.dtx}{ic}} + \file{jacs.chemstyle.cfg}{\from{chemstyle.dtx}{jacs}} + \file{jomc.chemstyle.cfg}{\from{chemstyle.dtx}{jomc}} + \file{rsc.chemstyle.cfg}{\from{chemstyle.dtx}{rsc}} + \file{orglett.chemstyle.cfg}{\from{chemstyle.dtx}{orglett}} + \file{tetlett.chemstyle.cfg}{\from{chemstyle.dtx}{tetlett}} +} +%</install> +%<install>\endbatchfile +%<*internal> +\usedir{source/latex/chemstyle} +\generate{ + \file{chemstyle.ins}{\from{chemstyle.dtx}{install}} +} +\nopreamble\nopostamble +\usedir{doc/latex/chemstyle} +\generate{ + \file{README.txt}{\from{chemstyle.dtx}{readme}} + \file{chemstyle-demo.tex}{\from{chemstyle.dtx}{demo}} + \file{scheme-one.eps}{\from{chemstyle.dtx}{scheme}} + \file{scheme-two.eps}{\from{chemstyle.dtx}{scheme,labels}} +} +\ifx\fmtname\nameofplainTeX + \expandafter\endbatchfile +\else + \expandafter\endgroup +\fi +%</internal> +%<*package|chemscheme> +\NeedsTeXFormat{LaTeX2e} +%</package|chemscheme> +%<*driver> +\documentclass[a4paper]{ltxdoc} +\usepackage[T1]{fontenc} +\usepackage{array,booktabs,chemstyle,csquotes,lmodern} +\usepackage[scaled=0.95]{helvet} +\usepackage[final]{listings,microtype} +\usepackage[osf]{mathpazo} +\usepackage[version=3]{mhchem} +\IfFileExists{auto-pst-pdf.sty}{ + \usepackage[crop=off,ext=dtx,final,runs=2]{auto-pst-pdf} +}{ + \PackageWarning{chemstyle}{% + No auto-pst-pdf found:\MessageBreak + Compile documentation with latex \MessageBreak + (and not pdflatex)% + } +} +\usepackage[numbered]{hypdoc} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{chemstyle.dtx} +\end{document} +%</driver> +% \fi +% +%\CheckSum{0} +% +%\GetFileInfo{chemstyle.sty} +% +%\makeatletter +% +%^^A \DescribeOption is in l3doc but not ltxdoc +%\newcommand*{\DescribeOption}{^^A +% \leavevmode +% \@bsphack +% \begingroup +% \MakePrivateLetters +% \Describe@Option +%} +%\newcommand*{\Describe@Option}[1]{^^A +% \endgroup +% \marginpar{^^A +% \raggedleft +% \PrintDescribeEnv{#1}^^A +% }% +% \SpecialOptionIndex{#1}^^A +% \@esphack +% \ignorespaces +%} +%\newcommand*{\SpecialOptionIndex}[1]{^^A +% \@bsphack +% \index{^^A +% #1\actualchar{\protect\ttfamily#1} (option)\encapchar usage^^A +% }^^A +% \index{^^A +% options:\levelchar#1\actualchar{\protect\ttfamily#1} +% \encapchar usage^^A +% }^^A +% \@esphack +%} +% +%^^A For creating examples with nice highlighting of code, and so +%^^A on; based on the system used in the listings source (lstsample). +%\lst@RequireAspects{writefile} +%\newsavebox{\LaTeXdemo@box} +%\lstnewenvironment{LaTeXdemo}[1][code and example]{^^A +% \global\let\lst@intname\@empty +% \expandafter\let\expandafter\LaTeXdemo@end +% \csname LaTeXdemo@#1@end\endcsname +% \@nameuse{LaTeXdemo@#1}^^A +%}{^^A +% \LaTeXdemo@end +%} +%\newcommand*\LaTeXdemo@new[3]{^^A +% \expandafter\newcommand\expandafter*\expandafter +% {\csname LaTeXdemo@#1\endcsname}{#2}^^A +% \expandafter\newcommand\expandafter*\expandafter +% {\csname LaTeXdemo@#1@end\endcsname}{#3}^^A +%} +%\newcommand*\LaTeXdemo@common{^^A +% \setkeys{lst}{ +% basicstyle = \small\ttfamily, +% basewidth = 0.51em, +% gobble = 3, +% keywordstyle = \color{blue}, +% language = [LaTeX]{TeX}, +% moretexcs = { +% ce, +% cmc, +% cstsetup, +% etc, +% eg, +% etal, +% floatcontentscenter, +% floatcontentscentre, +% floatcontentsleft, +% floatcontentsright, +% floatsetup, +% floatstyle, +% Hz, +% ie, +% iBu, +% iPr, +% includegraphics, +% invacuo, +% latin, +% mmHg, +% molar, +% Molar, +% nBu, +% nPr, +% restylefloat, +% sBu, +% standardstate, +% tBu +% } +% }^^A +%} +%\newcommand*\LaTeXdemo@input{^^A +% \MakePercentComment +% \catcode`\^^M=10\relax +% \small +% \begingroup +% \setkeys{lst}{ +% SelectCharTable=\lst@ReplaceInput{\^\^I}{\lst@ProcessTabulator} +% }^^A +% \leavevmode +% \input{chemstyle.tmp}^^A +% \endgroup +% \MakePercentIgnore +%} +%\LaTeXdemo@new{code and example}{^^A +% \setbox\LaTeXdemo@box=\hbox\bgroup +% \lst@BeginAlsoWriteFile{chemstyle.tmp}^^A +% \LaTeXdemo@common +%}{^^A +% \lst@EndWriteFile +% \egroup +% \begin{center} +% \ifdim\wd\LaTeXdemo@box>0.48\linewidth\relax +% \hbox to\linewidth{\box\LaTeXdemo@box\hss}^^A +% \begin{minipage}{\linewidth} +% \LaTeXdemo@input +% \end{minipage} +% \else +% \begin{minipage}{0.48\linewidth} +% \LaTeXdemo@input +% \end{minipage} +% \hfill +% \begin{minipage}{0.48\linewidth} +% \hbox to\linewidth{\box\LaTeXdemo@box\hss}^^A +% \end{minipage} +% \fi +% \end{center} +%} +%\LaTeXdemo@new{code and float}{^^A +% \lst@BeginAlsoWriteFile{chemstyle.tmp}^^A +% \LaTeXdemo@common +%}{^^A +% \lst@EndWriteFile +% \LaTeXdemo@input +%} +%\LaTeXdemo@new{code only}{^^A +% \LaTeXdemo@common +%}{^^A +%} +% +%\providecommand*\eTeX{\ensuremath{\varepsilon}-\TeX} +%\providecommand*\file{\texttt} +%\providecommand*\opt{\texttt} +%\providecommand*\pkg{\textsf} +% +%\DoNotIndex{\begin,\documentclass,\end,\usepackage} +% +%\makeatother +% +%\title{^^A +% The \textsf{chemstyle} bundle --- Schemes and style for +% chemistry\thanks{^^A +% This file describes version \fileversion, last revised +% \filedate.^^A +% }^^A +%} +%\author{^^A +% Joseph Wright\thanks{E-mail: joseph.wright@morningstar2.co.uk}^^A +%} +%\date{Released \filedate} +% +%\maketitle +% +%\changes{v1.0}{2006/08/06}{Initial release of package} +%\changes{v2.0f}{2010/01/30}{Detect use of \pkg{achemso} class and +% abort loading of \pkg{chemstyle} and \pkg{chemscheme}} +% +%\begin{abstract} +% The \textsf{chemstyle} bundle provides two packages: +% \textsf{chemstyle} and \textsf{chemscheme}. Both are intended to +% help chemists create floating graphics and match published styles. +% +% The \textsf{chemscheme} package consists of two parts, both related +% to chemical schemes. The package adds a scheme float type to the +% \LaTeX\ default types figure and table. The scheme float type acts in +% the same way as those defined by the \LaTeX\ kernel, but is intended +% for chemical schemes. The package also provides a method for adding +% automatic chemical numbering to schemes. +% +% The \textsf{chemstyle} package provides a \enquote{one-stop shop} for +% setting up formatting of \LaTeX\ documents following the editorial +% policies of various chemical journals. It provides a number of handy +% chemistry-related commands, and loads several support packages to aid +% the chemist. +%\end{abstract} +% +%\begin{multicols}{2} +% \tableofcontents +%\end{multicols} +% +%\section{Introduction} +% +% The \pkg{chemstyle} bundle consists of two parts. The first, +% the \pkg{chemstyle} package itself, aims to provide an easy and +% reliable method to set up various document parameters (such as +% caption formatting), simply by specifying the model journal. The +% package has also been designed to allow rapid addition of new journal +% styles. Each style definition is a separate file, and new styles can +% be added very readily. The formatting system provided by +% \pkg{chemstyle} are intended for writing a variety of documents. +% Thus, the stylistic changes made by the package do not seek to +% reproduce the appearance of printed journal articles. The package +% aims to be suitable for use in preparing drafts of papers, but also +% for writing reports, theses and so on. +% +% The second part of the bundle is the \pkg{chemscheme} package, which +% is loaded automatically by \pkg{chemstyle}. \pkg{chemscheme} +% undertakes two tasks. First, it provides a floating \texttt{scheme} +% environment, which acts in the same way as the kernel \texttt{figure} +% and \texttt{table} floats. Secondly, it interfaces with either the +% \pkg{chemcompounds} or \pkg{bpchem} packages to allow automatic +% numbering of chemical compounds inside graphics. +% +% This manual is written to cover both packages. All of the material +% is relevant to users of the \pkg{chemstyle} package. For those only +% using \pkg{chemscheme}, +% +%\section{Installation} +% +% The entire bundle is supplied with the TDS-ready ZIP file, +% \file{chemstyle.tds.zip}. Simply unzip this into your local texmf +% tree and run your hash program: \texttt{texhash} should work with +% recent versions of either \TeX\ Live or MiK\TeX. +% +% To extract the bundle of files from \file{chemstyle.dtx}, run +% (pdf)\TeX\ on \file{chemstyle.dtx}. This will produce all of the +% package files, and also \file{README.txt}. To extract the +% files and build the documentation, run (pdf)\LaTeX\ on +% \texttt{chemstyle.dtx}: you will need to enable \enquote{write18} if +% you compile in PDF mode. +% +%\section{Requirements} +% +% The \pkg{chemstyle} class requires the following packages: +%\begin{itemize} +% \item \pkg{amstext} (part of the AMS bundle); +% \item \pkg{caption}; +% \item either \pkg{float} or \pkg{floatrow}; +% \item \pkg{kvoptions} (part of the \pkg{oberdiek} bundle); +% \item either \pkg{siunitx} or \pkg{SIunits} (otherwise no +% units are defined); +% \item \pkg{psfrag}; +% \item \pkg{varioref} (part of the standard \pkg{tools} bundle): +% only loaded if not turned off; +% \item \pkg{xspace} (part of the standard \pkg{tools} bundle). +%\end{itemize} +% These are normally present in the current major \TeX\ distributions, +% but are also available from \href{http://www.ctan.org}{The +% Comprehensive TeX Archive Network}. +% +%\DescribeOption{varioref} +%\changes{v2.0a}{2009/08/23}{New \opt{varioref} option} +% The option \opt{varioref} can be used to determine whether +% \pkg{chemstyle} loads the \pkg{varioref} package. For example, +% users of \pkg{cleveref} will want to turn off loading of +% \pkg{varioref} using: +%\begin{LaTeXdemo}[code only] +% \usepackage[varioref=false]{chemstyle} +%\end{LaTeXdemo} +% Users loading \pkg{hyperref} should note that if you want to use +% \cs{autoref} then you should disable loading of \pkg{varioref}, to +% avoid double labelling of float names! +% +%\section{The \pkg{chemstyle} package: tools for chemistry} +% +% The package recognises a number of key--value options when loading. +% Some of these are also available in the document body, and are +% described along with the relevant commands. Options which apply to +% \pkg{chemscheme} can be given when loading \pkg{chemstyle} and will +% be applied correctly. +% +%\DescribeOption{journal} +% \pkg{chemstyle} is supplied with a number of configuration files, +% based on the styles adopted by a number of chemistry journals +% (\ref{styles}). A style can be chosen by loading the package with +% the \opt{journal=\meta{style}} key. +%\begin{table} +% \begin{tabular}{ll} +% \toprule +% Option & Journals using this style \\ +% \midrule +% angew & \emph{Angew.\ Chem.}, \emph{Chem.\ Eur.\ J.} \\ +% jomc & \emph{J.\ Organomet.\ Chem.}, +% \emph{Coord.\ Chem.\ Rev.} \\ +% ic & \emph{Inorg.\ Chem.} \\ +% jacs & \emph{J.\ Am.\ Chem.\ Soc.} \\ +% jcp & \emph{J.\ Phys.\ Chem.\ A}, \emph{J.\ Phys.\ Chem.\ B} \\ +% orglett & \emph{Org.~Lett.}\\ +% rsc & \emph{Chem.\ Commun.}, \emph{Org.\ Biomol.\ Chem.} \\ +% & \emph{Dalton Trans.} \\ +% tetlett & \emph{Tetrahedron}, \emph{Tetrahedron Lett.} \\ +% \bottomrule +% \end{tabular} +% \caption{Styles provided by \pkg{chemstyle}} +% \label{styles} +%\end{table} +% +%\DescribeMacro{\cstsetup} +% Many of the package options can be altered anywhere in the document, +% using the \cs{cstsetup} macro. This accepts a \pkg{keyval} list and +% processes it as needed. +% +%\section{Naming of the references section} +% +% \pkg{chemstyle} alters the naming of the references section of a +% document. By default, \pkg{chemstyle} alters the value of \cs{bibname} +% or \cs{refname} (as appropriate) to the form of words chosen by the +% target journal for the \enquote{References} section. +% +% The \enquote{\refname} naming commands are language-aware, \emph{via} the +% \pkg{babel} interface. Currently, \pkg{chemstyle} includes appropriate +% labels for \pkg{babel} languages \opt{english}, \opt{german}, +% \opt{french} and \opt{italian}. Other languages can be added if appropriate +% wordings are provided to the author. The naming system is designed to work +% correctly with both \pkg{natbib} and \pkg{biblatex}. +% +%\DescribeOption{notes} +%\DescribeOption{nonotes} +%\DescribeOption{notesbefore} +% The package recognises the \opt{notes} option for controlling how +% the references section is named. The accepts the values +% \opt{true}, \opt{false} and \opt{auto}. The Boolean values either +% enable or disable the addition of \enquote{Notes and} to the +% \enquote{References} of the section title. The \opt{auto} option works +% in conjunction with the \pkg{notes2bib} package. If notes are +% added, \enquote{Notes and} is included in the section title, whereas if +% no notes are given the section title remains as \enquote{References}. +% The \opt{nonotes} option is equivalent to \opt{notes=false}. +% The second option for this area is \opt{notesbefore}. This takes +% \opt{true} and \opt{false} only, and sets whether \enquote{Notes and +% References} or \enquote{References and Notes} is produced. +% +%\subsection{Additional units} +% +%\DescribeMacro{\cmc} +%\DescribeMacro{\Hz} +%\DescribeMacro{\molar} +%\DescribeMacro{\Molar} +%\DescribeMacro{\mmHg} +% There are a few units which are useful for chemists that are not +% defined by the standard unit packages and are created here if +% necessary. +%\begin{LaTeXdemo} +% \SI{10}{\cmc} \\ +% \SI{20}{\Hz} \\ +% \SI{30}{\molar} \\ +% \SI{40}{\Molar} \\ +% \SI{50}{\mmHg} +%\end{LaTeXdemo} +% +%\subsection{The standard state symbol} +% +%\DescribeMacro{\standardstate} +% Related to the above, but not exactly a unit is the +% \cs{standardstate} command.\footnote{The \cs{standardstate} macro +% is only defined if the user does not have their own version.} This +% generates the tricky \cs{standardstate} symbol. The symbol will +% adapt to local sizing. +%\begin{LaTeXdemo} +% the standard conditions are indicated: \standardstate\\ +% Common but not correct: +% $\Delta G_\mathrm{f}^\standardstate$ or +% $\Delta G_\mathrm{f}{}^\standardstate$ \\ +% Better: +% $\Delta_\mathrm{f}G^\standardstate$ \\ +% Sizing: +% $\int^{T_{\mathrm{out}}}_{T^\standardstate}$ +%\end{LaTeXdemo} +% +%\subsection{Latin phrases} +% +%\DescribeMacro{\latin} +%\DescribeMacro{\etc} +%\DescribeMacro{\eg} +%\DescribeMacro{\ie} +%\DescribeMacro{\etal} +%\DescribeMacro{\invacuo} +% The various Latin phrases commonly used in chemistry are made +% available as the obvious commands. By altering the definition of +% \cs{latin}, this allows ready switching from italic to Roman +% typesetting. Notice that \cs{etc}, \cs{ie} and \cs{eg} are aware +% of trailing periods, and so doubling-up should not occur. +%\begin{LaTeXdemo} +% \latin{some text} \\ +% \eg \\ +% \etal \\ +% \etc \\ +% \ie \\ +% \invacuo +%\end{LaTeXdemo} +% +%\DescribeOption{abbremph} +% The use of italic for these abbreviations is set by altering the +% package option \opt{abbremph}, which takes values \opt{true} and +% \opt{false}. +%\begin{LaTeXdemo} +% \etal\ \ie \\ +% \cstsetup{abbremph=false} +% \etal\ \ie \\ +%\end{LaTeXdemo} +% +%\DescribeOption{abbrcomma} +% For American journals, where it is obligatory to follow \enquote{\eg} and +% \enquote{\ie} with a comma, the package provides a mechanism for handling +% this automatically. Thus, when using an appropriate journal style, +% |\eg|, |\eg.| and |\eg,| will all result in typesetting \enquote{\eg,}. +% The Boolean package option \opt{abbrcomma} controls this. +%\begin{LaTeXdemo} +% \eg this\\ +% \cstsetup{abbrcomma=true} +% \ie that +%\end{LaTeXdemo} +% +% The \cs{etc} and \cs{etal} commands are set up on the +% assumption that they come at the end of a sentence. Hence the +% spacing after these will default to an inter-sentence space. If +% you desire an inter-word space, use the normal methods +%\begin{LaTeXdemo} +% \etc\ more text \\ +% \etal~have shown +%\end{LaTeXdemo} +% +%\DescribeOption{phrases} +%\DescribeOption{nophrases} +% The definitions of all of the phrases are designed not to overwrite +% any given by the user \emph{in the preamble}. So, if you have your +% own \cs{latin} macro, it will be used even if you load \pkg{chemstyle}. +% If you encounter any problems, try loading the package with the +% \opt{nophrases} option; this option prevents the package even +% trying to define any of the phrase macros. The \opt{phrases} option +% acts as a complement to \opt{nopharses}, so that \opt{phrases=false} +% is the same as \opt{nophrases=true}. +% +%\subsection{Alkyl radicals} +% +%\DescribeMacro{\nPr} +%\DescribeMacro{\iPr} +%\DescribeMacro{\nBu} +%\DescribeMacro{\iBu} +%\DescribeMacro{\sBu} +%\DescribeMacro{\tBu} +% There are a few alkyl radicals that come up all of the time. No +% one seems to have put these into a package, so they are provided +% here. As you would expect, \cs{iPr} gives \iPr, \cs{iBu} gives \iBu +% and \cs{tBu} gives \tBu, and so on. The style of the output +% depends on the journal style specified; most journals seem to +% favour one version of the abbreviation. +%\begin{LaTeXdemo} +% The alkyl group could be \\ +% \nPr, \iPr or \nBu without \\ +% affecting the selectivity. +%\end{LaTeXdemo} +% These should also work inside the \cs{ce} macro of \pkg{mhchem} when +% if escaped mode: +%\begin{LaTeXdemo} +% \ce{$\nBu$2CH-C($\iPr$)3} +%\end{LaTeXdemo} +% +%\DescribeOption{rademph} +%\DescribeOption{radhyphen} +%\DescribeOption{radprefix} +%\DescribeOption{radsuper} +% The appearance of these radical abbreviations is controlled by the +% package options \opt{rademph}, \opt{radhyphen}, \opt{radprefix} and +% \opt{radsuper}. The journal styles set these automatically, but +% they can be redefined at any point. The options work as might be +% expected, and are Boolean switches. +%\begin{LaTeXdemo} +% \cstsetup{ +% radhyphen = false, +% radsuper = true} +% \iPr \tBu \\ +% \cstsetup{ +% radhyphen = true, +% radsuper = false, +% radprefix = false, +% rademph = false +% } +% \iBu \sBu +%\end{LaTeXdemo} +% +%\DescribeOption{xspace} +% The package can use \pkg{xspace} to automatically insert space after +% the alkyl radical macros. This is controlled using the \opt{xspace} +% option. +%\begin{LaTeXdemo} +% \cstsetup{ +% xspace = true +% } +% Some text \iPr some more text\\ +% \cstsetup{ +% xspace = false +% } +% Some text \iPr some more text +%\end{LaTeXdemo} +% +%\section{The \pkg{chemscheme} package: graphics for chemistry} +% +%\subsection{Floating schemes} +% +% By default, \LaTeX\ defines two float types, \texttt{figure} and +% \texttt{table}. Synthetic chemists make heavy use of schemes, +% which need a \texttt{scheme} float type. This is provided by +% \pkg{chemscheme}, in a manner consistent with the kernel floats. +% +%\DescribeEnv{scheme} +% The package provides a new float type, scheme, accessed in the +% usual way. +%\begin{LaTeXdemo}[code and float] +% \begin{scheme}[ht] +% \includegraphics{scheme-one} +% \caption{A scheme with no compound numbers.} +% \end{scheme} +%\end{LaTeXdemo} +% The \texttt{scheme} float is designed to behave in the same way as the +% standard \LaTeX\ float environments \texttt{figure} and +% \texttt{table}. Thus schemes will be placed at the top of a page, +% where possible. As shown in the example, the use of positional +% modifiers is allowed. Labelling and referencing schemes also follows +% the \LaTeX\ conventions. \pkg{chemscheme} works hard to emulate the +% document class in use, and so the exact behaviour will depend on +% whether the standard classes, \textsc{koma}-Script or \pkg{memoir} +% are being used. +% +%\DescribeMacro{\schemename} +% \cs{schemename} contains the text used in scheme captions (by +% default \schemename). This is used in the same manner as +% \cs{figurename} or \cs{tablename} to set up the text used in scheme +% captions. +%\begin{LaTeXdemo}[code and float] +% \renewcommand*{\schemename}{Illustration} +% \begin{scheme}[ht] +% \includegraphics{scheme-one} +% \caption{A scheme that is not a Scheme!} +% \end{scheme} +%\end{LaTeXdemo} +% +%\DescribeMacro{\listofschemes} +%\DescribeMacro{\listschemename} +% To match the \cs{listoffigures} and \cs{listoftables} macros +% provided by the \LaTeX\ kernel, \pkg{chemscheme} provides a +% \cs{listofschemes} command. This works in the same way as the +% kernel commands, with the default text stored in the macro +% \cs{listschemename}. The standard output is illustrated below. +% \listofschemes +% +%\DescribeOption{floats} +% Which method is used to generate the new float is controlled by +% the \opt{floats} option, which recognises \opt{float}, \opt{floatrow} +% and \opt{memoir}. The \opt{memoir} option is ignored if not using +% the \pkg{memoir} class, or if \pkg{chemstyle} is in +% use.\footnote{\pkg{memoir} is not capable of some of the float +% manipulation needed by \pkg{chemstyle}.} +% +%\subsection{Reference numbers in graphics} +% +% There are a number of packages available for tracking compound +% reference numbers. The two with the most up to date and +% comprehensive features are \pkg{bpchem} and \pkg{chemcompounds}. +% Both allow in-text numbering to be handled automatically. However, +% neither will allow the use of these numbers directly in schemes, +% figures, \etc. Both leave it to the user to manually adapt schemes +% to match any changes in numbering. +% +% The \pkg{chemscheme} package provides a mechanism for rectifying this +% issue. The package makes use of the \pkg{psfrag} package, which +% means that it can only directly produce DVI output (using \LaTeX). +% However, direct PDF output using pdf\LaTeX\ is possible: see +% Section~\ref{demo}. However, it \emph{will not work} with XeTeX +% as the underlying \pkg{psfrag} package does not with XeTeX. +% +% Getting automated numbers into schemes is a two step procedure. In +% the first step, schemes (or other graphics) should be prepared as +% normal and saved as encapsulated postscript (EPS) files. The most +% popular chemistry drawing package, \textsc{ChemDraw}, is able to do +% this from the \texttt{Save As \ldots} dialogue. The positions where +% the auto-labels should be have to be marked in the EPS file. The +% marker should consist of an \enquote{indicator} that the text is to be +% replaced, followed by a reference number or letter. For automated +% substitution, the \enquote{indicator} text should be the same in all +% graphics. +% +%\DescribeMacro{\schemeref} +% In the second step, the command \cs{schemeref} is used to indicate +% the mapping of the temporary markers to the automatically-managed +% numbering. The syntax of the command is +% \cs{chemschemeref}\oarg{temp-marker}\marg{label}, where +% \meta{temp-marker} is the marker used in the graphic, and +% \meta{label} is the name assigned to the compound by the user. By +% default, \pkg{chemscheme} will assume that \meta{temp-marker} +% consists of the marker plus a number, beginning at 1 and +% incrementing by 1 for each additional structure inside one float. +% Each replacement requires a separate \cs{chemschemeref}, all of +% which should appear before the relevant \cs{includegraphics} command. +% +% An example will make usage clearer. In the example used in this +% document, the starting material is given label \texttt{IMesHCl} and +% the product is called \texttt{IMes}. As is shown in the next +% example, in the EPS file these are labelled \textsf{TMP1} and +% \textsf{TMP2}, respectively. The automated package defaults are +% used. +%\begin{LaTeXdemo}[code and float] +% \begin{scheme}[ht] +% \includegraphics{scheme-two} +% \caption{A scheme with temporary compound numbers.} +% \end{scheme} +% \begin{scheme}[ht] +% \schemeref{IMesHCl} +% \schemeref{IMes} +% \includegraphics{scheme-two} +% \caption{A scheme with automated compound numbers.} +% \end{scheme} +%\end{LaTeXdemo} +% If the marker text is given as an optional argument to +% \cs{schemeref}, it must include the entire text to be matched. +%\begin{LaTeXdemo}[code and float] +% \begin{scheme}[ht] +% \schemeref[TMP1]{IMesHCl} +% \schemeref[TMP2]{IMes} +% \includegraphics{scheme-two} +% \caption{A scheme with explicitly numbered temporary labels.} +% \end{scheme} +%\end{LaTeXdemo} +% Notice that the new label is centred on the middle of the temporary +% marker, with the same baseline. This should allow the user to +% obtain good alignment of labels and structures. +% +%\DescribeMacro{\schemerefmarker} +% When using automatic substitution mode, the \enquote{marker} text to be +% searched for is stored as \cs{schemerefmarker}, which has +% default value \texttt{\schemerefmarker}. Thus the graphics should +% contain labels \textsf{\schemerefmarker1}, \textsf{\schemerefmarker2}, +% \emph{etc}. The value can be changed using \cs{renewcommand*}. +% +%\DescribeMacro{\schemerefformat} +% The format of chemical references is controlled by the underlying +% package, \pkg{bpchem} or \pkg{chemcompounds}. However, it is +% useful to be able to specify additional formatting for schemes. By +% default, \pkg{chemscheme} formats all reference numbers in a sans +% serif font. This is controlled by \cs{schemerefformat}. +%\begin{LaTeXdemo}[code and float] +% % This needs the color or xcolor package loaded +% \renewcommand*{\schemerefformat}{% +% \color{magenta}\textit +% }% +% \begin{scheme}[ht] +% \schemeref{IMesHCl} +% \schemeref{IMes} +% \includegraphics{scheme-two} +% \caption{A scheme with altered label formatting.} +% \end{scheme} +%\end{LaTeXdemo} +% +%\DescribeMacro{\schemerefsub} +% The \pkg{bpchem} package allows tracking of sub-labels (\textbf{1a}, +% \textbf{1b}, \emph{etc.}). To allow use of these in schemes, the +% \cs{schemerefsub} command is provided. This takes an additional +% argument \marg{sub-label}, which is used to generate the +% appropriate text. When used with \pkg{chemcompounds}, this command +% will gobble its arguments and issue a warning; no substitution will +% take place. +% +%\DescribeOption{tracking} +% The choice of using \pkg{chemcompounds} or \pkg{bpchem} can be made +% by giving the key--value option \opt{tracking=\meta{package}} when +% loading \pkg{chemscheme}. This recognises the values \opt{bpchem} +% and \opt{chemcompounds}, with the later as the default. +% +%\section{Horizontal positioning of all floats} +% +%\DescribeMacro{\floatcontentscentre} +%\DescribeMacro{\floatcontentscenter} +%\DescribeMacro{\floatcontentsleft} +%\DescribeMacro{\floatcontentsright} +% The \LaTeX\ default is to position all float contents flush-left. +% There is no \enquote{hook} provided to alter this. The \pkg{chemscheme} +% package therefore provides commands to align all float contents +% automatically. As the macro names make clear, +% \cs{floatcontentscentre} will make all floats centred (for users +% speaking U.S.~English, the alternative spelling +% \cs{floatcontentscenter} is also available). The default behaviour +% is restored using the command \cs{floatcontentsleft}. Finally, +% \cs{floatcontentsright} is provided for use if needed. Notice that +% the float positioning commands should be given \emph{outside} +% floating environments, and apply to all subsequent floats. +%\begin{LaTeXdemo}[code and float] +% \floatcontentsleft +% \begin{scheme}[ht] +% \includegraphics{scheme-one} +% \caption{A flush-left scheme.} +% \end{scheme} +% \floatcontentsright +% \begin{scheme}[ht] +% \includegraphics{scheme-one} +% \caption{A flush-right scheme.} +% \end{scheme} +% \floatcontentscentre +%\end{LaTeXdemo} +% +% It is important to note that the positioning mechanism used here +% relies on a low-level hack of the \LaTeX\ kernel. This has been +% tested with the standard \LaTeX\ classes, the \pkg{memoir} class +% and the \textsc{koma}-Script bundled. Other document classes may +% not give the desired behaviour. +% +%\section{Some thoughts on generating chemical schemes} +% +%\subsection{Overview} +% There are a number of ways of generating the graphical content of +% schemes. The choice of method will depend on what is available to +% the user, and how complex the schemes desired are. In this section, +% an overview of several approaches is given.\footnote{Thanks to +% Norwid-R.\ Behrnd for suggesting this section and giving a number +% of useful examples and tips.} The package author, who is a +% research worker in a university, favours using \textsc{ChemDraw} as +% it is regarded by many synthetic chemists as the best tool for this +% job. However, this is clearly overkill for users requiring a +% single diagram on a one-off basis. \textsc{ChemDraw} is also a +% commercial package running only under Windows and MacOS X. The +% following is necessarily somewhat brief and selective. +% +%\subsection{Macro-based methods} +% At the most basic, a chemical scheme is simply a collection of +% lines and symbols, as with any vector diagram. Hence, it is +% possible to construct schemes directly using packages such as +% PSTricks or \pkg{pgf}/Ti\emph{k}z. This is a complex method, and +% cannot be recommended for anyone except the very experienced and +% brave. +% +% At a more practical level, there are two packages available which +% allow typesetting of chemical structures in \TeX, using +% specialised commands: XyM\TeX\ and ppch\TeX. Recent versions of +% the XyM\TeX\ package have not been made available on \textsc{CTAN}, +% and the version held there is therefore considered to be obsolete. +% On the +% other hand, the ppch\TeX\ system, developed originally for +% Con\TeX{}t, is available. Both systems suffer from the lack of +% chemical logic in the input: it is very hard to tell from the code +% what is being represented. Drawing items such as \enquote{curly arrows}, +% or making subtle alterations to positioning, is very challenging in +% purely macro-based systems. For these reasons, it is usually much +% more sensible to examine the available graphical methods. +% +%\subsection{Graphical methods} +% +% Moving to graphical systems, there is no reason that +% general-purpose vector drawing packages cannot be used for schemes. +% There are obviously several commercial (\textsc{CorelDraw}, +% \textsc{Adobe Illustrator}, \etc) and freeware (for example +% the \textsc{gimp}) drawing packages that can be used in this way. +% Simply rings and lines can easily be constructed, although in +% general-purpose programs the user has to watch that all bonds +% are the same length. +% +% For producing a large number of complex schemes, the particular +% abilities of dedicated software become a necessity. As well as the +% already-mentioned \textsc{ChemDraw}, programs such as \textsc{ISIS +% Draw} and \textsc{ChemSketch} are available free for personal +% use;\footnote{\enquote{Free} as in without charge, not as in open +% source.} these programs are all Windows specific. In the +% open-source arena, there are a number of packages such as +% \textsc{XDrawChem} and \textsc{BKchem}, which offer cross-platform +% functionality. The differences between the various packages are in +% the ease of use, and ability to generate well-formatted output (for +% example, aligning structures). A more recent addition to this +% group of packages is the cross-platform \textsc{ChemDoodle}, which +% look promising but is not free in any sense. +% +% One which deserves mention for the \TeX\ user is TpX. This is a +% general purpose Windows graphics program specifically aimed at +% producing \TeX-friendly output (such as PSTricks and Ti\emph{k}z +% code) from a graphical interface. TpX can accept clipboard data +% from other programs, so can be used to produce EPS files from +% programs which do not have native export facilities (such as +% \textsc{ISIS Draw}). +% +%\section{Additional information} +% +%\subsection{Interactions with other packages} +% +% \pkg{chemstyle} and \pkg{chemscheme} are designed to avoid, as far as +% possible, clashes with other packages. The standard packages +% \pkg{graphicx} and \pkg{varioref} are used by the bundle. If you +% need to load these with specific options, this needs to be done +% \emph{before} loading \pkg{chemstyle} (or \pkg{chemscheme}). +% +%\subsection{Captions above floats} +% +% The \texttt{scheme} float type is generated using either the +% \pkg{float} or \pkg{floatrow} package. This has the side-effect +% that the placement of captions for floats does not depended on +% where the \cs{caption} command comes inside the floating +% environment.\footnote{Normally this is a good thing.} If you wish +% to alter the placement of captions, the mechanism of the underlying +% package will be needed. There are some subtle differences between +% the two: although \pkg{floatrow} provides the \pkg{float} macros, +% they are not all $100\,\%$ compatible. This document is compiled +% using \pkg{floatrow}, and so to fix the position of captions the +% following code is appropriate. +%\begin{LaTeXdemo}[code and float] +% \begin{table}[ht] +% \fbox{First float contents} +% \caption{A caption below the float contents in the source.} +% \end{table} +% \floatsetup[table]{style=plain} +% \begin{table}[ht] +% \fbox{Second float contents} +% \caption{A second caption below the float contents in the source.} +% \end{table} +%\end{LaTeXdemo} +% Using the \pkg{float} package, the same effect is achieved using: +%\begin{LaTeXdemo}[code only] +% \begin{table}[ht] +% \fbox{First float contents} +% \caption{A caption below the float contents in the source.} +% \end{table} +% \floatstyle{plain} +% \restylefloat{table} +% \begin{table}[ht] +% \fbox{Second float contents} +% \caption{A second caption below the float contents in the source.} +% \end{table} +%\end{LaTeXdemo} +% +%\section{A demonstration file\label{demo}} +% +% This is a simple demonstration file for using the \pkg{chemstyle} +% package. By using the \pkg{auto-pst-pdf} package, it is possible to +% use EPS graphics with pdf\LaTeX. +% \begin{macrocode} +%<*demo> +\documentclass[a4paper]{article} +\usepackage[T1]{fontenc} % Modern font encoding +\usepackage[runs=2]{auto-pst-pdf} % Use EPS graphics with pdfLaTeX +\usepackage{booktabs} % Better table layouts +\usepackage[journal=rsc]{chemstyle} % Of course! +\usepackage{geometry} % Easy page layout +\usepackage{lmodern} % Use Latin Modern fonts +\usepackage[version=3]{mhchem} % Formula subscripts using \ce{} +\begin{document} +\end{document} +%</demo> +% \end{macrocode} +% +%\StopEventually{^^A +% \PrintChanges +% \PrintIndex +%} +% +%\section{Implementation} +% +% A few support packages. +% \begin{macrocode} +%<*package> +\ProvidesPackage{chemstyle} + [2013/07/03 v2.0m Schemes and style for chemistry] +\RequirePackage{amstext,caption,chemscheme,xspace} +\SetupKeyvalOptions{ + family=cst, + prefix=cst@ +} +% \end{macrocode} +% +% Users of the \pkg{achemso} class should not load \pkg{chemstyle}. +% \begin{macrocode} +\@ifclassloaded{achemso} + { + \PackageWarning{chemstyle} + {% + The chemstyle package should not\MessageBreak + be used with the achemso class:\MessageBreak + loading chemstyle will abort% + } + \endinput + } + {} +% \end{macrocode} +% +%\begin{macro}{\cst@tempa} +% A temporary macro. +% \begin{macrocode} +\newcommand*\cst@tempa{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\ifcst@abbrcomma} +%\begin{macro}{\ifcst@abbremph} +%\begin{macro}{\ifcst@notesbefore} +%\begin{macro}{\ifcst@phrases} +%\begin{macro}{\ifcst@rademph} +%\begin{macro}{\ifcst@radhyphen} +%\begin{macro}{\ifcst@radpreix} +%\begin{macro}{\ifcst@radsuper} +%\begin{macro}{\ifcst@varioref} +%\begin{macro}{\ifcst@xspace} +% Some simple Boolean options. +% \begin{macrocode} +\DeclareBoolOption[false]{abbrcomma} +\DeclareBoolOption[true]{abbremph} +\DeclareBoolOption[true]{notesbefore} +\DeclareBoolOption[true]{phrases} +\DeclareComplementaryOption{nophrases}{phrases} +\DeclareBoolOption[true]{rademph} +\DeclareBoolOption[true]{radhyphen} +\DeclareBoolOption[true]{radprefix} +\DeclareBoolOption[false]{radsuper} +\DeclareBoolOption[true]{varioref} +\DeclareBoolOption[true]{xspace} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\cst@language} +%\begin{macro}{\cst@journal} +% Simple string options. +% \begin{macrocode} +\DeclareStringOption{journal} +\DeclareDefaultOption{% + \ifx\CurrentOptionValue\relax + \edef\cst@journal{\CurrentOptionKey}% + \else + \PackageWarning{chemstyle}{% + Unknown key option `\CurrentOptionKey'% + }% + \fi +} +\DeclareStringOption{language} +\setkeys{cst}{% + journal = , + language = english, + varioref = true +} +% \end{macrocode} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\ifcst@notes} +%\begin{macro}{\ifcst@autonotes} +%\begin{macro}{\cst@opt@auto} +%\begin{macro}{\cst@opt@notestrue} +%\begin{macro}{\cst@opt@notesfalse} +%\begin{macro}{\cst@opt@notesauto} +%\begin{macro}{\cst@opt@noteserror} +% For the \opt{notes} option, there are three possible values. Some of +% the internal code of \pkg{kvoptions} is borrowed and modified to keep +% things simple. +% \begin{macrocode} +\newif\ifcst@notes +\newif\ifcst@autonotes +\newcommand*\cst@opt@auto{auto} +\define@key{cst}{notes}[true]{% + \edef\KVO@param{#1}% + \@onelevel@sanitize\KVO@param + \ifx\KVO@param\KVO@true + \expandafter\cst@opt@notestrue + \else + \ifx\KVO@param\KVO@false + \expandafter\expandafter\expandafter\cst@opt@notesfalse + \else + \ifx\KVO@param\cst@opt@auto + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\cst@opt@notesauto + \else + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\cst@opt@noteserror + \fi + \fi + \fi +} +\newcommand*\cst@opt@notestrue{% + \cst@notestrue + \cst@autonotesfalse +} +\newcommand*\cst@opt@notesfalse{% + \cst@notesfalse + \cst@autonotesfalse +} +\newcommand*\cst@opt@notesauto{% + \cst@notestrue + \cst@autonotestrue +} +\newcommand*\cst@opt@noteserror{% + \PackageWarning{chemstyle}{% + Value `\KVO@param' is not supported by\MessageBreak + option `notes'% + }% +} +\DeclareComplementaryOption{nonotes}{notes} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\cstsetup} +% For allowing run-time changes. +% \begin{macrocode} +\newcommand*\cstsetup{% + \setkeys{cst} +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\cst@xspace} +% A re-usable \cs{xspace}-based macro. +% \begin{macrocode} +\newcommand*\cst@xspace{% + \ifcst@xspace + \expandafter\xspace + \fi +} +% \end{macrocode} +%\end{macro} +% +%\subsection{Extra units} +% +%\begin{macro}{\cmc} +%\begin{macro}{\Hz} +%\begin{macro}{\cubiccentimeter} +%\begin{macro}{\Molar} +%\begin{macro}{\molar} +%\begin{macro}{\mmHg} +%\begin{macro}{\mol} +%\changes{v2.0d}{2009/11/26}{Fix bug with \pkg{KOMA-Script}} +% The units are provided if necessary. +% \begin{macrocode} +\@ifpackageloaded{siunitx}{% +}{% + \@ifpackageloaded{SIunits}{}{% + \@ifpackageloaded{unitsdef}{}{% + \IfFileExists{siunitx.sty}{% + \RequirePackage{siunitx} + }{% + \IfFileExists{SIunits.sty}{% + \RequirePackage{SIunits} + }{% + \PackageWarning{chemstyle}{% + Could not find siunitx or SIunits package:\MessageBreak + additional units not defined% + } + } + } + } + } +} +\@ifpackageloaded{siunitx}{% + \sisetup{load-configurations = abbreviations} + \DeclareSIUnit\cubiccentimeter{\cubic\centi\metre} + \DeclareSIUnit\cmc{\cubic\centi\metre} + \DeclareSIUnit\molar{\mole\per\cubic\deci\metre} + \DeclareSIUnit\Molar{\textsc{m}} + \DeclareSIUnit\torr{torr} + \sisetup{load-configurations = abbreviations} +}{} +\@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} + }{} +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\subsection{Standard state symbol} +% +%\begin{macro}{\standardstate} +%\begin{macro}{\cst@standardstate} +%\begin{macro}{\cst@standardstate@aux} +% The \enquote{standard state} symbol is handy. This definition is adapted +% from one posted several times to \texttt{comp.text.tex} by Donald +% Arseneau. +% \begin{macrocode} +\providecommand*\standardstate{% + {% + \ensuremath{\protect\cst@standardstate}% + }% +} +\newcommand*\cst@standardstate{% + \mathpalette\cst@standardstate@aux\circ +} +\newcommand*\cst@standardstate@aux[2]{% + \ooalign{% + \hfil + $#1-$% + \hfil + \cr + \hfil + $#1#2$% + \hfil + \cr + }% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\subsection{Latin phrases} +% +%\begin{macro}{\latin} +%\begin{macro}{\cst@latin} +%\begin{macro}{\latinemphon} +%\begin{macro}{\latinemphoff} +% A series of Latin phrases are provided, with a quick switch to +% print them in Roman letters if needed. A mechanism is needed to +% alter the effect of the \cs{latin} command \emph{only} if the user +% does not have their own version. This is achieved here, with +% precautions taken to ensure the user can define their own +% \cs{latin} command \emph{after} loading \pkg{chemstyle} and still have +% everything work properly. +% \begin{macrocode} +\newcommand*\cst@latin{% + \ifcst@abbremph + \expandafter\emph + \else + \expandafter\@firstofone + \fi +} +\newcommand*{\latinemphon}{% + \cstsetup{abbremph=true}% +} +\newcommand*{\latinemphoff}{% + \cstsetup{abbremph=false}% +} +\AtBeginDocument{% + \providecommand*\latin{\cst@latin}% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\cst@phrases@make} +%\begin{macro}{\eg} +%\begin{macro}{\etal} +%\begin{macro}{\etc} +%\begin{macro}{\ie} +%\begin{macro}{\invacuo} +% The outer functions for phrases are simple. +% \begin{macrocode} +\newcommand*\cst@phrases@make{% + \providecommand*\etal{% + \cst@phrase{et~al}% + }% + \providecommand*\eg{% + \cst@phrase@comma{e.g\spacefactor999\relax}% + }% + \providecommand*\etc{% + \cst@phrase{etc}% + }% + \providecommand*\ie{% + \cst@phrase@comma{i.e\spacefactor999\relax}% + }% + \providecommand*\invacuo{% + \latin{in vacuo}% + \cst@xspace + }% +} +\AtBeginDocument{% + \ifcst@phrases + \expandafter\cst@phrases@make + \fi +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +%\begin{macro}{\cst@phrase} +%\begin{macro}{\cst@phrase@comma} +% For phrases which never have a comma, life is easy. If there may be a +% comma to add, the flag is checked before proceeding. +% \begin{macrocode} +\newcommand*\cst@phrase[1]{% + \latin{#1}% + \@ifnextchar.{}{% + .% + \cst@xspace + }% +} +\newcommand*\cst@phrase@comma{% + \ifcst@abbrcomma + \expandafter\cst@phrase@with@comma + \else + \expandafter\cst@phrase + \fi +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\cst@phrase@with@comma} +%\begin{macro}{\cst@phrase@with@comma@token} +%\begin{macro}{\cst@phrase@with@comma@aux@i} +%\begin{macro}{\cst@phrase@with@comma@aux@ii} +%\begin{macro}{\cst@phrase@with@comma@end} +%\begin{macro}{\cst@phrase@with@comma@next} +% If a comma is needed, the macros here search through the trailing +% punctuation and gobble all of commas and full-stops. The appropriate +% punctuation is then added. Notice that the \cs{relax} here is +% important, and that the test is category-code neural. +% \begin{macrocode} +\newcommand*\cst@phrase@with@comma[1]{% + \latin{#1}% + \cst@phrase@with@comma@aux@i\relax +} +\newcommand*\cst@phrase@with@comma@token{} +\newcommand*\cst@phrase@with@comma@aux@i[1]{% + \futurelet\cst@phrase@with@comma@token\cst@phrase@with@comma@aux@ii +} +\newcommand*\cst@phrase@with@comma@aux@ii{% + \let\cst@phrase@with@comma@next\cst@phrase@with@comma@aux@i + \if.\cst@phrase@with@comma@token\else + \if,\cst@phrase@with@comma@token\else + \let\cst@phrase@with@comma@next\cst@phrase@with@comma@end + \fi + \fi + \cst@phrase@with@comma@next +} +\newcommand*\cst@phrase@with@comma@end{% + .,% + \cst@xspace +} +\newcommand*\cst@phrase@with@comma@next{} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\subsection{Alkyl radicals} +% +%\begin{macro}{\cst@radical@make} +% The \cs{cst@radical@amke} macro does the hard work of declaring each +% abbreviation. The commands are made robust so they can (hopefully) +% be used anywhere. +% \begin{macrocode} +\newcommand*\cst@radical@make[2]{% + \expandafter\DeclareRobustCommand\expandafter*\csname #1#2\endcsname{% + \text{\cst@radical{#1}{#2}}% + \cst@xspace + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\nPr} +%\begin{macro}{\iPr} +%\begin{macro}{\nBu} +%\begin{macro}{\iBu} +%\begin{macro}{\sBu} +%\begin{macro}{\tBu} +% With a mechanism in place, the abbreviations are declared. The +% format of the resulting output will depend upon the configuration +% file used. +% \begin{macrocode} +\cst@radical@make{n}{Pr} +\cst@radical@make{i}{Pr} +\cst@radical@make{n}{Bu} +\cst@radical@make{i}{Bu} +\cst@radical@make{s}{Bu} +\cst@radical@make{t}{Bu} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\cst@radical@emph} +%\begin{macro}{\cst@radical@hyphen} +%\begin{macro}{\cst@radical@hyphen@false} +%\begin{macro}{\cst@radical@super} +% A few set up macros. +% \begin{macrocode} +\newcommand*\cst@radical@emph{} +\newcommand*\cst@radical@hyphen{} +\newcommand*\cst@radical@hyphen@true{-} +\newcommand*\cst@radical@super{} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\cst@radical} +%\begin{macro}{\cst@radical@pre} +%\begin{macro}{\cst@radical@post} +% The main body functions set everything up carefully, then actually +% prints things. +% \begin{macrocode} +\newcommand*\cst@radical{% + \let\cst@radical@emph\@firstofone + \ifcst@rademph + \let\cst@radical@emph\emph + \fi + \let\cst@radical@hyphen\relax + \ifcst@radhyphen + \let\cst@radical@hyphen\cst@radical@hyphen@true + \fi + \let\cst@radical@super\@firstofone + \ifcst@radsuper + \let\cst@radical@super\textsuperscript + \fi + \ifcst@radprefix + \expandafter\cst@radical@pre + \else + \expandafter\cst@radical@post + \fi +} +\newcommand*\cst@radical@pre[2]{% + \cst@radical@super{% + \cst@radical@emph{#1}% + }% + \cst@radical@hyphen + #2% +} +\newcommand*\cst@radical@post[2]{% + #2% + \cst@radical@hyphen + \cst@radical@super{% + \cst@radical@emph{#1}% + }% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +% +% \subsection{Handling reference section naming} +% +%\begin{macro}{bibnote} +%\changes{v2.0h}{2010/04/13}{Only define bibnote counter if not done +% elsewhere} +% For the \opt{notes=auto} option, the \LaTeX\ counter \texttt{bibnote} +% needs to be defined even if \pkg{notes2bib} is not loaded. +% \begin{macrocode} +\AtBeginDocument{\@ifundefined{c@bibnote}{\newcounter{bibnote}}{}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\cst@refsec@name} +%\begin{macro}{\cst@refsec@find} +%\begin{macro}{\cst@refsec@find@aux} +%\begin{macro}{\cst@refsec@set@name} +% A search for the references section: if this ends up empty then there +% is no section and later code will not do anything. This is used to +% disable the relevant code if \opt{notes=false} is set. +% \begin{macrocode} +\newcommand*\cst@refsec@name{} +\newcommand*\cst@refsec@find[1]{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname #1\endcsname\relax + \expandafter\cst@refsec@set@name + \else + \expandafter\@gobble + \fi + {#1}% +} +\newcommand*\cst@refsec@set@name[1]{% + \def\cst@refsec@name{#1}% +} +\cst@refsec@find{bibname}% +\cst@refsec@find{refname}% +\ifx\cst@refsec@name\@empty + \expandafter\cst@notesfalse +\fi +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\cst@refsec@lang} +% \changes{v2.0m}{2013/07/03}{Add phrase translations for Italian} +%\begin{macro}{\cst@refsec@lang@clist} +%\begin{macro}{\cst@refsec@lang@define} +% The language-dependent definitions are created. +% \begin{macrocode} +\newcommand*\cst@refsec@lang{} +\newcommand*\cst@refsec@lang@clist{} +\newcommand*\cst@refsec@lang@define[4]{% + \ifx\cst@refsec@lang@clist\@empty + \def\cst@refsec@lang@clist{#1}% + \else + \edef\cst@refsec@lang@clist{% + \cst@refsec@lang@clist + ,#1% + }% + \fi + \@namedef{cst@refsec@lang@#1@references}{#2}% + \@namedef{cst@refsec@lang@#1@and}{#3}% + \@namedef{cst@refsec@lang@#1@notes}{#4}% +} +\cst@refsec@lang@define{english}{References}{and}{Notes} +\cst@refsec@lang@define{UKenglish}{References}{and}{Notes} +\cst@refsec@lang@define{ngerman}{Literatur}{und}{Notizen} +\cst@refsec@lang@define{german}{Literatur}{und}{Notizen} +\cst@refsec@lang@define{french}{R\'ef\'erences}{et}{Notes} +\cst@refsec@lang@define{frenchb}{R\'ef\'erences}{et}{Notes} +\cst@refsec@lang@define{italian}{Bibliografia}{e}{Note} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\cst@refsec@set} +%\begin{macro}{\cst@refsec@set@biblatex} +%\begin{macro}{\cst@refsec@set@babel} +%\begin{macro}{\cst@refsec@set@language} +% The method for setting up the section heading depends on the +% other packages in use. \pkg{biblatex} has its own system, and with +% \pkg{babel} there is also a mechanism to attach to. +% \begin{macrocode} +\ifcst@notes + \AtBeginDocument{\cst@refsec@set} +\fi +\newcommand*\cst@refsec@set{% + \@ifpackageloded{biblatex}{% + \@for\cst@refsec@lang:=\cst@refsec@lang@clist\do{% + \cst@refsec@set@biblatex\cst@refsec@lang + }% + }{% + \@ifpackageloded{babel}{% + \@for\cst@refsec@lang:=\cst@refsec@lang@clist\do{% + \cst@refsec@set@babel\cst@refsec@lang + }% + \expandafter\selectlanguage\expandafter{\languagename}% + }{% + \@for\cst@refsec@lang:=\cst@refsec@lang@clist\do{% + \cst@refsec@set@language\cst@refsec@lang + }% + }% + } +} +\newcommand*\cst@refsec@set@biblatex[1]{% + \edef\cst@tempa{% + \noexpand\csgappto{bib@strings@#1}{% + \noexpand\def\expandafter\noexpand + \csname\cst@refsec@name\endcsname{% + \noexpand\cst@refsec@make@name{#1}% + }% + }% + }% + \cst@tempa +} +\newcommand*\cst@refsec@set@babel[1]{% + \edef\cst@tempa{% + \noexpand\addto{\expandafter\noexpand\csname captions#1\endcsname}{% + \noexpand\def\expandafter\noexpand + \csname\cst@refsec@name\endcsname{% + \noexpand\cst@refsec@make@name{#1}% + }% + }% + }% + \cst@tempa +} +\newcommand*\cst@refsec@set@language[1]{% + \ifx#1\cst@language + \edef\cst@tempa{% + \noexpand\def\expandafter\noexpand + \csname\cst@refsec@name\endcsname{% + \noexpand\cst@refsec@make@name{#1}% + }% + }% + \cst@tempa + \fi +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\cst@refsec@make@name} +%\begin{macro}{\cst@refsec@make@name@fixed} +%\begin{macro}{\cst@refsec@make@name@auto} +%\begin{macro}{\cst@refsec@make@name@nonotes} +% Actually making the name is pretty easy: the only complexity is +% the possibility of automation. +% \begin{macrocode} +\newcommand*\cst@refsec@make@name@fixed[1]{% + \ifcst@notesbefore + \@nameuse{cst@refsec@lang@#1@notes} + \@nameuse{cst@refsec@lang@#1@and} + \@nameuse{cst@refsec@lang@#1@references}% + \else + \@nameuse{cst@refsec@lang@#1@references} + \@nameuse{cst@refsec@lang@#1@and} + \@nameuse{cst@refsec@lang@#1@notes}% + \fi +} +\newcommand*\cst@refsec@make@name@auto{% + \ifnum\the\value{bibnote}>\z@\relax + \expandafter\cst@refsec@make@name@fixed + \else + \expandafter\cst@refsec@make@name@nonotes + \fi +} +\newcommand*\cst@refsec@make@name@nonotes[1]{% + \@nameuse{cst@refsec@lang@#1@references}% +} +\let\cst@refsec@make@name\cst@refsec@make@name@fixed +\ifcst@notes + \ifcst@autonotes + \let\cst@refsec@make@name\cst@refsec@make@name@auto + \fi +\fi +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +% With everything set up, options can be processed. +% \begin{macrocode} +\ProcessKeyvalOptions{cst} +% \end{macrocode} +% +%\subsection{Cross-references} +% +% The naming for cross-references is sorted out properly using the +% \pkg{varioref} package. Schemes are done at the start of the document +% as the definition of \cs{schemename} may not exist yet. +% \begin{macrocode} +\ifcst@varioref + \RequirePackage{varioref} + \labelformat{figure}{\figurename~#1} + \labelformat{table}{\tablename~#1} + \AtEndOfPackage{% + \AtBeginDocument{% + \labelformat{scheme}{\schemename~#1}% + }% + } +\fi +% \end{macrocode} +% +%\subsection{Float formatting} +% +%\begin{macro}{\cst@float@memoir@correct} +% Floats are now re-formatted, using the tools provided by either +% \pkg{float} or \pkg{floatrow}. First, a check to make sure that +% \pkg{chemscheme} was not loaded with the \opt{memoir} option. The +% checks there mean that this is only possible if neither \pkg{floatrow} +% nor \pkg{float} are already loaded. +% \begin{macrocode} +\newcommand*\cst@float@memoir@correct{% + \let\newfloat\@undefined +} +\ifx\cst@float@pkg\cst@opt@memoir + \expandafter\cst@float@memoir@correct +\fi +\cst@float@load +\cst@float@execute{\@nameuse{cst@float@make@\cst@float@pkg}} +% \end{macrocode} +%\end{macro} +% +% With that done, the package can safely re-define appearance. +% \begin{macrocode} +\@ifpackageloaded{floatrow}{% + \floatsetup{objectset=centering} + \floatplacement{figure}{htbp} + \floatplacement{scheme}{htbp} + \floatplacement{table}{htbp} + \floatsetup[table]{style=plaintop} +}{% + \floatstyle{plaintop} + \restylefloat{table} + \floatstyle{plain} + \restylefloat{figure} + \floatplacement{table}{htbp} + \floatplacement{figure}{htbp} + \AtBeginDocument{% + \restylefloat{scheme} + \floatplacement{scheme}{htbp} + } +} +% \end{macrocode} +% +%\subsection{Loading the style definition} +% +% The style definition is loaded here, once everything necessary is +% in place. +% \begin{macrocode} +\ifx\cst@journal\@empty\else + \InputIfFileExists{\cst@journal.chemstyle.cfg}{% + \setkeys{cst}{ + abbrcomma = false, + abbremph = true, + notesbefore = true, + rademph = true, + radhyphen = true, + radprefix = true, + radsuper = false, + } + }{% + \PackageWarning{chemstyle}{% + Requested style `\cst@journal' does not exist\MessageBreak + } + } +\fi +% \end{macrocode} +% +% All done for \pkg{chemstyle}. +% \begin{macrocode} +\cst@ref@load +%</package> +% \end{macrocode} +% +%\subsection{The \pkg{chemscheme} package} +% +%\subsubsection{Making new floats} +% +% The code for making floats is stored in the \pkg{chemscheme} package: +% in this way there should be no issues with loading things in any +% order. +% \begin{macrocode} +%<*chemscheme> +\ProvidesPackage{chemscheme} + [2013/07/03 v2.0m Schemes for chemistry] +\RequirePackage{kvoptions,psfrag} +\SetupKeyvalOptions{ + family=cst, + prefix=cst@ +} +% \end{macrocode} +% +% There is a lot of confusion about XeTeX: hopefully a warning will +% sort this. +% \begin{macrocode} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname XeTeXrevision\endcsname\relax +\else + \PackageWarning{chemscheme} + {XeTeX in use: \string\schemeref\space will not work} +\fi +% \end{macrocode} +% +% Users of the \pkg{achemso} class should not load \pkg{chemscheme}. +% \begin{macrocode} +\@ifclassloaded{achemso} + { + \PackageWarning{chemscheme} + {% + The chemscheme package should not\MessageBreak + be used with the achemso class:\MessageBreak + loading chemscheme will abort% + } + \endinput + } + {} +% \end{macrocode} +% +%\begin{macro}{\ifcst@floatrow} +%\begin{macro}{\ifcst@chemcompounds} +% Some simple Boolean options. +% \begin{macrocode} +\DeclareBoolOption[true]{chemcompounds} +\DeclareComplementaryOption{bpchem}{chemcompounds} +\DeclareBoolOption[true]{floatrow} +% \end{macrocode} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\cst@opt@bpchem} +%\begin{macro}{\cst@opt@chemcompounds} +%\begin{macro}{\cst@opt@ref@error} +% The \opt{tracking} option has two possible values. +% \begin{macrocode} +\define@key{cst}{tracking}[chemcompounds]{% + \edef\KVO@param{#1}% + \@onelevel@sanitize\KVO@param + \ifx\KVO@param\cst@opt@bpchem + \expandafter\cst@chemcompoundsfalse + \else + \ifx\KVO@param\cst@opt@chemcompounds + \expandafter\expandafter\expandafter\cst@chemcompoundstrue + \else + \expandafter\expandafter\expandafter\cst@opt@ref@error + \fi + \fi +} +\newcommand*\cst@opt@bpchem{bpchem} +\@onelevel@sanitize\cst@opt@bpchem +\newcommand*\cst@opt@chemcompounds{chemcompounds} +\@onelevel@sanitize\cst@opt@chemcompounds +\newcommand*\cst@opt@ref@error{% + \PackageWarning{chemscheme}{% + Value `\KVO@param' is not supported by\MessageBreak + option `tracking'% + }% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\ifcst@memoir} +%\begin{macro}{\cst@opt@float} +%\begin{macro}{\cst@opt@floatrow} +%\begin{macro}{\cst@opt@memoir} +%\begin{macro}{\cst@opt@floats@error} +% For \opt{floats}, the number of choices is slightly higher. +% \begin{macrocode} +\newif\ifcst@memoir +\define@key{cst}{floats}{% + \edef\KVO@param{#1}% + \cst@floatrowtrue + \cst@memoirfalse + \ifx\KVO@param\cst@opt@float + \expandafter\cst@floatrowfalse + \else + \ifx\KVO@param\cst@opt@floatrow\else + \ifx\KVO@param\cst@opt@memoir + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\cst@memoirtrue + \else + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\cst@opt@floats@error + \fi + \fi + \fi +} +\newcommand*\cst@opt@float{float} +\newcommand*\cst@opt@floatrow{floatrow} +\newcommand*\cst@opt@memoir{memoir} +\newcommand*\cst@opt@floats@error{% + \PackageWarning{chemscheme}{% + Value `\KVO@param' is not supported by\MessageBreak + option `floats'% + }% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{environment}{scheme} +%\begin{macro}{\cst@float@pkg} +%\begin{macro}{\cst@float@execute} +%\begin{macro}{\cst@float@load} +%\begin{macro}{\cst@float@load@float} +%\begin{macro}{\cst@float@load@floatrow} +% With options processed, the appropriate packages can be loaded as +% necessary. The are some checks so that only one package is tried. +% \begin{macrocode} +\newcommand*\cst@float@pkg{} +\newcommand*\cst@float@execute{} +\newcommand*\cst@float@load{% + \IfFileExists{floatrow.sty}{}{% + \ifcst@floatrow + \expandafter\cst@floatrowfalse + \fi + }% + \ifcst@floatrow + \expandafter\cst@float@load@floatrow + \else + \expandafter\cst@float@load@float + \fi +} +\newcommand*\cst@float@load@float{% + \RequirePackage{float} + \def\cst@float@pkg{float} + \def\cst@float@execute{\AtBeginDocument} +} +\newcommand*\cst@float@load@floatrow{% + \RequirePackage{floatrow} + \def\cst@float@pkg{floatrow} + \def\cst@float@execute{\@firstofone} +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\cst@float@chapter} +%\begin{macro}{\cst@float@chapter@hook} +% A method to add to the \cs{@chapter} macro is needed. This is +% not compatible with \cs{g@addto@macro} directly, so a more +% complex method is used by providing a suitable hook. +% \begin{macrocode} +\newcommand*\cst@float@chapter@hook{} +\newcommand*\cst@float@chapter{} +\ifx\@chapter\@undefined\else + \let\cst@float@chapter\@chapter + \def\@chapter{% + \cst@float@chapter@hook + \cst@float@chapter + } +\fi +% \end{macrocode} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\cst@float@chapter@fix} +% So that floats inside chapters work correctly. +% \begin{macrocode} +\newcommand*\cst@float@chapter@fix{% + \g@addto@macro{\cst@float@chapter@hook}{% + \addtocontents{los}{\protect\addvspace{10\p@}}% + }% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname KOMAScriptVersion\endcsname\relax + \@namedef{thescheme}{% + \ifnum\c@chapter>\z@\relax + \thechapter.% + \fi + \arabic{scheme}% + }% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\cst@float@make@float} +% When using \pkg{float}, definition depends on the existence of +% chapters. The name and \enquote{list of} macros are then created separately. +% \begin{macrocode} +\newcommand*\cst@float@make@float{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname chapter\endcsname\relax + \newfloat{scheme}{tbp}{los}% + \else + \newfloat{scheme}{tbp}{los}[chapter]% + \expandafter\cst@float@chapter@fix + \fi + \floatname{scheme}{\schemename}% + \newcommand*\listofschemes{% + \listof{scheme}{\listschemename}% + }% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\cst@float@make@floatrow} +% For \pkg{floatrow}, the interface to everything is rather simple. +% \begin{macrocode} +\newcommand*\cst@float@make@floatrow{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname chapter\endcsname\relax + \DeclareNewFloatType{scheme}{% + fileext = los, + placement = tbp, + name = Scheme + }% + \else + \DeclareNewFloatType{scheme}{% + fileext = los, + placement = tbp, + name = Scheme, + within = chapter + }% + \cst@float@chapter@fix + \fi + \newcommand*\listofschemes{% + \listof{scheme}{\listschemename}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\cst@float@make@memoir} +% \pkg{memoir} has a lot of things to set up for a float. This list is +% essentially the same as the \pkg{memoir} kernel uses. +% \begin{macrocode} +\newcommand*\cst@float@make@memoir{% + \newfloat[chapter]{scheme}{los}{\schemename}% + \newlistof{listofschemes}{los}{\listschemename}% + \addtodef{\@smemfront}{}{\counterwithout{scheme}{chapter}}% + \addtodef{\@smemmain}{}{% + \ifartopt\else + \counterwithin{scheme}{chapter}% + \fi + }% + \addtodef{\backmatter}{}{% + \ifartopt\else + \counterwithout{scheme}{chapter}% + \setcounter{scheme}{0}% + \fi + }% + \newlistentry[chapter]{scheme}{los}{0}% + \cftsetindents{scheme}{0em}{2.3em}% + \addtodef{\insertchapterspace}{}{% + \addtocontents{los}{\protect\addvspace{10pt}}% + }% + \ifartopt + \counterwithout{scheme}{chapter}% + \fi +} +% \end{macrocode} +%\end{macro} +% +% Options are set. +% \begin{macrocode} +\ProcessKeyvalOptions{cst} +% \end{macrocode} +% +% Everything is set up, and so the support can finally be loaded. +% \begin{macrocode} +\@ifpackageloaded{floatrow}{% + \def\cst@float@pkg{floatrow} + \def\cst@float@execute{\@firstofone} +}{% + \@ifpackageloaded{float}{% + \def\cst@float@pkg{float} + \def\cst@float@execute{\AtBeginDocument} + }{% + \@ifclassloaded{memoir}{% + \def\cst@float@pkg{memoir} + \def\cst@float@execute{\AtBeginDocument} + }{% + \@ifpackageloaded{chemstyle}{}{% + \cst@float@load + }% + }% + }% +} +% \end{macrocode} +%\changes{v2.0b}{2009/10/26}{logic for undefining \cs{newfloat} +% corrected} +% If \pkg{memoir} is in use, delete the \cs{newfloat} macro. +% \begin{macrocode} +\ifx\cst@float@pkg\cst@opt@memoir + \let\newfloat\@undefined +\fi +\@ifpackageloaded{chemstyle}{}{% + \cst@float@execute{\@nameuse{cst@float@make@\cst@float@pkg}} +} +% \end{macrocode} +%\end{environment} +% +%\subsubsection{Supporting \pkg{babel} for schemes} +% +%\begin{macro}{\schemename} +%\begin{macro}{\listschemename} +% To start, the names in English. +% \begin{macrocode} +\@ifpackageloaded{floatrow}{}{% + \newcommand*\schemename{Scheme} +} +\newcommand*\listschemename{List of Schemes} +% \end{macrocode} +%\end{macro} +%\end{macro} +% +%\changes{v2.0j}{2010/11/04}{Include \texttt{ngerman} in \pkg{babel} +% support} +% \changes{v2.0m}{2013/07/03}{Add phrase translations for Italian} +% Some simple label changes. +% \begin{macrocode} +\AtBeginDocument{% + \@ifpackageloaded{babel}{% + \addto{\captionsfrench}{% + \def\listschemename{Table des sch\`emes}% + \def\schemename{{\scshape Sch\`eme}}% + }% + \addto{\captionsgerman}{% + \def\listschemename{Schemenverzeichnis}% + \def\schemename{Schema}% + }% + \addto{\captionsngerman}{% + \def\listschemename{Schemenverzeichnis}% + \def\schemename{Schema}% + }% + \addto{\captionsitalian}{% + \def\listschemename{Lista degli schemi}% + \def\schemename{Schema}% + }% + \expandafter\selectlanguage\expandafter{\languagename}% + }{}% +} +% \end{macrocode} +% +%\subsubsection{Positioning float contents} +% +%\begin{macro}{\floatcontentscentre} +%\begin{macro}{\floatcontentscenter} +%\begin{macro}{\floatcontentsleft} +%\begin{macro}{\floatcontentsright} +% When using \pkg{floatrow}, centring all floats is easy. This is +% not the case for other methods, and so some macros are provided. +% The definitions depend on whether \pkg{floatrow} is in use. +% \begin{macrocode} +\@ifpackageloaded{floatrow}{% + \newcommand*\floatcontentscentre{% + \floatsetup{objectset=centering}% + } + \newcommand*\floatcontentscenter{% + \floatsetup{objectset=centering}% + } + \newcommand*\floatcontentsright{% + \floatsetup{objectset=raggedleft}% + } + \newcommand*\floatcontentsleft{% + \floatsetup{objectset=raggedright}% + } +}{% +% \end{macrocode} +%\begin{macro}{\cst@floatboxreset} +%\begin{macro}{\@floatboxreset} +%\begin{macro}{\cst@everyfloat} +% When \pkg{floatrow} is not in use, then a low-level hack of +% \cs{@floatboxtreset} is used. +% \begin{macrocode} + \newcommand*\cst@floatboxreset{} + \newcommand*\cst@everyfloat{} + \let\cst@floatboxreset\@floatboxreset + \def\@floatboxreset{% + \cst@everyfloat + \cst@floatboxreset + } + \newcommand*{\floatcontentscentre}{% + \let\cst@everyfloat\centering + } + \newcommand*{\floatcontentscenter}{% + \let\cst@everyfloat\centering + } + \newcommand*{\floatcontentsleft}{% + \let\cst@everyfloat\relax + } + \newcommand*{\floatcontentsright}{% + \let\cst@everyfloat\raggedleft + } +} +\floatcontentsleft +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\subsubsection{Reference numbers in graphics} +% +%\begin{macro}{\schemerefmarker} +%\begin{macro}{\schemerefformat} +% The two macros \cs{schemerefmarker} and \cs{schemerefformat} +% are used to allow customisation of the behaviour of the package. +% Here defaults are provided. +% \begin{macrocode} +\newcommand*\schemerefmarker{TMP} +\newcommand*\schemerefformat{\textsf} +% \end{macrocode} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\cst@ref@count} +% The automatic numbering system needs a counter. +% \begin{macrocode} +\newcount\cst@ref@count +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\cst@ref@label} +%\begin{macro}{\cst@ref@load} +% The loading of support packages is set up as a macro, so that it can +% be delayed when \pkg{chemstyle} is in use. +% \begin{macrocode} +\newcommand*\cst@ref@label{} +\newcommand*\cst@ref@load{% + \ifcst@chemcompounds + \RequirePackage{chemcompounds} + \let\cst@ref@label\compound + \else + \RequirePackage{bpchem} + \let\cst@ref@label\CNlabel + \fi +} +\@ifpackageloaded{chemstyle}{}{% + \cst@ref@load +} +% \end{macrocode} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\schemeref} +%\begin{macro}{\chemschemeref} +% The main function is quite simple: just set up the substitution then +% hand over to \pkg{psfrag}. There is also some back-compatibility code +% for early versions of the package. +% \begin{macrocode} +\DeclareRobustCommand*\schemeref[2] + [\schemerefmarker\the\cst@ref@count]{% + \advance\cst@ref@count\@ne\relax + \psfrag{#1}[b][b]{% + \schemerefformat{\cst@ref@label{#2}}% + }% +} +\DeclareRobustCommand*\chemschemeref[1]{% + \schemeref[#1]% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\schemerefsub} +%\begin{macro}{\chemschemerefsub} +%\begin{macro}{\cst@ref@check@sub} +% Sub-referencing is only available with \pkg{bpchem}: other than that, +% very similar to above. +% \begin{macrocode} +\DeclareRobustCommand*\schemerefsub[3] + [\schemerefmarker\the\cst@ref@count]{% + \advance\cst@ref@count\@ne\relax + \psfrag{#1}[b][b]{% + \schemerefformat{\CNlabelsub{#2}{#3}}% + }% +} +\DeclareRobustCommand*\chemschemerefsub[1]{% + \schemerefsub[#1]% +} +\newcommand*\cst@ref@check@sub{% + \@ifpackageloaded{bpchem}{}{% + \def\schemerefsub[3][]{% + \PackageWarning{chemscheme}{% + \string\schemerefsub\space not available unless bpchem + \MessageBreak package is loaded + }% + }% + }% +} +\AtBeginDocument{\cst@ref@check@sub} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +% +% That ends the \pkg{chemscheme} package. +% \begin{macrocode} +%</chemscheme> +% \end{macrocode} +% +%\subsection{Journal definition files} +% +% The journal files are all rather similar. They set a series of keys +% and perhaps make other changes. +% +%\subsubsection{\emph{Angew.\ Chem.}\ style} +% +% \begin{macrocode} +%<*angew> +\ProvidesFile{angew.chemstyle.cfg} + [2013/07/03 v2.0m Angew. Chem. journal style] +\setkeys{cst}{ + abbremph = false, + radhyphen = false +} +\captionsetup{ + font = sf, + labelfont = {bf,it}, + labelsep = period, + singlelinecheck = off +} +\captionsetup[table]{ + labelsep = colon +} +%</angew> +% \end{macrocode} +% +%\subsubsection{\emph{Inorg.\ Chem.}\ style} +% +% \begin{macrocode} +%<*ic> +\ProvidesFile{ic.chemstyle.cfg} + [2013/07/03 v2.0m Inorg. Chem. journal style] +\DeclareCaptionLabelSeparator{perquad}{.\quad} +\captionsetup{ + labelfont = {bf,it,sf}, + labelsep = perquad, + singlelinecheck = off + textfont = rm +} +\captionsetup[figure]{ + textfont = rm +} +\setkeys{cst}{ + abbrcomma = true, + abbremph = false, + notesbefore = false, + radhyphen = false, + radsuper = true +} +\@ifpackageloaded{floatrow}{% + \floatsetup[scheme]{style=plaintop} +}{% + \floatstyle{plaintype} + \restylefloat{scheme} + \floatstyle{plain} +} +%</ic> +% \end{macrocode} +% +%\subsubsection{\emph{J.~Am.\ Chem.\ Soc.}\ style} +%\changes{v2.0e}{2009/12/28}{Added missing comma after +% \texttt{singlelinecheck = off}} +% +% \begin{macrocode} +%<*jacs> +\ProvidesFile{jacs.chemstyle.cfg} + [2013/07/03 v2.0m J. Am. Chem. Soc. journal style] +\DeclareCaptionLabelSeparator{perquad}{.\quad} +\captionsetup{ + labelfont = {bf,it,sf}, + labelsep = perquad, + singlelinecheck = off, + textfont = sf +} +\captionsetup[figure]{ + textfont = rm +} +\setkeys{cst}{ + abbrcomma = true, + abbremph = false, + notesbefore = false, + radhyphen = false, + radsuper = true +} +\@ifpackageloaded{floatrow}{% + \floatsetup[scheme]{style=plaintop} +}{% + \floatstyle{plaintype} + \restylefloat{scheme} + \floatstyle{plain} +} +%</jacs> +% \end{macrocode} +% +%\subsubsection{\emph{J.~Organomet.\ Chem.}\ style} +% +% \begin{macrocode} +%<*jomc> +\ProvidesFile{jomc.chemstyle.cfg} + [2013/07/03 v2.0m J. Organomet. Chem. journal style] +\setkeys{cst}{ + abbremph = false, + radhyphen = true, + radsuper = true, +} +\captionsetup{ + labelsep = period, +} +\captionsetup[table]{ + labelsep = newline, + singlelinecheck = off +} +\AtBeginDocument{% + \def\figurename{Fig.}% +} +%</jomc> +% \end{macrocode} +% +%\subsubsection{\emph{J.~Phys.\ Chem.}\ style} +% +% \begin{macrocode} +%<*jpc> +\ProvidesFile{jpc.chemstyle.cfg} + [2013/07/03 v2.0m J. Phys. Chem. journal style] +\DeclareCaptionFormat{labelcaps}{\MakeUppercase{#1}#2#3} +\captionsetup{ + font = bf, + format = labelcaps, + labelsep = colon, + singlelinecheck = off +} +\captionsetup[figure]{ + format = plain, + labelsep = period, + textfont = md +} +\setkeys{cst}{ + abbrcomma = true, + abbremph = false, + notesbefore = false, + radhyphen = false +} +\@ifpackageloaded{floatrow}{% + \floatsetup[scheme]{style=plaintop} +}{% + \floatstyle{plaintype} + \restylefloat{scheme} + \floatstyle{plain} +} +%</jpc> +% \end{macrocode} +% +%\subsection{\emph{Org.\ Lett.}\ style} +% +% \begin{macrocode} +%<*orglett> +\ProvidesFile{orglett.chemstyle.cfg} + [2013/07/03 v2.0m Org. Lett. journal style] +\DeclareCaptionLabelSeparator{perquad}{.\quad} +\captionsetup{ + labelfont = bf, + labelsep = perquad +} +\setkeys{cst}{ + abbrcomma = true, + abbremph = false, + notesbefore = false, + radhyphen = false, + radsuper = true +} +% \end{macrocode} +% The \emph{Org.\ Lett.}\ style is a it more complicated than all of +% the others as the float formatting is much more complicated. First, +% colour support is needed. +% \begin{macrocode} +\RequirePackage{xcolor} +% \end{macrocode} +%\begin{macro}{\fs@orglett} +%\begin{macro}{\fs@orglettfig} +% For \pkg{float}, some new styles based on the supplied \texttt{ruled} +% one. +% \begin{macrocode} +\newcommand*\fs@orglett{% + \def\@fs@cfont{\bfseries}% + \let\@fs@capt\floatc@ruled + \def\@fs@pre{% + \begingroup + \color{purple}% + \hrule height 12pt depth 0pt\relax + \kern 2pt\relax + \endgroup + }% + \def\@fs@mid{% + \vspace\belowcaptionskip\relax + }% + \def\@fs@post{% + \begingroup + \color{purple}% + \kern 2pt\relax + \hrule height 1.5pt depth 0pt\relax + \endgroup + }% + \let\@fs@iftopcapt\iftrue +} +\newcommand*\fs@orglettfig{% + \def\@fs@cfont{\bfseries}% + \let\@fs@capt\floatc@plain + \def\@fs@pre{% + \begingroup + \color{purple}% + \hrule height 12pt depth 0pt\relax + \kern 2pt\relax + \endgroup + }% + \def\@fs@mid{% + \vspace\abovecaptionskip\relax + }% + \def\@fs@post{% + \begingroup + \color{purple}% + \kern 2pt\relax + \hrule height1.5pt depth 0pt\relax + \endgroup + }% + \let\@fs@iftopcapt\iffalse +} +% \end{macrocode} +%\end{macro} +%\end{macro} +% +% \begin{macrocode} +\DeclareFloatVCode{orglettthickrule}{% + \par + \begingroup + \color{purple}% + \hrule height 12pt depth 0pt\relax + \vskip 2pt\relax + \endgroup + \par +} +\DeclareFloatVCode{orglettlowrule}{% + \par + \begingroup + \vskip 2pt\relax + \hrule height 1.5pt depth 0pt\relax + \endgroup + \par +} +% \end{macrocode} +% With that done, things can be applied. +% \begin{macrocode} +\@ifpackageloaded{floatrow}{% + \floatsetup{ + capposition = top, + heightadjust = all, + postcode = orglettlowrule, + precode = orglettthickrule, + midcode = rule, + } + \floatsetup[figure]{ + capposition = bottom, + heightadjust = all, + postcode = orglettlowrule, + precode = orglettthickrule, + midcode = rule, + } +}{% + \floatstyle{orglettfig} + \restylefloat{figure} + \floatstyle{orglett} + \restylefloat{scheme} + \restylefloat{table} +} +%</orglett> +% \end{macrocode} +% +%\subsubsection{Royal Society of Chemistry style} +% +% \begin{macrocode} +%<*rsc> +\ProvidesFile{rsc.chemstyle.cfg} + [2013/07/03 v2.0m RSC journal style] +\captionsetup{ + labelsep = quad, + labelfont = bf +} +\AtBeginDocument{% + \def\figurename{Fig.}% +} +%</rsc> +% \end{macrocode} +% +%\subsubsection{\emph{Tetrahedron Lett.}\ style} +% +% \begin{macrocode} +%<*tetlett> +\ProvidesFile{tetlett.chemstyle.cfg} + [2013/07/03 v2.0m Tetrahedron Lett. journal style] +\captionsetup{ + labelsep = period, + labelfont = bf, + singlelinecheck = off +} +\setkeys{cst}{ + abbrcomma = true, + abbremph = false, +} +%</tetlett> +% \end{macrocode} +% +%\Finale +% +%\iffalse +%<*demo> +%</demo> +%<*scheme> +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: ChemDraw Std(tm) 10.0 +%<!labels>%%Title: scheme-one.eps +%<labels>%%Title: scheme-two.eps +%%CreationDate: 21/07/2007 12:00 +%%DocumentSuppliedProcSets: chemdict30 24 13 +%%DocumentFonts: Helvetica Helvetica-Oblique +%%BoundingBox: 30 78 288 144 +%%EndComments +%%BeginProcSet: chemdict30 24 13 +% ChemDraw Laser Prep +% Copyright � 1985-2005 CambridgeSoft Corp., All Rights Reserved +userdict/chemdict30 210 dict put +chemdict30 begin/version 24 def/sv 13 def +/b{bind def}bind def/L{load def}b/R{null def}b/d/def L/a/add L/al/aload L +/as/astore L/at/atan L/cp/closepath L/cv/curveto L/cw/currentlinewidth L +/cpt/currentpoint L/dv/div L/D/dup L/e/exch L/F/false L/f/fill L/fa/forall L +/g/get L/gi/getinterval L/gr/grestore L/gs/gsave L/ie/ifelse L/ix/index L +/l/lineto L/mt/matrix L/M/moveto L/m/mul L/n/neg L/np/newpath L/pb/pathbbox L +/P/pop L/r/roll L/rl/rlineto L/rm/rmoveto L/ro/rotate L/rp/repeat L +/ru/round L/sc/scale L/sl/setlinewidth L/sm/setmatrix L/st/stroke L +/sp/strokepath L/sq/sqrt L/s/sub L/T/true L/tr/transform L/xl/translate L +/xc/exec L/A R/N R/St R/X R/Y R/aL R/bL R/bS R/bd R/bs R/cX R/cY R/ch R/co R +/fB R/fI R/fS R/fZ R/fl R/ft R/iX R/iY R/idx R/lh R/llx R/lly R/lp R/nH R +/nSq R/newdict R/ps R/rad R/rev R/sL R/sba R/sbl R/sbs R/sn R/spa R/tB R +/typ R/urx R/ury R/w R/wF R/xX R/xY R/rBg R/gBg R/bBg R/gry R/rDst R/gDst R +/bDst R/cpd R/Aeq R/Ath R/Aos R/Ach R/ed R/sf 20 d/cW 20 d/lW 20 d/bW 75 d +/wF 1.5 d/aF 11.875 d/aR 0.263 d/aA 50 d/hS 54 d/pA 32 d/sh F d/S{sf m}b +/dL{[hS] 0 setdash}b/o{1 ix}b/rot{3 -1 r}b/x{e d}b/CMT mt d/TM mt d +/SM{CMT sm}b/XY{X D m Y D m a sq}b/s1 1 string d/fp{T charpath flattenpath}b +/p{tr ru 0.25 a e ru 0.25 a e itransform}b/Wd{65536. dv}b +/C{Wd rot Wd rot Wd rot setrgbcolor}b +/setcmykcolor where{P/sk/setcmykcolor L}{/sk{4 1 r 3{3 ix a D 0 lt{P 0}if D 1\ + gt{P 1}if 1 e s 3 1 r}rp setrgbcolor P}b}ie/sg{D currenthsbcolor P rot seths\ +bcolor currenthsbcolor e P e P o s D m .001 gt{setgray}{P}ie}b +/sBg{65535 dv/bBg x 65535 dv/gBg x 65535 dv/rBg +x}b +/sRmp{currentrgbcolor bBg e s/bDst x gBg e s/gDst x rBg e s/rDst x}b +/dD{np 2 1 r 4 2 r xl 2 dv D sc -1 0 M 0 -1 l 1 0 l 0 1 l cp SM 0 ne{f}{lW 0.\ +8 m sl st}ie}b +/dM{gs np 3 1 r xl D sc 0 4 M 0 -8 rl 3.5 2 rm -7 4 rl 0 -4 rm 7 4 rl SM st g\ +r}b/dQ{gs np 0 360 arc 0.5 sg f gr}b +/dR{lW 0.8 m sl 2 ix s/Y x 2 ix s/X x xl Rr SM st}b +/dT{fp pb 3 1 r s 3 2 r s 2 1 r rm f}b/N 0 d/db{array/bs x/N 0 d}b +/B{bs N rot put/N N 1 a d}b +/SpA{gs np o o xl rot s e rot s o 0 ne o 0 ne or{at ro}{P P}ie +aR aL m n D aL a 0 M 0 o n aA n aA arc cp f gr}b +/SpH{gs np o o xl rot s e rot s o 0 ne o 0 ne or{at ro}{P P}ie +0 cw 2 dv xl +aR aL m n D aL a 0 M 0 o n aA n 0 arc cp f gr}b/Sp{/St x 0.316/aR x gs +aF lW m 0.8 m St 4 and 0 ne{bW m lW dv bW sl}if/aL x +St 8 and 0 ne{8 ix 8 ix 3 ix 3 ix SpA}if +St 16 and 0 ne{2 ix 6 m 1 a D ix e D ix e D ix e D ix e P SpA}if +St 32 and 0 ne{8 ix 8 ix 3 ix 3 ix SpH}if +St 64 and 0 ne{2 ix 6 m 1 a D ix e D ix e D ix e D ix e P SpH}if +St 2 and 0 ne{St 4 and 0 ne{[hS bW m lW dv] 0 setdash}{dL}ie}if +np M{cv}rp St 128 and 0 ne{f}{st}ie gr}b/Ha{gs np 3 1 r +xl D sc -.7 1.4 M 0.7 1.4 l -.7 2.4 M 0.7 2.4 l SM st gr}b +/OP{3 ix 3 ix xl 3 -1 r s 3 1 r +e s o o at ro D m e D m a sq}b +/OB{/bS x OP D bS dv D lW 2 m lt{P lW 2 m}if/bd x}b +/DA{np 0 0 M aL 0 aR aL m 180 aA s 180 aA a arc cp f}b +/OA{np 0 cw -2 dv M aL 0 aR aL m 180 aA s +180 arc 0 cw -2 dv rl cp f}b +/Ast{SM cw 0.8 m sl st}b/SA{aF m lW m/aL x 0.263/aR x aL 1 aR s m np 0 M + rad 0 l gs Ast gr}b +/CA{aF lW m 0.8 m/aL x 0.316/aR x aL 1 aR s m 2 dv rad D m o D m s D 0 le{P +P P}{sq at 2 +m np rad 0 rad 180 6 -1 r s 180 6 -1 r s arc gs Ast gr cpt +e at ro}ie}b/AA{np rad 0 rad 180 180 6 -1 r a arc gs SM st gr}b +/RA{lW m/w x np rad w M w .7 dv w l rad w n M w .7 dv w n l w + .35 dv w 2 m M 0 0 +l w .35 dv w -2 m l st}b +/HA{lW m/w x np 0 0 M w 2 m D l w 2 m w l rad w l rad w n l w 2 m +w n l w 2 m D n l cp st}b +/Ar1{gs 5 1 r OP/rad x{{2.25 SA DA}{1.5 SA DA}{1 SA DA}{lW 4 m sl 4.5 SA DA} +{lW 4 m sl 3 SA DA}{lW 4 m sl 2 SA +DA}{270 CA DA}{180 CA DA}{120 CA DA}{90 CA DA}{2.5 RA}{2.5 +HA}{1 -1 sc 270 CA DA}{1 -1 sc 180 CA DA}{1 -1 sc 120 CA DA}{1 -1 sc 90 CA +DA}{5 RA}{5 HA}{dL 2.25 SA DA}{dL 1.5 SA DA}{dL 1 SA DA}{2.25 SA OA}{1.5 SA +OA}{1 SA OA}{1 -1 sc 2.25 SA OA}{1 -1 sc 1.5 SA OA} +{1 -1 sc 1 SA OA}{270 CA OA}{180 CA OA}{120 CA OA}{90 CA OA}{1 -1 sc 270 CA +OA}{1 -1 sc 180 CA OA}{1 -1 sc 120 CA OA}{1 -1 sc 90 CA OA}{1 -1 sc 270 +AA}{1 -1 sc 180 AA}{1 -1 sc 120 AA}{1 -1 sc 90 AA}}e g xc +gr}b/ac{arcto 4{P}rp}b/rO{4 cw m}b/Cr{0 0 1 0 360 arc}b/Ac{XY D sc Cr SM}b +/OrA{Y X at ro XY D rev{neg}if sc}b/Ov{OrA 1 0.4 sc Cr SM}b +/Asc{OrA 1 27 dv D sc}b/LB{9 -6 M +21 -10 27 -8 27 0 cv +27 8 21 10 9 6 cv +-3 2 -3 -2 9 -6 cv +cp}b/DLB{0 0 M +0 0 -9.51 9.65 -9.51 18.02 cv +-9.51 23.22 -6.75 27 0 27 cv +6.75 27 9.51 23.22 9.51 18.02 cv +9.51 9.65 0 0 0 0 cv +cp}b/ZLB{LB}b +/dt{gs np M SM cpt np rot 4.5 dv 0 360 arc f gr}b +/whf{gs 1 setgray f gr SM st}b/blf{gs f gr SM st}b/Rr{0 rO M +0 Y X Y rO ac +X Y X 0 rO ac +X 0 0 0 rO ac +0 0 0 Y rO ac +cp}b/Rc{0 0 M +0 Y l +X Y l +X 0 l +cp}b/grf{gs 0.5 sg f gr SM st}b/gG{D 32 dv D m 1 e s/gry x +currentrgbcolor bDst gry m a 3 1 r gDst gry m a 3 1 r rDst gry m a 3 1 r +setrgbcolor}b/gS{dtransform CMT idtransform +m D 0 lt{n}if sq n D +CMT dtransform idtransform +e 2 m e +xl +7 m 32 a 256 dv D sc}b/gLB{sh{sRmp +32 -0.5 0.5{gs +gG +13.5 0 xl +D 32 s 64 dv 13.5 m D 7 m 24 dv +gS +-13.5 0 xl +LB f +gr}for +LB SM st}{LB grf}ie}b/gOv{sh{sRmp +32 -0.5 0.5{gs +gG +D 32 s 64 dv 0.65 m D +gS +Cr f +gr}for +Cr SM st}{Cr grf}ie}b/gAc{sh{sRmp +32 -0.5 0.5{gs +gG +D 32 s 64 dv D +gS +Cr f +gr}for +Cr SM st}{Cr grf}ie}b +/gDLB{sh{sRmp +32 -0.5 0.5{gs +gG +0 13.5 xl +D 32 s 64 dv 13.5 m D 7 m 24 dv e +gS +0 -13.5 xl +DLB f +gr}for +DLB SM st}{DLB grf}ie}b/gRr{sh{sRmp +32 -0.5 0.5{gs +gG +X 2 dv Y 2 dv xl +D 32 s 64 dv X Y lt{X}{Y}ie m 0.25 m D +gS +X -2 dv Y -2 dv xl +Rr f +gr}for +Rr SM st}{Rr grf}ie}b/gRc{sh{sRmp +32 -0.5 0.5{gs +gG +X 2 dv Y 2 dv xl +D 32 s 64 dv X Y lt{X}{Y}ie m 0.25 m D +gS +X -2 dv Y -2 dv xl +Rc f +gr}for +Rc SM st}{Rc grf}ie}b/gZLB{gLB}b/Ath{Y X at ro XY 2 dv/rad x gs D SA DA gr + rad 2 m 0 xl 180 ro SA DA}b/Aeq{Y X at ro XY/rad x +rev{1 -1 sc}if +gs +0 lW 2 m xl +D SA OA +gr +rad 0 xl +180 ro +0 lW 2 m xl +SA OA}b/Aos{X Y M SM cpt xl XY e dv lW 1.667 m o o lt{e}if P D sc}b/Ach{5 Aos +gs/Helvetica findfont[1 0 0 -1 0 0]makefont 5.5 scalefont setfont +D stringwidth P 2 dv D 1 a/rad x +n 0 M show gr +rad 2 s -5 M +rad n -5 rad n 1 2 ac +rad n 1 rad 1 2 ac +rad 1 rad -5 2 ac +rad -5 rad n -5 2 ac +cp Ast}b/Ar{D 39 lt{Ar1} +{gs 5 1 r o o xl 3 -1 r e s 3 1 r s e +o 0 lt o 0 lt ne/rev x +D 0 lt{1 -1 sc neg}if/Y x D 0 lt{-1 1 sc neg} +if/X x np{{Y 16 div D 2 S lt{P 2 S}if/lp x +lp 0 M 0 0 l 0 Y l lp Y l +X lp s 0 M X 0 l X Y l X lp s Y l SM st}{Y 16 div D 2 S lt{P 2 S}if/lp x +lp 0 M +0 0 0 Y lp ac +0 Y 2 dv lp neg o lp ac +0 Y 2 dv 0 Y lp ac +0 Y lp Y lp ac +X lp s 0 M +X 0 X Y lp ac +X Y 2 dv X lp a o lp ac +X Y 2 dv X Y lp ac +X Y X lp s Y lp ac SM st}{Y D 2 dv Y 180 pA s 180 pA a arc st +np X Y s Y 2 dv +Y pA D neg arcn st}{Rc SM st}{X lW 2 dv a lW -2 dv M +rO D rl +X lW 2 dv a rO a Y lW 2 dv a rO a l +rO lW -2 dv a Y lW 2 dv a rO a l +lW -2 dv Y lW 2 dv a l +0 Y l X Y l X 0 l cp f +0 0 M +0 Y l +X Y l +X 0 l cp +SM st}{Rr SM st}{rO Y M rO rO xl +0 Y X Y rO ac +X Y X 0 rO ac +X 0 0 0 rO ac +rO neg D xl X Y 0 Y rO ac +cp f +Rr st}{Ac st}{OrA gAc}{Ov st}{OrA 1 .4 sc gOv}{Asc LB whf}{Asc gLB} +{Asc gs gLB gr +-1 -1 sc LB whf}{Asc gs gLB gr +-0.4 -0.4 sc LB whf}{Asc LB gs whf gr +np -0.4 -0.4 sc gLB}{Asc DLB -1 -1 sc DLB gs whf gr +np 90 ro gs gDLB gr -1 -1 sc gDLB}{Asc gs -1 -1 sc ZLB whf gr +gs 3.6 12 sc gOv gr +ZLB whf}{Asc gs -1 -1 sc gZLB gr +gs 3.6 12 sc Cr whf gr +gZLB}{0 0 M X Y l SM st}{bW sl 0 0 M X Y l SM st} +{dL 0 0 M X Y l SM st}{OrA 1 16 dv D sc +0 -1 M +0 0 1 0 1 ac +8 0 8 1 1 ac +8 0 16 0 1 ac +16 0 16 -1 1 ac +SM st}{XY D 0 0 dt X Y dt}{XY 2 dv X Y dt}{XY D X Y dt 0 0 M SM cpt xl +2 dv D sc +1 0 M -1 0 l +0 1 M 0 -1 l +Ast}{XY D X Y dt 0 0 M SM cpt xl +2 dv D sc +1 0 M -1 0 l +Ast}{4.5 Aos +1 0 M -1 0 l +0 1 M 0 -1 l +2 0 M 0 0 2 0 360 arc +Ast}{4.5 Aos +1 0 M -1 0 l +2 0 M 0 0 2 0 360 arc +Ast}{2.25 Ath}{1.5 Ath}{1 Ath}{2.25 Aeq}{1.5 Aeq}{1 Aeq}{OrA 1 16 dv D sc +0 -1 M 0 0 l 16 0 l 16 -1 l SM st}{5 Aos +1 -1 M -1 -1 l +0 2 M 0 -2 l +Ast}{5 Aos +1 -1 M -1 -1 l +1 1 M -1 1 l +0 2 M 0 -2 l +Ast}{4.5 Aos +1 0 M -1 0 l +0 1 M 0 -1 l +Ast}{4.5 Aos +1 0 M -1 0 l +Ast}{gRc}{gRr}{Rc blf}{Rr blf}{Ac blf}{Ov blf}{Asc DLB -1 -1 sc DLB gs whf gr +np 90 ro DLB -1 -1 sc DLB blf}{Asc gs -1 -1 sc ZLB blf gr +gs 3.6 12 sc Cr whf gr +ZLB blf}{Asc gs -1 -1 sc ZLB whf gr +gs 3.6 12 sc Cr blf gr +ZLB whf}{Asc LB gs whf gr +np -0.4 -0.4 sc LB blf}{Asc LB gs f gr gs SM st gr +np -0.4 -0.4 sc LB whf}{Asc LB blf}{Asc LB gs f gr gs SM st gr +np -1 -1 sc LB whf}{Ac whf}{OrA gAc}{Ac blf}{Ov whf} +{OrA 1 .4 sc gOv}{Ov blf}{(Rac)Ach}{(Abs)Ach}{(Rel)Ach} +}e 39 s g xc gr}ie}b/DS{np M l st}b +/DD{gs dL DS gr}b/DB{gs 12 OB bW sl np 0 0 M 0 l st gr}b/ap{e 3 ix a +e 2 ix a}b/PT{D 2 4 gi al P OP D 1 sc +o length 6 gt{P 6 g}{e P 8 dv}ie +D lW 2 m lt{P lW 2 m}if +0 e +0 0 +3 -1 r s 3 1 r e s e +0 0 M 1 0 l +0 0 ap M 1 0 ap l +e n e n +0 0 ap M 1 0 ap l +P P}b/DT{gs np PT SM st gr}b +/NH{lW s D hS dv ru +cvi D 0 eq{P 1}if/nH x +D hS nH m s +D 0 lt{P .1 s nH dv}{nH 2 a dv D 0 xl 2 m s nH dv}ie}b +/Bd{D type/arraytype ne{bs e g}if{{P}{{{DS}{DD}{gs 12 OB np +bW 2 dv/bd x +lW 2 dv e D NH e{D bd M bd n l}for +st gr}{gs 12 OB np +lW 2 dv 0 xl NH 1 sc +bW 2 dv wF m nH 1 a dv/bd x +0 1 nH +{D 1 a bd m o o M n l}for SM st gr}{P}{DB}{gs 12 OB +np 0 lW 2 dv o o n M l bW 2 dv +wF m o o l n l +cp f gr}{P}{gs 12 OB/bL x +bW 2 dv D lW lt{P lW}if/bd x np 0 0 M +bL bd 4 m dv ru 2 o o lt{e}if P cvi/nSq x +bL nSq 2 m dv D sc +nSq{.135 .667 .865 .667 1 0 rcurveto +.135 -.667 .865 -.667 1 0 rcurveto}rp SM st gr}{gs 12 OB +np 0 lW 2 dv o o n M l bW 2 dv +wF m o o l n l +cp SM lW 0.8 m sl st gr}{P}{4 2 r gs OP/rad x 1 SA DA gr}{P} +}o 1 g 1 s g e 2 4 gi al P +5 -1 r xc}{al P 8 ix 1 eq{DD}{DS}ie 5 -1 r 2 eq{DB}{DS}ie P}{DT}}o 0 g g xc}b +/ed{gs cpt np cw 2 dv 0 360 arc f gr}b +/SPe{gs 0 e xl 1 1 S dv D n sc CMT currentmatrix P lW sl 4.0 setmiterlimit +np}b/ws{Wd 0 32 4 -1 roll widthshow}b/blank/Times-Roman findfont/CharStrings +g/space g d/mv 256 array d/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT +/FF/CR/SO/SI +/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US +mv 0 32 gi as P +mv 32/Times-Roman findfont/Encoding get +32 96 gi putinterval +mv 39/quotesingle put +mv 96/grave put/unknown/unknown/quotesinglbase/florin/quotedblbase/ellipsis +/dagger/daggerdbl +/circumflex/perthousand/Scaron/guilsinglleft/OE/unknown/unknown/unknown +/unknown/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash +/emdash +/tilde/trademark/scaron/guilsinglright/oe/unknown/unknown/Ydieresis +/blank/exclamdown/cent/sterling/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered +/macron +/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph +/periodcentered +/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf +/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis +mv 128 128 gi as P/fSt 50 string d(ChemDraw)fSt copy P/fD{D/Symbol eq{ +findfont[1 0 0 -1 0 0]makefont}{D {findfont}stopped{/Helvetica findfont}if +D length dict/newdict x{ +1 index/FID ne{1 index/FontMatrix eq{[1 0 0 -1 0 0]matrix concatmatrix}if +newdict 3 1 r put}{P P}ie}forall +newdict/Encoding mv put +fSt 8 fSt length 8 sub gi cvs length 8 add +fSt 0 rot gi cvn newdict definefont}ie}b/ts{gs xl ro 0 0 M}b +/nl{0 e xl 0 0 M}b/tx{ft e g e sf m rot D 96 and 0 ne{ +64 and 0 ne{-0.5}{0.25}ie e 0.75 m}{P 0 e}ie +D 4 -1 r e scalefont setfont m cpt P e M}b +end +%%EndProcSet +%%EndProlog + +chemdict30 begin +/cW 24 def +/bW 48 def +/lW 12 def +/hS 32 def +/sh true def +222 SPe[ +/Helvetica +fD +/Helvetica-Oblique +fD]/ft x +600 1560 M +5760 1560 l +5760 2880 l +600 2880 l +cp clip np +65535 65535 +65535 sBg +0 1640 2178 ts +0.0000 0.0000 0.0000 1.0000 sk +0 10 0 tx +(N)show +gr +0 1182 2178 ts +0.0000 0.0000 0.0000 1.0000 sk +0 10 0 tx +(N)show +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +1619 2364 M +1627 2376 l +1335 2376 l +1344 2364 l +cp +f +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +1598 2330 M +1598 2342 l +1364 2342 l +1364 2330 l +cp +f +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +1669 2208 M +1681 2212 l +1627 2376 l +1619 2364 l +cp +f +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +1481 1941 M +1481 1926 l +1629 2034 l +1622 2043 l +cp +f +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +1343 2041 M +1336 2032 l +1481 1926 l +1481 1941 l +cp +f +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +1363 2069 M +1356 2059 l +1478 1971 l +1485 1981 l +cp +f +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +1344 2364 M +1335 2376 l +1282 2212 l +1293 2209 l +cp +f +gr +0 1033 2091 ts +0.0000 0.0000 0.0000 1.0000 sk +-377 +0 M +0 10 0 tx +(Mes)show +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +1055 2043 M +1059 2031 +l +1167 2066 l +1163 2078 l +cp +f +gr +0 1897 2091 ts +0.0000 0.0000 0.0000 1.0000 sk +0 10 0 tx +(Mes)show +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +1878 2040 M +1882 2051 +l +1802 2077 l +1798 2066 l +cp +f +gr +gs +12 D sl/lW x +24 /cW x +48 /bW x +32 /hS x +0.0000 0.0000 0.0000 1.0000 sk +10 D sl/lW x +1228 1973 M +1295 +1973 l st +1261 1940 M +1261 2006 l st +gr +0 2085 2400 ts +0.0000 0.0000 0.0000 1.0000 sk +0 10 0 tx +(Br)show +64 10 0 tx +(\226)show +gr +0 5084 2247 ts +0.0000 0.0000 0.0000 1.0000 sk +0 10 0 tx +(N)show +gr +0 4625 2247 ts +0.0000 0.0000 0.0000 1.0000 sk +0 10 0 tx +(N)show +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +5062 2433 M +5071 2445 l +4778 2445 l +4787 2433 l +cp +f +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +5042 2399 M +5042 2411 l +4808 2411 l +4808 2399 l +cp +f +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +5113 2277 M +5124 2281 l +5071 2445 l +5062 2433 l +cp +f +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +4925 2010 M +4925 1995 l +5072 2102 l +5065 2112 l +cp +f +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +4787 2110 M +4779 2101 l +4925 1995 l +4925 2010 l +cp +f +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +4787 2433 M +4778 2445 l +4725 2281 l +4737 2278 l +cp +f +gr +0 4476 2160 ts +0.0000 0.0000 0.0000 1.0000 sk +-377 0 M +0 10 0 tx +(Mes)show +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +4498 2112 M +4502 2100 +l +4610 2135 l +4606 2147 l +cp +f +gr +0 5340 2160 ts +0.0000 0.0000 0.0000 1.0000 sk +0 10 0 tx +(Mes)show +gr +gs +0.0000 0.0000 0.0000 1.0000 sk +np +5321 2109 M +5325 2120 +l +5246 2146 l +5243 2134 l +cp +f +gr +gs +12 D sl/lW x +24 /cW x +48 /bW x +32 /hS x +0.0000 0.0000 0.0000 1.0000 sk +np +4962 1946 17 0 360 arc +cp +f +np +4887 1946 17 0 360 arc +cp +f +gr +0 3236 1785 ts +0.0000 0.0000 0.0000 1.0000 sk +-364.5 0 M +0 10 0 tx +(KO-)show +2 10 1 tx +(t)show +0 10 0 tx +(-Bu)show +201 nl +-114.5 0 M +0 10 0 tx +(thf)show +gr +gs +12 D sl/lW x +24 /cW x +48 /bW x +32 /hS x +0.0000 0.0000 0.0000 1.0000 sk +10 D sl/lW x +3597 2130 M +2771 2130 l st +gs +3581 2161 3701 2130 3701 2130 3596 2143 3581 2161 3581 2161 3581 2098 +3596 2116 3596 2130 3701 2130 3581 2098 3581 2098 4 3701 2130 0 Sp +gr +gr +0 +1215 2805 ts +0.0000 0.0000 0.0000 1.0000 sk +0 10 0 tx +%<labels>(TMP1)show +gr +0 4642 2805 ts +0.0000 0.0000 0.0000 1.0000 sk +0 10 0 tx +%<labels>(TMP2)show +gr +gr end +%%Trailer +showpage +%</scheme> + +%\fi
\ No newline at end of file diff --git a/macros/latex/contrib/chemstyle/chemstyle.ins b/macros/latex/contrib/chemstyle/chemstyle.ins new file mode 100644 index 0000000000..f238eaa708 --- /dev/null +++ b/macros/latex/contrib/chemstyle/chemstyle.ins @@ -0,0 +1,91 @@ +%% +%% This is file `chemstyle.ins', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% chemstyle.dtx (with options: `install') +%% ---------------------------------------------------------------- +%% The chemstyle bundle --- Schemes and style for chemistry +%% 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 +%% ---------------------------------------------------------------- +%% +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +---------------------------------------------------------------- +The chemstyle bundle --- Schemes and style for chemistry +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 +---------------------------------------------------------------- + +\endpreamble +\postamble + +Copyright (C) 2006-2011,2013 by + Joseph Wright <joseph.wright@morningstar2.co.uk> + +It may be distributed and/or modified under the conditions of +the LaTeX Project Public License (LPPL), either version 1.3c of +this license or (at your option) any later version. The latest +version of this license is in the file: + + http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by + Joseph Wright. + +This work consists of the file chemstyle.dtx and + chemstyle.cdx, + and the derived files chemstyle.pdf, + chemstyle.ins, + chemstyle.sty, + chemscheme.sty, + and a number of .cfg files. + +\endpostamble +\usedir{tex/latex/chemstyle} +\generate{ + \file{chemstyle.sty}{\from{chemstyle.dtx}{package}} + \file{chemscheme.sty}{\from{chemstyle.dtx}{chemscheme}} +} +\usedir{tex/latex/chemstyle/config} +\generate{ + \file{angew.chemstyle.cfg}{\from{chemstyle.dtx}{angew}} + \file{ic.chemstyle.cfg}{\from{chemstyle.dtx}{ic}} + \file{jacs.chemstyle.cfg}{\from{chemstyle.dtx}{jacs}} + \file{jomc.chemstyle.cfg}{\from{chemstyle.dtx}{jomc}} + \file{rsc.chemstyle.cfg}{\from{chemstyle.dtx}{rsc}} + \file{orglett.chemstyle.cfg}{\from{chemstyle.dtx}{orglett}} + \file{tetlett.chemstyle.cfg}{\from{chemstyle.dtx}{tetlett}} +} +\endbatchfile + +%% +%% Copyright (C) 2006-2011,2013 by +%% Joseph Wright <joseph.wright@morningstar2.co.uk> +%% +%% It may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License (LPPL), either version 1.3c of +%% this license or (at your option) any later version. The latest +%% version of this license is in the file: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This work is "maintained" (as per LPPL maintenance status) by +%% Joseph Wright. +%% +%% This work consists of the file chemstyle.dtx and +%% chemstyle.cdx, +%% and the derived files chemstyle.pdf, +%% chemstyle.ins, +%% chemstyle.sty, +%% chemscheme.sty, +%% and a number of .cfg files. +%% +%% +%% End of file `chemstyle.ins'. diff --git a/macros/latex/contrib/chemstyle/chemstyle.pdf b/macros/latex/contrib/chemstyle/chemstyle.pdf Binary files differnew file mode 100644 index 0000000000..d9db202b05 --- /dev/null +++ b/macros/latex/contrib/chemstyle/chemstyle.pdf |