diff options
author | Norbert Preining <preining@logic.at> | 2007-01-17 11:58:23 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2007-01-17 11:58:23 +0000 |
commit | b5ec079766fa8d6dbc259d58e0718df9f0700c4e (patch) | |
tree | 4d068e57f0f953b5f4d2f8cb9df6853c8692c455 /Master/texmf-dist/source | |
parent | 4afa224933dab11361f36492a645254f1bbe7173 (diff) |
achemso update from CTAN
git-svn-id: svn://tug.org/texlive/trunk@3548 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/achemso/00readme.acs | 31 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/achemso/achemso.dtx | 2965 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/achemso/achemso.ins | 79 |
3 files changed, 1020 insertions, 2055 deletions
diff --git a/Master/texmf-dist/source/latex/achemso/00readme.acs b/Master/texmf-dist/source/latex/achemso/00readme.acs deleted file mode 100644 index 98d1bebc56f..00000000000 --- a/Master/texmf-dist/source/latex/achemso/00readme.acs +++ /dev/null @@ -1,31 +0,0 @@ - -This is the file `00readme.acs', which accompanies the `achemso' -package distribution. The package formats BibTeX output in -accordance with the requirements of most journals of The American -Chemical Society. It also provides a convenient LaTeX interface to -be used with the BibTeX style file(s). To use the package, run LaTeX on -`achemso.ins', this produces the files `achemso.sty', which contains -the LaTeX macro definitions, the file `acslist.tex', which is a -template file to produce a complete listing of a BibTeX data base, -`achemso.bst' which is the main BibTeX style file of the package, -and `achemsol.bst' which is a BibTeX style file to be used when -producing complete BibTeX data base listings. To obtain the userguide -and documentation, run LaTeX on `achemso.dtx' twice. - -The 'achemso' package consists of two files: - achemso.ins - the installation driver - achemso.dtx - the macro code, instructions on how to use - the package, the listing template, and the - BibTeX style files `achemso.bst' and - `achemsol.bst' in `docstrip'-able format. -Anyone is free to re-distribute these files provided the restrictions -mentioned in 'achemso.ins' are obeyed. These are mainly that the -two files always must be distributed together and that noone is -allowed to distribute the files for profit. - -Inquiries can be sent to: <matsd@homenet.se>. -This file last modified on 1997/02/22. - -____________________________________________________________________ -Copyright (c) 1997 by Mats Dahlgren. - diff --git a/Master/texmf-dist/source/latex/achemso/achemso.dtx b/Master/texmf-dist/source/latex/achemso/achemso.dtx index 43c9790c6d4..ad82164e826 100644 --- a/Master/texmf-dist/source/latex/achemso/achemso.dtx +++ b/Master/texmf-dist/source/latex/achemso/achemso.dtx @@ -1,608 +1,387 @@ -% -% \iffalse -% -% The first part is a comment to the reader(s) of `achemso.dtx'. -% -% achemso.dtx Version 0.99, February 22, 1997 -% (c) 1996-97 by Mats Dahlgren (matsd@homenet.se) +% \iffalse +% ---------------------------------------------------------------- +% The achemso package - A BibTeX style for American Chemical +% Society publications +% Maintained by Joseph A. Wright +% E-mail: joseph.wright@morningstar2.co.uk +% Originally developed by Mats Dahlgren +% (c) 1996-98 by Mats Dahlgren +% (c) 2007 Joseph Wright +% Released under the LaTeX Project Public license v1.3 or later +% ---------------------------------------------------------------- % -% Please see the information in file `achemso.ins' on how you -% may use and (re-)distribute this file. Run LaTeX on the file -% `achemso.ins' to get a .sty file, .bst files, and a -% template list file. +%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01] +%<package>\ProvidesPackage{achemso} +%<package> [2007/01/17 v2.0 Enhancements for ACS publications] % -% This file may NOT be distributed if not accompanied by 'achemso.ins'. %<*driver> \documentclass[a4paper]{ltxdoc} -\textwidth=150mm -\textheight=210mm -\topmargin=0mm -\oddsidemargin=5mm -\evensidemargin=5mm -\begin{document} - \DocInput{achemso.dtx} +\usepackage[T1]{fontenc} +\usepackage[english,UKenglish]{babel} +\usepackage{achemso,rsc,booktabs,array,url} +\EnableCrossrefs +%\DisableCrossrefs % Say \DisableCrossrefs if index is ready +\RecordChanges % Gather update information +\CodelineIndex % Index code by line number +%\OnlyDescription +\GetFileInfo{achemso.sty} +\title{The \textsf{achemso} package --- A BibTeX style for American + Chemical Society publications\thanks{This file has version + number \fileversion, last revised \filedate.}} +\author{Joseph Wright + \thanks{E-mail: + joseph.wright@morningstar2.co.uk}} +\date{\filedate} +\begin{document} + \DocInput{achemso.dtx} \end{document} %</driver> -% \fi +% \fi +% \CheckSum{73} +% \changes{v1.0}{1998/06/01}{Initial release of package by Mats Dahlgren} +% \changes{v2.0}{2007/01/17}{Re-write of package by Joseph Wright} +% \changes{v2.0}{2007/01/17}{Several improvements to BibTeX style files} +% \changes{v2.0}{2007/01/17}{License changed to LPPL} % -% \CheckSum{142} +% \DoNotIndex{\def,\else,\fi,\global,\texttt,\ifx,\newif,\undefined} +% \DoNotIndex{\ProcessOptions,\DeclareOption,\OptionNotUsed,\@gobble} +% \DoNotIndex{\RequirePackage,\PackageWarning,\renewcommand,\@eha} +% \DoNotIndex{\@ifpackageloaded,\PackageError,\relax} % -% \def\filename{achemso.dtx} -% \def\fileversion{0.99} -% \def\filedate{1997/02/22}\def\docdate{\filedate} -% \def\BibTeX{\textrm{B\kern-.05em\textsc{i\kern-.025em b}\kern-.08em -% T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} -% \MakeShortVerb{\|} -% \date{\docdate} -% \title{\texttt{achemso}\\ -% -- A \BibTeX{} style for Chemistry Publications\thanks{This -% document describes \textsf{achemso} v.\fileversion{} and was last -% updated on \docdate .}} -% \author{Mats Dahlgren\\ (\texttt{matsd@homenet.se})} -% \maketitle -% \begin{abstract} -% The \textsf{achemso} package provides a \BibTeX{} style in -% accordance with -% the requirements of the journals of The American Chemical Society. -% It consists of both a \BibTeX{} style file and a \LaTeX{} -% package file. Also provided, is a \BibTeX{} style file to -% be used for bibliography data base listings via an option to -% the \LaTeX{} package \textsf{achemso}. -% \\ This file and the package: Copyright \copyright\ 1995-1997 by Mats -% Dahlgren. All rights reserved. -% \end{abstract} -% -% \section{Introduction} -% -% Since the journals of The American Chemical Society (ACS) do no accept -% manuscripts which are using the standard \BibTeX{} formats, the need -% for such a style package has been around for a while. I do -% sincerely hope that what I have accomplished with this package is -% $(i)$~that using \LaTeX{} and \BibTeX{} should be as easy as any -% other manuscript preparation system when preparing manuscripts for -% an ACS journal; $(ii)$~that the package is doing this correctly. -% The reference handeling in the refernece list and in the text is -% aimed to be in accordance with the requirements of \textit{Accounts -% of Chemical Research, Chemical Reviwes, Inorganic Chemistry, Journal -% of the American Chemical Society, Journal of Chemical Information -% and Computer Sciences, Journal of Medicinal Chemistry, Journal of -% Organic Chemistry, The Journal of Physical Chemistry, Langmuir, -% Macromolecules,} and \textit{Organometallics}. (All these journals -% use the same reference format.) -% -% The package consists of four files, |achemso.bst|, -% |achemsol.bst|, |achemso.dtx| and |achemso.ins|. -% After running |achemso.ins| trough \LaTeX , you should also have the -% files |achemso.sty| and |acslist.tex|. -% The latter is a \LaTeX{} input file (template file) to provide -% listing of a \BibTeX{} data base. This very documentation was -% obtained by running \LaTeX{} on |achemso.dtx|. -% -% However, there is already a \LaTeX{} 2.09 and -% \BibTeX{} style package called \textsf{acsarticle} and -% |acs.bst|, which are not ``ACS'' as in `American Chemical -% Society' (rather, this package is -% formatting the output according to the instructions of -% \textit{Advances in Control Systems}). Hence, \textit{this} -% new package had to be given another name. The name of choice -% was then \textsf{achemso}, which is made from the words -% ``\textit{A}merican \textit{Chem}ical \textit{So}ciety''. -% -% The \textsf{achemso} package has been tested with \LaTeXe{} of -% 1995/12/01 patch level 2 running \TeX{} 3.1415 and -% \LaTeX2e{} of 1996/06/01 (test release) running \TeX{} 3.14159 -% both together with \BibTeX{} version 0.99c, all under OpenVMS. -% Please send bug reports -% (see below), corrections, additions, suggestions, -% \textit{etc.}\ to me at \texttt{matsd@homenet.se}. -% -% The present version of the package is~\fileversion{}, of -% \filedate . It differs from previous versions in a change of -% the handeling of |phdthesis|, |mastersthesis|, and |book|. -% Version~0.1 produced an error for these entry types if the -% optional field |institution| was empty. This bug has been -% removed.\footnote{Thanks to Johan Fr\"oberg -% (\texttt{emgion@physchem.kth.se}) for bringing my attention -% to the problem.} In the |book| entry type, there was a -% comma which should be a semicolon. With version~0.3, Donald -% Arsenau's package \textsf{overcite} is loaded, making -% collapsing and sorting of references automatic. Version~0.4 -% was modified to work better with the December 1995 release of -% \LaTeXe{}; it also has the |.bst| files incorporated in -% |achemso.dtx|. Version~0.99 was issued due to some changes in -% the documentation and my change of e-mail addresses. +% \maketitle % -% \subsection{Note} -% This is in parts still a preliminary version of the package -% \textsf{achemso}. Some items -% in the reference list may not come out perfectly according to the -% ACS style. There is no guarantee that the predefined journal -% abbreviations are correct. -% -% \section{The \LaTeX{} Package} -% -% To work properly, a call to the \textsf{achemso} package must be -% done in a |\usepackge| command in the \LaTeX{} input file. -% The \textsf{achemso} package can take three options, namely |note|, -% |list|, and |number|. The |\bibliographystyle| command -% required for a document with a bibliography is included in -% the \LaTeX{} package file. The package options can be used -% together in any combination. Also, the \textsf{overcite} package -% must be installed on the system. -% -% The \textsf{achemso} package redefines the |bibliography| -% environment to start a new page. If the |note| option is -% used, the heading of the reference list will read -% ``References and Notes'' instead of ``References'', which -% is the default. (If used together with the \textsf{babel} -% package, there may be strange results. This is a minor -% problem since the ACS only accepts manuscripts in English.) +% \begin{abstract} +% The |achemso| package provides a BibTeX style in accordance with +% the requirements of the journals of the American Chemical Society, +% along with a supporting LaTeX package file. Also provided is a +% BibTeX style file to be used for bibliography database listings. +% \end{abstract} % -% In the text, references are printed as superscripts with -% numbers. If there are more than two consecutive numbers -% at one occurence, the numbers will appear ``collapsed'', -% that is like this$^{11-14}$ rather than.$^{11,12,13,14}$ -% The citations can be given in any order, thanks to the -% sorting done by the \textsf{overcite} package, which is -% loaded by the \textsf{achemso} package. -% If only the reference -% number is desired, such as in ``\ldots{} see reference -% 13.'', the command |\citenum{|\textit{key}|}| can be used. -% |\citenum| emits only the numeral of the reference without -% any formatting. +% \section{Introduction} % -% \subsection{The \texttt{note} option}\label{noteoption} -% \DescribeMacro{note} -% The option |note| is to be used when there are notes (of -% footnote-type) in the text. The text of these notes have -% to be placed in a \BibTeX{} entry of the kind -% |remark|\footnote{The term ``\texttt{note}'' is already -% used for an entry field in \BibTeX .} (see also below). I -% recommend a seperate |.bib|-file for the notes, which is -% then called for in the |\bibliography|-command. In this -% way, the notes will be sorted in automatically in the -% proper place in the reference list, while they still are -% easily kept out of the listings of the entire \BibTeX{} -% data base. Also, the heading of the bibliography will -% read ``References and Notes'' and not only ``References''. -% -% \subsection{The \texttt{list} option} -% \DescribeMacro{list} -% To produce a listing of the entire \BibTeX{} data base, use -% the |list| option for the \textsf{achemso} package. It makes -% use of another |.bst|-file, called |achemsol.bst|, which -% is also included in the \textsf{achemso} package distribution. -% It only differs from |achemso.bst| in -% that it adds the information of the field |annotate| to -% every item in the list when present. |annotate| is an -% optional field for all entry types. -% -% When usnig the |list| option, the \BibTeX{} keys will be -% typesetted in a framed box in the left margin. This feature -% is adapted from |showtags.sty| by Nelson H.\ F.\ Beebe -% (\texttt{beebe@math.utah.edu}).\footnote{Many thanks to Nelson -% H.\ F.\ Beebe for letting me incorporate his code into -% \textsf{achemso}.} -% -% \DescribeMacro{\refin} -% For use in the |annotate| field is a \LaTeX{} macro -% |\refin| defined by |achemso.bst| and |achemsol.bst|. -% This command takes one argument (normally text) which is -% preceeded by the text ``\textbf{Referenced in: }''. -% |\refin| is meant to facilitate in keeping track of in -% which publication(s) the bibliography item has been cited. -% Personally, I keep information in my data-base on in -% which of my own publications I have cited the article (or -% whatever) in question. It is for this purpouse the -% |\refin| command exsists. -% -% \subsection{The \texttt{number} option} -% \DescribeMacro{number} -% If a section number is desired for the bibliography in a -% document, the |number| option should be used with the -% \textsf{achemso} package. The only difference with respect to -% the default version is the adding of a section number to -% the heading. (It makes use of |\section| rather than -% |\section*| as the default.) -% -% \section{The \BibTeX{} listing file} -% -% To obtain a listing of a \BibTeX{} data base in an easy way, -% only very minor changes are needed to the file -% |acslist.tex|.\footnote{You must specify the name(s) of your -% |.bib|-file(s).} When running \LaTeX{} on this file, you will -% be provided with a complete listing of the data base as the -% output, with the labels used in framed boxes to the left of -% the data base entries. |acslist.tex| uses the |list| option -% of the package file (surprise!). To get rid of the -% sectioning heading in the data base listing, you can include -% the following line in |acslist.tex|:\\ -% | \renewcommand{\refname}{ }|\\ -% -% \section{The \BibTeX{} style} -% -% The |.bst|-files in the \textsf{achemso} package are based on the -% standard \BibTeX{} style |unsrt.bst|. -% -% \subsection{Extra Entry Types} -% \DescribeMacro{inpress}\DescribeMacro{submitted}\DescribeMacro{remark} -% The \BibTeX{} style |achemso| defines three non-standard entry types, -% |inpress|, |submitted|, and |remark|. The |inpress| and |submitted| -% entries are intended for journal articles -% which have not yet been published, but are ``in press'' or -% ``submitted'', respectively. The |remark| entry type is to be -% used to obtain notes intermixed in the reference list -% (see also section~\ref{noteoption} above). -% \par\clearpage -% -% \subsection{The Data Base Entries} -% -% This section explains which data base entry types are recognized by -% |achemso| and which fields are required, optional, and ignored for -% the different entries. Note that |achemso| is not as robust as many -% other \BibTeX{} styles, and may in some cases not warn that a -% required field is missing. The only way to detect this is to look -% in the final bibliography listing, which for the incomplete entries -% is likely to look strange. The following entries are -% recognized:\\[\baselineskip] -% \DeleteShortVerb{\|} -% \hfill\begin{tabular}{|ll|} \hline -% \MakeShortVerb{\|} -% \textbf{Entry type} & \textbf{Entry fields} \\ \hline -% |article| & \textsf{R:}~|author|, |journal|, |year|, -% |volume|, |pages| \\ -% & \textsf{O:}~|note| \\ \hline -% |book| & \textsf{R:}~|author| or |editor|, |title| or -% |booktitle|, |publisher|, |address|, |year| \\ -% & \textsf{O:}~|volume|, |series|, |edition|, |note| \\ \hline -% |booklet| & \textsf{R:}~|author|, |title|, |year| \\ -% & \textsf{O:}~|howpublished|, |address|, |note| \\ \hline -% |conference| & \textsf{R:}~|author|, |title|, |booktitle|, -% |editor|, |publisher|, |address|, |year| \\ -% & \textsf{O:}~|volume|, |edition|, |type|, |chapter|, |pages|, -% |note| \\ \hline -% |inbook| & \textsf{R:}~|author|, |title|, |booktitle|, |editor|, -% |publisher|, |address|, |year| \\ -% & \textsf{O:}~|volume|, |edition|, |type|, |chapter|, |pages|, -% |note| \\ \hline -% |incollection| & \textsf{R:}~|author|, |title|, |booktitle|, -% |editor|, |publisher|, |address|, |year| \\ -% & \textsf{O:}~|volume|, |edition|, |note| \\ \hline -% |inpress| & \textsf{R:}~|author|, |journal| \\ -% & \textsf{O:}~|note| \\ \hline -% |inproceedings| & \textsf{R:}~|author|, |title|, |booktitle|, -% |editor|, |publisher|, |address|, |year| \\ -% & \textsf{O:}~|volume|, |edition|, |type|, |chapter|, |pages|, -% |note| \\ \hline -% |manual| & \textsf{R:}~|title| \\ -% & \textsf{O:}~|author|, |organization|, |address|, |edition|, -% |year|, |note| \\ \hline -% |mastersthesis| & \textsf{R:}~|author|, |title|, |school|, |year| \\ -% & \textsf{O:}~|institution|, -% |note| \\ \hline -% |misc| & \textsf{R:}~none \\ -% & \textsf{O:}~|author|, |title|, |howpublished|, |year|, -% |note| \\ \hline -% |phdthesis| & \textsf{R:}~|author|, |title|, |school|, |year| \\ -% & \textsf{O:}~|type|, -% |institution|, |note| \\ \hline -% |proceedings| & \textsf{R:}~|editor| or |organization|, |title| -% or |booktitle|, |year| \\ -% & \textsf{O:}~|volume|, |edition|, |publisher|, |address|, -% |note| \\ \hline -% |remark| & \textsf{R:}~|note| \\ -% & \textsf{O:}~none \\ \hline -% |submitted| & \textsf{R:}~|author|, |journal| \\ -% & \textsf{O:}~|note| \\ \hline -% |techreport| & \textsf{R:}~|author|, |title|, |institution| \\ -% & \textsf{O:}~|type|, |number|, -% |address|, |note| \\ \hline -% |unpublished| & \textsf{R:}~|author | \\ -% & \textsf{O:}~|year|, |note| \\ \hline -% \end{tabular}\hfill\\ -% \textsf{R:}~denotes required fields; \textsf{O:}~denotes optional -% filelds.\\[\baselineskip] -% The following fields are avaliable: |address|, |author|, |booktitle|, -% |chapter|, |edition|, |editor|, |howpublished|, |institution|, -% |journal|, |key|, |month|, |note|, |number|, |organization|, |pages|, -% |publisher|, |school|, |series|, |title|, |type|, |volume|, |year|, -% and |annotate|. All the fields have their general meanings. -% All fields not specified above are ignored for that entry -% type. -% \par\clearpage -% -% \subsection{Predefined Journal Abbriviations} -% -% In the \textsf{achemso} package, some journal names are defined. -% These journals are the journals of ACS, some other -% frequently cited in Physical Chemsitry, and the ten -% most cited according to \textit{Chemical Abstracs}. The predefined -% ACS journal names are:\\[\baselineskip] -% \DeleteShortVerb{\|} -% \begin{tabular}{|lll|} \hline -% \MakeShortVerb{\|} -% Abbreviation & Appearance in list & Full journal name \\ \hline -% |acchemr| & \textit{Acc.\ Chem.\ Res.} -% & Accounts of Chemical Research\\ -% |aacsa| & \textit{Adv.\ {ACS} Abstr.} & Advance ACS Abstracts \\ -% |anchem| & \textit{Anal.\ Chem.} & Analytical Chemistry \\ -% |bioch| & \textit{Biochemistry} & Biochemistry \\ -% |bicoc| & \textit{Bioconj.\ Chem.} & (?) Bioconjugate Chemistry \\ -% |bitech| & \textit{Biotechnol.\ Progr.} & (?) -% Biotechnology Progress \\ -% |chemeng| & \textit{Chem.\ Eng.\ News} & Chemical \&{} -% Engineering News \\ -% |chs| & \textit{Chem.\ Health Safety} & (?) Chemical -% Health \&{} Safety \\ -% |crt| & \textit{Chem.\ Res.\ Tox.} & (?) Chemical -% Research in toxicology \\ -% |chemrev| & \textit{Chem.\ Rev.} & Chemical Reviews \\ -% |cmat| & \textit{Chem.\ Mater.} & Chemistry of Materials \\ -% |chemtech| & \textit{{CHEMTECH}} & CHEMTECH \\ -% |enfu| & \textit{Energy \&{} Fuels} & (?) Energy \&{} Fuels \\ -% |envst| & \textit{Environ.\ Sci.\ Technol.} & -% Environmental Science and Technology \\ -% |iecf| & \textit{Ind.\ Eng.\ Chem.\ Fundam.} & -% Industrial \&{} Engineering Chemistry \\ & & \hfill Fundamentals \\ -% |iecpdd| & \textit{Ind.\ Eng.\ Chem.\ Proc.} & -% Industrial \&{} Engineering Chemistry \\ & \hfill\textit{Des.\ Dev.} -% & \hfill Process Design and Development \\ -% |iecprd| & \textit{Ind.\ Eng.\ Chem.\ Prod.} & -% Industrial \&{} Engineering Chemistry \\ &\hfill\textit{Res.\ Dev.} -% & \hfill Product Research and Development \\ -% |iecr| & \textit{Ind.\ Eng.\ Chem.\ Res.} & -% Industrial \&{} Engineering Chemistry \\ & & \hfill Research \\ -% |inor| & \textit{Inorg.\ Chem.} & Inorganic Chemistry \\ -% |jafc| & \textit{J.~Agric.\ Food Chem.} & Journal of -% Agricultural and Food Chemistry \\ -% |jacs| & \textit{J.~Am.\ Chem.\ Soc.} & Journal of the -% American Chemical Society \\ -% |jced| & \textit{J.~Chem.\ Eng.\ Data} & Journal of Chemical -% and Engineering Data \\ -% |jcics| & \textit{J.~Chem.\ Inf.\ Comput.\ Sci.} & Journal of -% Chemical Information and \\ & & \hfill Computer Sciences \\ -% |jmc| & \textit{J.~Med.\ Chem.} & Journal of Medicinal Chemistry \\ -% |joc| & \textit{J.~Org.\ Chem.} & Journal of Organic Chemistry \\ -% |jps| & \textit{J.~Pharm.\ Sci.} & Journal of Pharmaceutical -% Sciences \\ -% |jpcrd| & \textit{J.~Phys.\ Chem.\ Ref.\ Data} & Journal -% of Physical and Chemical \\ & & \hfill Reference Data \\ -% |jpc| & \textit{J.~Phys.\ Chem.} & The Journal of Physical Chemistry \\ -% |lang| & \textit{Langmuir} & Langmuir \\ -% |macro| & \textit{Macromolecules} & Macromolecules \\ -% |orgmet| & \textit{Organometallics} & Organometallics \\ \hline -% \end{tabular} -% \par\clearpage +% Although synthetic chemists do not, in the main, use LaTeX for the +% preparation of journal articles, it would be nice to be able to use +% it for reports. Some (mainly) physical chemistry journals do +% also accept LaTeX submissions, and so the need for BibTeX styles +% for chemistry is real. The package |achemso| provides for a BibTeX +% style and other support for articles and reports in the style of +% the American Chemical Society (A.C.S.). Journals which use the +% standard A.C.S. citation style are summarised in +% \ref{tbl:journals}. +% \begin{table} +% \begin{tabular}{>{\itshape}l>{\itshape}l} +% \toprule +% \upshape{Journal Title} & \upshape{Abbreviation} \\ +% \midrule +% Journal of the American Chemical Society & J.~Am.~Chem.~Soc. \\ +% Accounts of Chemical Research & Acc.~Chem.~Res. \\ +% Chemical Reviews & Chem.~Rev. \\ +% Inorganic Chemistry & Inorg.Chem. \\ +% Journal of Medicinal Chemistry & J.~Med.~Chem. \\ +% Journal of Organic Chemistry & J.~Org.~Chem. \\ +% Journal of Physical Chemistry A & J.~Phys.~Chem.~A \\ +% Journal of Physical Chemistry B & J.~Phys.~Chem.~B \\ +% Journal of Physical Chemistry C & J.~Phys.~Chem.~C \\ +% Langmuir & Langmuir \\ +% Macromolecules & Macromolecules \\ +% Nano Letters & Nano Lett. \\ +% Organic Letters & Org.~Lett. \\ +% Organometallics & Organometallics \\ +% \bottomrule +% \end{tabular} +% \caption{Journals using the A.C.S.~citation style} +% \label{tbl:journals} +% \end{table} % -% \noindent Other predefined journal names are:\\[\baselineskip] -% \DeleteShortVerb{\|} -% \begin{tabular}{|lll|} \hline -% \MakeShortVerb{\|} -% Abbreviation & Appearance in list & Full journal name \\ \hline -% |jft| & \textit{J.~Chem.\ Soc., Faraday Trans.} & Journal -% of the Chemical Society, \\ & & \hfill Faraday Transactions \\ -% |jft1| & \textit{J.~Chem.\ Soc., Faraday Trans. 1} & Journal -% of the Chemical Society, \\ & & \hfill Faraday Transactions 1 \\ -% |jft2| & \textit{J.~Chem.\ Soc., Faraday Trans. 2} & Journal -% of the Chemical Society, \\ & & \hfill Faraday Transactions 2 \\ -% |tfs| & \textit{Trans.\ Faraday Soc.} & Transactions of -% the Faraday Society \\ -% |jcis| & \textit{J.~Colloid Interface Sci.} & Journal of Colloid -% and Interface Science \\ -% |acis| & \textit{Adv.~Colloid Interface Sci.} & Advances in -% Colloid and Interface Science \\ -% |cs| & \textit{Colloids Surf.} & Colloid and Surfaces \\ -% |csa| & \textit{Colloids Surf.\ A:\ Physiochem.} & -% Colloid and Surfaces A:\ Physiochemical \\ -% & \hfill\textit{Eng.\ Aspects} & and Engineering Aspects \\ -% |csb| & \textit{Colloids Surf.\ B:\ Biointerfaces} & Colloid and -% Surfaces B:\ Biointerfaces\\ -% |pcps| & \textit{Progr.\ Colloid Polym.\ Sci.} & Progress in -% Colloid and Polymer Science \\ -% |jmr| & \textit{J.~Magn.\ Reson.} & Journal of Magnetic Resonance \\ -% |jmra| & \textit{J.~Magn.\ Reson.\ A} & Journal of Magnetic -% Resonance, Series A \\ -% |jmrb| & \textit{J.~Magn.\ Reson.\ B} & Journal of Magnetic -% Resonance, Series B \\ -% |sci| & \textit{Science} & Science \\ -% |nat| & \textit{Nature (London)} & Nature \\ -% |jcch| & \textit{J.~Comput.\ Chem.} & Journal of Computational -% Chemistry \\ -% |cca| & \textit{Croat.\ Chem.\ Acta} & Croatica Chemica Acta \\ -% |poly| & \textit{Polymer} & Polymer \\ -% |ajp| & \textit{Am.\ J.\ Phys.} & American Journal of Physics \\ -% |rsi| & \textit{Rev.\ Sci.\ Instrum.} & Review of -% Scientific Instruments \\ -% |jcp| & \textit{J.~Chem.\ Phys.} & Journal of Chemical Physics \\ -% |cpl| & \textit{Chem.\ Phys.\ Lett.} & Chemical Physics Letters \\ -% |molph| & \textit{Mol.\ Phys.} & Molecular Physics \\ -% |pac| & \textit{Pure Appl.\ Chem.} & Pure and Applied Chemistry \\ -% |jbc| & \textit{J.~Biol.\ Chem.} & Journal of Biological Chemistry \\ -% |tl| & \textit{Tetrahedron Lett.} & Tetrahedron Letters \\ -% |psisoe| & \textit{Proc.\ SPIE-Int.\ Soc.\ Opt.\ Eng.} & (?) \\ -% |prb| & \textit{Phys.\ Rev.\ B:\ Condens.\ Matter} & Physics Review -% B:\ Condensed Matter \\ -% |jap| & \textit{J.~Appl.\ Phys.} & Journal of Applied Physics \\ -% |pnac| & \textit{Proc.\ Natl.\ Acad.\ Sci.\ U.~S.~A.} & Proceedings -% of the National Academy \\ & & \hfill of Sciences of the U.~S.~A. \\ -% |bba| & \textit{Biochim.\ Biophys.\ Acta} & Biochimica -% et Boiphysica Acta \\ -% |nar| & \textit{Nucleic Acid Res.} & Nucleic Acid Research (?) \\ \hline -% \end{tabular} -% \newpage +% This package consists of two BibTeX files (|achemso.bst| +% and |achemsol.bst|) along with a small LaTeX file |achemso.sty|. +% The naming of the package is slightly unusual, but follows from +% the need to pick a unique name. To quote the documentation to the +% first version: +% \begin{quote} +% [\dots] there is already a LaTeX 2.09 and +% BibTeX style package called |acsarticle| and +% |acs.bst|, which are not ``ACS'' as in `American Chemical +% Society' (rather, this package is +% formatting the output according to the instructions of +% \emph{Advances in Control Systems}). Hence, \emph{this} +% new package had to be given another name. The name of choice +% was then |achemso|, which is made from the words +% ``\emph{A}merican \emph{Chem}ical \emph{So}ciety''. +% \end{quote} % -% \section{Known Problems and Limitations} -% -% At the present (\docdate), the following problems are known: -% \begin{itemize} -% \item When printing a data base listing using the |list| -% option (such as when type-setting |acslist.tex|), there may -% on rare occations occur a page-break between the framed box -% of the label and the \BibTeX{} entry itself. -% \item Some of the pre-defined journal abbreviations may not -% be entirely correct, I have not been able to check some of -% them (since those journals are not avaliable at our library). -% If someone finds an error in the journal names, I'll be most -% grateful to be informed on how the correct abbreviation is. -% \item Compatibility with other \LaTeX{} packages, both -% standard and non-standard, may be poor. -% \end{itemize} -% -% \section{Bugs and Suggestions for Improvements} +% \subsection{Change of maintainer} % -% Bug reports and suggestions for improvements are most -% welcome. Especially corrections of (possible) errors in the -% journal abbreviations are wanted -- please e-mail me! -% If you find any other -% error (an error in the \LaTeX{} or \BibTeX{} code) please -% report them too! -% Before filing a (code) bug report, please -% take the following actions: -% \begin{enumerate} -% \item Ensure your problem is not due to your inputfile; -% \item Ensure your problem is not due to -% your own package(s) or class(es); -% \item Ensure your problem is not covered in the section -% ''Known Problems'' above; -% \item Try to locate the problem by writing a minimal -% \LaTeX{} input file which reproduces the problem. -% Include the command\\ -% | \setcounter{errorcontextlines}{999}|\\ -% in your input; -% \item Run your file through \LaTeX ; -% \item Send a description of your problem, the input file -% and the log file via e-mail to:\\ \hspace*{5mm} -% \texttt{matsd@homenet.se}. -% \end{enumerate} -% \bigskip +% This package was initially released by Mats Dahlgren. He no +% longer has time to devote to LaTeX development. With his permission, +% the package has therefore been taken over by Joseph +% Wright, the maintainer of the the |rsc| package. The majority of +% the package has been rebuilt and the BibTeX style file has been +% totally overhauled. Any mistakes are entirely the fault of the +% new maintainer! % -% {\itshape Enjoy your \LaTeX!\raisebox{-\baselineskip}{mats d.}} -% -% \StopEventually{\par\vfill\hfill{\scriptsize Copyright -% \copyright{} 1994-96 by Mats Dahlgren.}} -% \newpage -% -% \iffalse -%<*paketkod> -% \fi -% \section{The Package Code} -% -% The package code is not very complicated. For the +% \section{The BibTeX style files} +% +% The BibTeX style files implement the bibliographic style specified +% by the A.C.S.\ in \emph{The ACS Style Guide: A Manual for Authors +% and Editors}, on the A.C.S.\ website +% (\url{http://pubs.acs.org/books/references.shtml}) and in current +% A.C.S.~publications. Some of this information can be +% contradictory; the consensus of current practice in the printed +% journals has been taken as the correct approach. +% +% \subsection{Additional record types} +% +% In general, the database record types supported here follow those +% in the standard BibTeX style files. Four additional record types +% are provided: +% \begin{description} +% \item[|patent|] A patent: formatting is similar to other record +% types. The data entry for this record type follows the +% pattern used in |rsc.bst|: |journal| is used to hold +% the patent type (\emph{e.g.} ``U.S. Pat.''), with the +% patent number given in |pages|. Whilst this format is +% non-standard, it is relatively easy to use and implement! +% \item[|submitted|] Articles submitted to journals but not +% yet accepted: appends ``submitted'' in a suitable fashion +% to the entry. +% \item[|inpress|] Articles in press: appends ``in press'' or, +% if available, the DOI number assigned to the article. +% \item[|remark|] A note with no other information to be +% included. Output consists purely of the |note| field. +% \end{description} +% +% \subsection{BibTeX database entry requirements} +% +% The requirements for entries in the BibTeX database are slightly +% different using |achemso.bst| to the standard style files. This +% is mainly because some fields are not cited in +% A.C.S.\ bibliographies. In particular, journal articles do not +% require a title (as the |title| field is ignored). Articles +% in books only need the title of the book; the title of the +% subunit (given in |title|) is again ignored. +% +% \subsection{The \textsf{annotate} field} +% +% The standard BibTeX styles use the |note| field for notes to be +% added to the citation. However, it is common to want personal +% notes about references. This is catered for using the |annotate| +% field. The style |achemso| ignores the |annotate| field, whilst +% the |achemsol| style appends the |annotate| information to the +% bibliographic output. Thus |achemsol| is intended for use in +% database maintenance, whilst |achemso| is for production +% bibliographies. +% +% \DescribeMacro{\refin} +% For use in the |annotate| field the macro \cmd{\refin} +% is defined in |achemso.bst| and |achemsol.bst|. +% The command takes a single argument \marg{text}, and +% gives the output \textbf{Referenced in: text}. +% This command takes one argument (normally text) which is +% preceded by the text ``\textbf{Referenced in:} \meta{text}''. +% The |\refin| command is intended for tracking citations +% ``backward'' through the database. For example, this could be +% used to link citations in a database to the writers own papers. +% +% \subsection{Predefined journal abbreviations} +% +% A number of journal abbreviations are defined in the |.bst| files. +% The abbreviations cover a number A.C.S.\ journals, several other +% physical chemistry publications and other journals listed as +% highly cited by \emph{Chem.\ Abs.} The interested user should +% consult the |.bst| files for full details. +% +% \section{The LaTeX Package} +% +% The current version of |achemso.sty| is a +% complete re-implementation of the functionality of the original +% file, designed to ensure greater compatibility with other packages. +% The only change for the user is that the bibliography section does +% \emph{not} start a new page when using the |article| document +% class. However, the package now supports all of the standard +% classes, and so the |report| class may be used to ensure a new +% page is started. +% +% \DescribeMacro{\bibliographystyle} +% Loading the |achemso| package adds the appropriate +% \cmd{\bibliographystyle} command to the LaTeX source. As a result, +% subsequent \cmd{\bibliographystyle} statements will be ignored: +% a suitable warning is given. The format of citations is altered +% (using the |cite| package), and the package ensures that the +% bibliography will be named ``References'' in all standard document +% types.\footnote{This only works if the |babel| package is +% \emph{not} loaded.} +% +% The |achemso| package has three options: |note|, +% |list|, and |number|: +% \begin{description} +% \item[|note|] If the bibliography contains notes as well +% as citations, then the section heading should be +% ``References and Notes''. This is altered by the +% |note| package option. +% \item[|number|] This option numbers the bibliography +% section (using the |tocbibind| package), and causes it to +% be entered in the Table of Contents. +% \item[|list|] This option is intended for creating a listing +% of the entire BibTeX database. The BibTeX style is +% changed to |achemsol|, which will output the additional +% database field |annotate|, intended for personal notes +% about a particular database entry. It also adds the +% BibTeX key for each citation as a marginal note to the +% output, using the |showkeys| package. +% \end{description} +% +% \StopEventually{\PrintChanges} +% +% \section{The Package Code} +% +% The package code is not very complicated. For the % interested reader(s), it is presented here. -% -% First, the file is to identify itself and set the flags used -% for options handeling to |F|: +% +% \begin{macro}{\ACSver} +% An identifying macro is provided, so that other packages +% can detect the version of achemso in use. +% \begin{macrocode} +%<*package> +\def\ACSver{\texttt{achemso} v2.0 (2007/01/17)} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ACS@sctnnmbr} +% \begin{macro}{\ACS@lst} +% \begin{macro}{\ACS@note} +% \changes{v2.0}{2007/01/17}{Boolean values made internal to package} +% Three Boolean values are used to handle the options. % \begin{macrocode} -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{achemso}[1997/02/22 version 0.99.] -\def\achemsover{\texttt{achemso} version 0.99 (1997/02/22)} -\newif \ifsctnnmbr \sctnnmbrfalse -\newif \iflst \lstfalse +\newif \ifACS@sctnnmbr \ACS@sctnnmbrfalse +\newif \ifACS@lst \ACS@lstfalse +\newif \ifACS@note \ACS@notefalse % \end{macrocode} -% Then, the options are processed, and the support package -% \textsf{overcite} by Donald Arsenau is loaded: +% \end{macro} +% \end{macro} +% \end{macro} +% The options are processed, and the |cite| package is loaded to +% sort and compress references correctly. The ACS also have +% no gaps in between reference numbers, so the |nospace| option +% is used. % \begin{macrocode} -\DeclareOption{note}{\renewcommand{\refname}{References and Notes}} -\DeclareOption{number}{\global\sctnnmbrtrue} -\DeclareOption{list}{\global\lsttrue} +\DeclareOption{note}{\global\ACS@notetrue} +\DeclareOption{number}{\global\ACS@sctnnmbrtrue} +\DeclareOption{list}{\global\ACS@lsttrue} \DeclareOption*{\OptionNotUsed} \ProcessOptions -\RequirePackage[nospace]{overcite} +\RequirePackage[super,nospace]{cite} % \end{macrocode} -% -% If we are to print a complete listing, the file -% |achemsol.bst| is to be used, and the code to produce the -% framed labels read. Otherwise, the file |achemso.bst| -% should be called for in |\bibliographystyle|. +% If the |babel| package is loaded, the |note| option does not +% work. So it is disabled here with a suitable warning. % \begin{macrocode} -\iflst + \@ifpackageloaded{babel} + {\ACS@notefalse\PackageWarning{achemso}% + {babel package loaded - note option disabled}} + {\relax} +% \end{macrocode} +% \begin{macro}{\ACS@biberror} +% The function \cmd{\ACS@biberror} is defined here to provide an +% easy way of generating a warning if there is no name for a +% bibliography section. This will only happen with non-standard +% class files. +% \begin{macrocode} +\def\ACS@biberror{\PackageError{achemso}% + {No bibliography name command defined}\@eha} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\refname} +% \begin{macro}{\bibname} +% The |note| option renames the references section to +% ``References and Notes''. This applies for all standard +% document classes. +% The term ``Bibliography'' is not used in chemistry, the value of +% \cmd{\bibname} is redefined here in all cases where it exists. +% \begin{macrocode} +\ifx\refname\undefined + \ifx\bibname\undefined + \ACS@biberror + \else + \ifACS@note + \renewcommand*{\bibname}{References and Notes} + \else + \renewcommand*{\bibname}{References} + \fi + \fi + \else + \ifACS@note + \renewcommand*{\refname}{References and Notes} + \fi +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% If the |number| option is set, the |tocbibind| package is +% used to number the bibliography. +% \changes{v2.0}{2007/01/17}{Switched to using \textsf{tocbibind} +% to produce number bibliography} +% \begin{macrocode} +\ifACS@sctnnmbr + \RequirePackage[numbib]{tocbibind} +\fi +% \end{macrocode} +% \begin{macro}{\bibliographystyle} +% Depending on the package option, the bibliography style +% will either be |achemso| or |achemsol|. The later is intended +% for listing the entire database. The |list| option of the +% package selects this, and for listing also generates boxed +% labels for each reference. The |showkeys| package provides +% this functionality. +% \changes{v2.0}{2007/01/17}{Replaced custom code with +% \textsf{showkeys} package} +% \begin{macrocode} +\ifACS@lst \bibliographystyle{achemsol} - \if@twocolumn - \else - \reversemarginpar - \fi - \def\@bibitem#1{\item\if@filesw \immediate\write\@auxout - {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces - \@showtag{#1}} - \def\@lbibitem[#1]#2{\item[\@biblabel{#1}\hfill]\if@filesw - {\let\protect\noexpand - \immediate - \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces - \@showtag{#2}} - \newcommand{\thecitetag}[1]{\fbox{\texttt{#1}}} - \def\@showtag#1{\@tempdima=\baselineskip - \addtolength{\@tempdima}{0.5ex} - \marginpar{\hfill\raisebox{-\@tempdima}[0pt][0pt]{\thecitetag{#1}}}} + \RequirePackage[notcite]{showkeys} \else -\bibliographystyle{achemso} + \bibliographystyle{achemso} \fi % \end{macrocode} -% -% Here is the part which redefines the |thebibliography| -% environment and make it start a new page. If we are -% printing a list, no new page should be started, since this -% list is likely to be just about everything in that document. -% At the end, a redefinition of |\@biblabel| is included to -% get rid of the brackets in the reference list. +% \end{macro} +% \begin{macro}{\@biblabel} +% In order to re-format the bibliography labels, the easiest +% method is to redefine the \cmd{\@biblabel} macro from the LaTeX +% kernel. % \begin{macrocode} -\renewenvironment{thebibliography}[1] - {\iflst \else \par\clearpage \fi - \ifsctnnmbr - \section{\refname - \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}% - \else - \section*{\refname - \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}% - \fi - \list{\@biblabel{\@arabic\c@enumiv}}% - {\settowidth\labelwidth{\@biblabel{#1}}% - \leftmargin\labelwidth - \advance\leftmargin\labelsep - \@openbib@code - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{\@arabic\c@enumiv}}% - \sloppy\clubpenalty4000\widowpenalty4000% - \sfcode`\.\@m} - {\def\@noitemerr - {\@latex@warning{Empty `thebibliography' environment}}% - \endlist} \def\@biblabel#1{#1.} % \end{macrocode} -% \iffalse -%</paketkod> -% \fi -% -% \iffalse -%<*listkod> -% \fi -% \subsection{List template file} -% -% This is the template file for listing the \BibTeX{} data -% base, |acslist.tex|: +% \end{macro} +% \begin{macro}{\ACS@bibwarning} +% \begin{macro}{\bibliographystyle} +% To ensure that additional \cmd{\bibliographystyle} commands in the +% source are killed off. The \cmd{\ACS@bibwarning} provides a clean +% method of generating the warning message. +% \changes{v2.0}{2007-01-17}{Command ignored in document body} % \begin{macrocode} -\documentclass[11pt]{article} -\usepackage[list]{achemso} -\begin{document} -\cite{*} -\bibliography{refer} %%%% Change `refer' to the name(s) -\end{document} %%%% of your BibTeX data base(s). +\def\ACS@bibwarning{\PackageWarning{achemso}% + {Additional bibliographystyle command ignored}} +\def\bibliographystyle{\ACS@bibwarning\@gobble} +% \end{macrocode} +% \end{macro} +% \end{macro} +% The package is complete. +% \begin{macrocode} +%</package> % \end{macrocode} +% % \iffalse -%</listkod> -%<*huvudkod> +%<*bib> ENTRY { address +%<list> annotate author booktitle chapter + doi edition editor howpublished institution journal - key - month note number organization @@ -614,36 +393,50 @@ ENTRY type volume year - annotate } {} { label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block } +INTEGERS { output.state before.all mid.sentence after.sentence } +INTEGERS { after.block after.item author.or.editor } FUNCTION {init.state.consts} { #0 'before.all := #1 'mid.sentence := #2 'after.sentence := #3 'after.block := + #4 'after.item := } +FUNCTION {add.comma} +{ ", " * } + +FUNCTION {add.semicolon} +{ "; " * } + +FUNCTION {add.colon} +{ ": " * } + STRINGS { s t } FUNCTION {output.nonnull} { 's := output.state mid.sentence = - { " " * write$ } + { add.comma write$ } { output.state after.block = - { ", " * write$ - newline$ - "\newblock " write$ - } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } + { add.semicolon write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { output.state after.item = + { " " * write$ } + { add.period$ " " * write$ } + if$ + } + if$ + } if$ mid.sentence 'output.state := } @@ -661,7 +454,7 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ "Empty " t * " in " * cite$ * warning$ } 'output.nonnull if$ } @@ -676,23 +469,30 @@ FUNCTION {output.bibitem} before.all 'output.state := } -FUNCTION {fin.entry} -{ add.period$ - write$ - newline$ -} - FUNCTION {new.block} { output.state before.all = 'skip$ { after.block 'output.state := } if$ } +%<*list> -FUNCTION {new.sentence} -{ skip$ +FUNCTION {add.note} +{ annotate empty$ + 'skip$ + { new.block + "{\footnotesize " annotate * "}" * output } + if$ } +%</list> +FUNCTION {fin.entry} +%<list>{ add.note +%<list> add.period$ +%<!list>{ add.period$ + write$ + newline$ +} FUNCTION {not} { { #0 } { #1 } @@ -711,22 +511,6 @@ FUNCTION {or} if$ } -FUNCTION {new.block.checka} -{ empty$ - 'skip$ - 'new.block - if$ -} - -FUNCTION {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} - FUNCTION {field.or.null} { duplicate$ empty$ { pop$ "" } @@ -737,1047 +521,355 @@ FUNCTION {field.or.null} FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } - { "\textit{" swap$ * "}" * } + { "\emph{" swap$ * "}" * } if$ } -FUNCTION {emphasizec} +FUNCTION {boldface} { duplicate$ empty$ { pop$ "" } - { "\textit{" swap$ * ",}" * } + { "\textbf{" swap$ * "}" * } if$ } -FUNCTION {emphasizesc} +FUNCTION {paren} { duplicate$ empty$ { pop$ "" } - { "\textit{" swap$ * ";}" * } + { "(" swap$ * ")" * } if$ } -FUNCTION {slantc} -{ duplicate$ empty$ - { pop$ "" } - { "\textsl{" swap$ * ",}" * } - if$ -} +FUNCTION {bbl.and} +{ "and" } -FUNCTION {emboldenc} -{ duplicate$ empty$ - { pop$ "" } - { "\textbf{" swap$ * ",}" * } - if$ -} +FUNCTION {bbl.chapter} +{ "Chapter" } -INTEGERS { nameptr namesleft numnames } +FUNCTION {bbl.editor} +{ "Ed." } -INTEGERS { etal } +FUNCTION {bbl.editors} +{ "Eds." } -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames #15 > - s numnames "{ll}" format.name$ "others" = numnames #1 > and - or 'etal := - etal - { #1 #1 + 'namesleft := } - { numnames 'namesleft := } - if$ - { namesleft #0 > } - { s nameptr "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ";\ \ " * t * } - { nameptr #2 > - { "" * } - 'skip$ - if$ - t "others" = - etal or - { " \textit{et al.}\ " * } - { ";\ \ " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} +FUNCTION {bbl.edition} +{ "ed." } -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.names } - if$ -} +FUNCTION {bbl.etal} +{ "et~al." } -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.names - editor num.names$ #1 > - { ",\ \ Eds.; " * } - { ",\ \ Ed.; " * } - if$ - } - if$ -} +FUNCTION {bbl.in} +{ "In" } -FUNCTION {n.dashify} -{ 't := - "" - { t empty$ not } - { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ -} +FUNCTION {bbl.inpress} +{ "in press" } -FUNCTION {format.date} -{ year empty$ - { "" } - 'year - if$ -} +FUNCTION {bbl.msc} +{ "M.Sc.\ thesis" } -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ * * -} +FUNCTION {bbl.page} +{ "p" } -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} +FUNCTION {bbl.pages} +{ "pp" } -FUNCTION {format.bvolume} -{ volume empty$ - { "" } - { "volume" volume tie.or.space.connect - series empty$ - 'skip$ - { " of " * series emphasize * } - if$ - "volume and number" number either.or.check - } - if$ -} +FUNCTION {bbl.phd} +{ "Ph.D.\ thesis" } -FUNCTION {format.number.series} -{ volume empty$ - { number empty$ - { series field.or.null } - { series empty$ - { "there's a number but no series in " cite$ * warning$ } - { series " " * number * "; " * } - if$ - } - if$ - } - { "" } - if$ -} +FUNCTION {bbl.submitted} +{ "submitted for publication" } -FUNCTION {format.edition} -{ edition empty$ - { "" } - { edition " ed.;" * } - if$ -} +FUNCTION {bbl.techreport} +{ "Technical Report" } -INTEGERS { multiresult } +FUNCTION {bbl.volume} +{ "Vol." } -FUNCTION {multi.page.check} -{ 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult -} +FUNCTION {bbl.first} +{ "1st" } -FUNCTION {format.pages} -{ pages empty$ - { "" } - { pages multi.page.check - { "pages" pages n.dashify tie.or.space.connect } - { "page" pages tie.or.space.connect } - if$ - } - if$ -} +FUNCTION {bbl.second} +{ "2nd" } -FUNCTION {format.pages.a} -{ pages empty$ - { "" } - { "page" pages tie.or.space.connect } - if$ -} +FUNCTION {bbl.third} +{ "3rd" } -FUNCTION {format.yr.vol.pages} -{ year field.or.null emboldenc - " " swap$ * * - volume field.or.null slantc - " " swap$ * * - pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages.a } - { " " * pages * } - if$ - } - if$ -} +FUNCTION {bbl.fourth} +{ "4th" } -FUNCTION {format.chapter.pages} -{ chapter empty$ - 'format.pages - { type empty$ - { "Chapter" } - { type "l" change.case$ } - if$ - chapter tie.or.space.connect - pages empty$ - 'skip$ - { ", " * format.pages * } - if$ - } - if$ -} +FUNCTION {bbl.fifth} +{ "5th" } -FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and and - { "all relevant fields are empty in " cite$ * warning$ } - 'skip$ - if$ -} +FUNCTION {bbl.st} +{ "st" } -FUNCTION {format.thesis} -{ type empty$ - {"Thesis,"} - {type " thesis," * } - if$ -} +FUNCTION {bbl.nd} +{ "nd" } -FUNCTION {format.article.crossref} -{ key empty$ - { journal empty$ - { "need key or journal for " cite$ * " to crossref " * crossref * - warning$ - "" - } - { "In " journal * } - if$ - } - { "In " key * } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {format.crossref.editor} -{ editor #1 "{vv~}{ll}" format.name$ - editor num.names$ duplicate$ - #2 > - { pop$ " et~al." * } - { #2 < - 'skip$ - { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " et~al." * } - { " and " * editor #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } - if$ -} +FUNCTION {bbl.rd} +{ "rd" } -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - "In " - } - { "Volume" volume tie.or.space.connect - " of " * - } - if$ - editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { series empty$ - { "need editor, key, or series for " cite$ * " to crossref " * - crossref * warning$ - "" * - } - { "\textit{" * series * "}" * } - if$ - } - { key * } - if$ - } - { format.crossref.editor * } - if$ - " \cite{" * crossref * "}" * -} +FUNCTION {bbl.th} +{ "th" } -FUNCTION {format.incoll.inproc.crossref} -{ editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { booktitle empty$ - { "need editor, key, or booktitle for " cite$ * " to crossref " * - crossref * warning$ - "" - } - { "In \textit{" booktitle * ",}" * } - if$ - } - { "In " key * } - if$ - } - { "In " format.crossref.editor * } - if$ - " \cite{" * crossref * "}" * +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ } -FUNCTION {in.book} - { "In " output - booktitle emphasize - volume empty$ - {skip$} - {", Vol.~" * volume *} - if$ - edition empty$ - {";" * output} - {"," * output - edition " ed.;\" * output} - if$ - editor missing$ - { skip$ } - { format.editors output } +FUNCTION{is.a.digit} +{ duplicate$ "" = + {pop$ #0} + {chr.to.int$ #48 - duplicate$ + #0 < swap$ #9 > or not} if$ - format.number.series output - new.sentence - publisher ":" * "publisher" output.check - address "," * "address" output.check } -FUNCTION {book.vol.ed} -{ "" volume empty$ - {skip$} - {" Vol.~" * volume *} - if$ - edition empty$ - {";" * output} - {"," * output - edition " ed.;\" * output} - if$ -} - -FUNCTION {thesis.affilation} -{ school "," * "school" output.check - institution empty$ - 'skip$ - {institution "," * output} +FUNCTION{is.a.number} +{ + { duplicate$ #1 #1 substring$ is.a.digit } + {#2 global.max$ substring$} + while$ + "" = +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.a.number + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } if$ } -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - crossref missing$ - { journal field.or.null emphasize - format.yr.vol.pages - output - } - { format.article.crossref output.nonnull - format.pages output +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { pop$ pop$ + "" } - if$ - note output - fin.entry -} - -FUNCTION {submitted} -{ output.bibitem - format.authors "author" output.check - new.block - "submitted for publication in" output - note empty$ - { journal emphasize "journal" output.check } - { journal emphasizec "journal" output.check - note output } - if$ - fin.entry -} - -FUNCTION {inpress} -{ output.bibitem - format.authors "author" output.check - journal emphasizec "journal" output.check - "in press" output - note output - fin.entry -} - -FUNCTION {book} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } if$ } if$ - booktitle empty$ - { title emphasizesc output } - { booktitle emphasizesc output } - if$ - crossref missing$ - { format.bvolume output - format.number.series output - new.sentence - publisher ":" * "publisher" output.check - address "," * "address" output.check - } - { format.book.crossref output.nonnull } - if$ - format.edition output - format.date "year" output.check - note output - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.authors "author" output.check - " ``" title * "'', " * "title" output.check - howpublished empty$ - { skip$ } - { howpublished "," * output} - if$ - address empty$ - { skip$ } - { address "," * output} - if$ - format.date "year" output.check - note output - fin.entry } -FUNCTION {inbook} -{ output.bibitem - format.authors "author" output.check - " " title * ". " * "title" output.check - in.book - chapter empty$ - {format.date "year" output.check} - {year empty$ - { "empty year field in " * cite$ * warning$ } - { year "; " * output - format.chapter.pages output } - if$ - } - if$ - note output - fin.entry -} - -FUNCTION {incollection} -{ output.bibitem - format.authors "author" output.check - " " title * ". " * "title" output.check - in.book - format.date "year" output.check - note output - fin.entry -} - -FUNCTION {inproceedings} { inbook } - -FUNCTION {conference} { inbook } - -FUNCTION {manual} -{ output.bibitem - author empty$ - { organization empty$ - 'skip$ - { organization ", " * address * output - } - if$ - } - { format.authors output.nonnull } - if$ - "``" title * "'', " * "title" output.check - author empty$ - { organization empty$ - { address empty$ - 'skip$ - { address "," * output } +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.a.number + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } if$ - } - 'skip$ + } if$ } - { organization empty$ - 'skip$ - { organization "," * output - address empty$ - 'skip$ - { address "," * output } - if$ - } - if$ - } if$ - format.edition output - format.date output - note output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - "``" title * "'', " * "title" output.check - "Master's thesis, " output - thesis.affilation - format.date "year" output.check - note output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - title empty$ - 'skip$ - { "``" title * "'', " * output } - if$ - howpublished empty$ - 'skip$ - {howpublished "," * output } - if$ - format.date output - note output - fin.entry - empty.misc.check + t } -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - title emphasizec "title" output.check - format.thesis output.nonnull - thesis.affilation - format.date "year" output.check - note output - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - editor empty$ - { organization output } - { format.editors output.nonnull } - if$ - booktitle empty$ - { title emphasizec output } - { booktitle emphasizec output } - if$ - book.vol.ed - format.number.series output - publisher empty$ - { address empty$ - { format.date "year" output.check } - { address "," * output - format.date "year" output.check } - if$ - } - { address empty$ - { publisher "," * output - format.date "year" output.check } - { publisher ": " * address * "," * output - format.date "year" output.check } - if$ - } - if$ - note output - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - "``" title * "'', " * "title" output.check - type empty$ - { "Technical Report" } - 'type - if$ - number empty$ - { ", " * } - { " " * number * "," * } - if$ - output.nonnull - institution "," * "institution" output.check - address empty$ - { skip$ } - { address "," * output } - if$ - format.date "year" output.check - note output - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - note empty$ - { "Unpublished data" output } - { year empty$ - { note output } - { note ", " * year * output } - if$ } +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } if$ - fin.entry -} - -FUNCTION {remark} -{ output.bibitem - note "note" output.check - fin.entry + swap$ * * } -FUNCTION {default.type} { misc } - -MACRO {jan} {"Jan."} -MACRO {feb} {"Feb."} -MACRO {mar} {"Mar."} -MACRO {apr} {"Apr."} -MACRO {may} {"May"} -MACRO {jun} {"June"} -MACRO {jul} {"July"} -MACRO {aug} {"Aug."} -MACRO {sep} {"Sept."} -MACRO {oct} {"Oct."} -MACRO {nov} {"Nov."} -MACRO {dec} {"Dec."} +FUNCTION {space.connect} +{ " " swap$ * * } -MACRO {acchemr} {"Acc.\ Chem.\ Res."} -MACRO {aacsa} {"Adv.\ {ACS} Abstr."} -MACRO {anchem} {"Anal.\ Chem."} -MACRO {bioch} {"Biochemistry"} -MACRO {bicoc} {"Bioconj.\ Chem."} % *** -MACRO {bitech} {"Biotechnol.\ Progr."} % *** -MACRO {chemeng} {"Chem.\ Eng.\ News"} -MACRO {chs} {"Chem.\ Health Safety"} % *** -MACRO {crt} {"Chem.\ Res.\ Tox."} % *** -MACRO {chemrev} {"Chem.\ Rev."} % *** -MACRO {cmat} {"Chem.\ Mat."} % *** -MACRO {chemtech} {"{CHEMTECH}"} % *** -MACRO {enfu} {"Energy \&{} Fuels"} % *** -MACRO {envst} {"Environ.\ Sci.\ Technol."} -MACRO {iecf} {"Ind.\ Eng.\ Chem.\ Fundam."} -MACRO {iecpdd} {"Ind.\ Eng.\ Chem.\ Proc.\ Des.\ Dev."} -MACRO {iecprd} {"Ind.\ Eng.\ Chem.\ Prod.\ Res.\ Dev."} -MACRO {iecr} {"Ind.\ Eng.\ Chem.\ Res."} % *** -MACRO {inor} {"Inorg.\ Chem."} -MACRO {jafc} {"J.~Agric.\ Food Chem."} -MACRO {jacs} {"J.~Am.\ Chem.\ Soc."} -MACRO {jced} {"J.~Chem.\ Eng.\ Data"} -MACRO {jcics} {"J.~Chem.\ Inf.\ Comput.\ Sci."} -MACRO {jmc} {"J.~Med.\ Chem."} -MACRO {joc} {"J.~Org.\ Chem."} -MACRO {jps} {"J.~Pharm.\ Sci."} -MACRO {jpcrd} {"J.~Phys.\ Chem.\ Ref.\ Data"} % *** -MACRO {jpc} {"J.~Phys.\ Chem."} -MACRO {lang} {"Langmuir"} -MACRO {macro} {"Macromolecules"} -MACRO {orgmet} {"Organometallics"} - -MACRO {jft} {"J.~Chem.\ Soc., Faraday Trans."} -MACRO {jft1} {"J.~Chem.\ Soc., Faraday Trans. 1"} -MACRO {jft2} {"J.~Chem.\ Soc., Faraday Trans. 2"} -MACRO {tfs} {"Trans.\ Faraday Soc."} -MACRO {jcis} {"J.~Colloid Interface Sci."} -MACRO {acis} {"Adv.~Colloid Interface Sci."} -MACRO {cs} {"Colloids Surf."} -MACRO {csa} {"Colloids Surf.\ A:\ Physicochem.\ Eng.\ Apects"} -MACRO {csb} {"Colloids Surf.\ B:\ Biointerfaces"} -MACRO {pcps} {"Progr.\ Colloid Polym.\ Sci."} -MACRO {jmr} {"J.~Magn.\ Reson."} -MACRO {jmra} {"J.~Magn.\ Reson.\ A"} -MACRO {jmrb} {"J.~Magn.\ Reson.\ B"} -MACRO {sci} {"Science"} -MACRO {nat} {"Nature (London)"} -MACRO {jcch} {"J.~Comput.\ Chem."} -MACRO {cca} {"Croat.\ Chem.\ Acta"} - -MACRO {poly} {"Polymer"} -MACRO {ajp} {"Am.\ J.\ Phys."} -MACRO {rsi} {"Rev.\ Sci.\ Instrum."} -MACRO {jcp} {"J.~Chem.\ Phys."} -MACRO {cpl} {"Chem.\ Phys.\ Lett."} -MACRO {molph} {"Mol.\ Phys."} -MACRO {pac} {"Pure Appl.\ Chem."} -MACRO {jbc} {"J.~Biol.\ Chem."} -MACRO {tl} {"Tetrahedron Lett.\"} -MACRO {psisoe} {"Proc.\ SPIE-Int.\ Soc.\ Opt.\ Eng."} -MACRO {prb} {"Phys.\ Rev.\ B:\ Condens.\ Matter"} -MACRO {jap} {"J.~Appl.\ Phys."} -MACRO {pnac} {"Proc.\ Natl.\ Acad.\ Sci.\ U.~S.~A. "} -MACRO {bba} {"Biochim.\ Biophys.\ Acta"} -MACRO {nar} {"Nucleic.\ Acid Res."} - -READ - -STRINGS { longest.label } - -INTEGERS { number.label longest.label.width } - -FUNCTION {initialize.longest.label} -{ "" 'longest.label := - #1 'number.label := - #0 'longest.label.width := -} +INTEGERS { nameptr namesleft numnames } -FUNCTION {longest.label.pass} -{ number.label int.to.str$ 'label := - number.label #1 + 'number.label := - label width$ longest.label.width > - { label 'longest.label := - label width$ 'longest.label.width := +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + numnames #15 > + { s #1 "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't := + t bbl.etal space.connect } - 'skip$ + { + { namesleft #0 > } + { s nameptr "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { add.semicolon t * } + { numnames #2 > + { "" * } + 'skip$ + if$ + t "others," = + { bbl.etal space.connect } + { add.semicolon t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ } -EXECUTE {initialize.longest.label} - -ITERATE {longest.label.pass} - -FUNCTION {begin.bib} -{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } +FUNCTION {format.authors} +{ author empty$ + { "" } + { #1 'author.or.editor := + author format.names } if$ - "\providecommand{\refin}[1]{\\ \textbf{Referenced in:} #1}" - write$ newline$ - "\begin{thebibliography}{" longest.label * "}" * write$ newline$ -} - -EXECUTE {begin.bib} - -EXECUTE {init.state.consts} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ } -EXECUTE {end.bib} -%</huvudkod> -%<*listhuvudkod> -ENTRY - { address - author - booktitle - chapter - edition - editor - howpublished - institution - journal - key - month - note - number - organization - pages - publisher - school - series - title - type - volume - year - annotate - } - {} - { label } - -INTEGERS { output.state before.all mid.sentence after.sentence after.block } - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := -} - -STRINGS { s t } - -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { " " * write$ } - { output.state after.block = - { ", " * write$ - newline$ - "\newblock " write$ - } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } +FUNCTION {format.editors} +{ editor empty$ + { "" } + { #2 'author.or.editor := + editor format.names + add.comma + editor num.names$ #1 > + { bbl.editors } + { bbl.editor } if$ - mid.sentence 'output.state := + * } if$ - s } -FUNCTION {output} -{ duplicate$ empty$ - 'pop$ - 'output.nonnull - if$ -} - -FUNCTION {output.check} +FUNCTION {n.separate.multi} { 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull - if$ -} - -FUNCTION {output.bibitem} -{ newline$ - "\bibitem{" write$ - cite$ write$ - "}" write$ - newline$ "" - before.all 'output.state := -} - -FUNCTION {fin.entry} -{ add.period$ - write$ - newline$ -} - -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} - -FUNCTION {new.sentence} -{ skip$ -} - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} - -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} - -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} - -FUNCTION {new.block.checka} -{ empty$ - 'skip$ - 'new.block - if$ -} - -FUNCTION {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} - -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} - -FUNCTION {emphasize} -{ duplicate$ empty$ - { pop$ "" } - { "\textit{" swap$ * "}" * } - if$ -} - -FUNCTION {emphasizec} -{ duplicate$ empty$ - { pop$ "" } - { "\textit{" swap$ * ",}" * } - if$ -} - -FUNCTION {emphasizesc} -{ duplicate$ empty$ - { pop$ "" } - { "\textit{" swap$ * ";}" * } - if$ -} - -FUNCTION {slantc} -{ duplicate$ empty$ - { pop$ "" } - { "\textsl{" swap$ * ",}" * } + #0 'numnames := + t text.length$ #4 > t is.a.number and + { + { t empty$ not } + { t #-1 #1 substring$ is.a.number + { numnames #1 + 'numnames := } + { #0 'numnames := } + if$ + t #-1 #1 substring$ swap$ * + t #-2 global.max$ substring$ 't := + numnames #4 = + { duplicate$ #1 #1 substring$ swap$ + #2 global.max$ substring$ + "," swap$ * * + #1 'numnames := + } + 'skip$ + if$ + } + while$ + } + { t swap$ * } if$ } -FUNCTION {emboldenc} -{ duplicate$ empty$ - { pop$ "" } - { "\textbf{" swap$ * ",}" * } +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.connect } if$ } -INTEGERS { nameptr namesleft numnames } - -INTEGERS { etal } - -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames #15 > - s numnames "{ll}" format.name$ "others" = numnames #1 > and - or 'etal := - etal - { #1 #1 + 'namesleft := } - { numnames 'namesleft := } +FUNCTION {format.title.noemph} +{ 't := + t empty$ + { "" } + { t } if$ - { namesleft #0 > } - { s nameptr "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ";\ \ " * t * } - { nameptr #2 > - { "" * } - 'skip$ - if$ - t "others" = - etal or - { " \textit{et al.}\ " * } - { ";\ \ " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ } -FUNCTION {format.authors} -{ author empty$ +FUNCTION {format.title} +{ 't := + t empty$ { "" } - { author format.names } + { t emphasize } if$ } -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.names - editor num.names$ #1 > - { ",\ \ Eds.; " * } - { ",\ \ Ed.; " * } +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { "There is a number but no series in " cite$ * warning$ } + { series number space.connect } + if$ + } if$ } + { "" } if$ } -FUNCTION {n.dashify} -{ 't := +FUNCTION {n.dashify} { 't := "" { t empty$ not } { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } if$ } while$ @@ -1786,57 +878,31 @@ FUNCTION {n.dashify} FUNCTION {format.date} { year empty$ { "" } - 'year + { year boldface } if$ } -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } +FUNCTION {format.bdate} +{ year empty$ + { "There's no year in " cite$ * warning$ } + 'year if$ - swap$ * * } FUNCTION {either.or.check} { empty$ 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} - -FUNCTION {format.bvolume} -{ volume empty$ - { "" } - { "volume" volume tie.or.space.connect - series empty$ - 'skip$ - { " of " * series emphasize * } - if$ - "volume and number" number either.or.check - } - if$ -} - -FUNCTION {format.number.series} -{ volume empty$ - { number empty$ - { series field.or.null } - { series empty$ - { "there's a number but no series in " cite$ * warning$ } - { series " " * number * "; " * } - if$ - } - if$ - } - { "" } + { "Can't use both " swap$ * " fields in " * cite$ * warning$ } if$ } FUNCTION {format.edition} -{ edition empty$ - { "" } - { edition " ed.;" * } +{ edition duplicate$ empty$ + 'skip$ + { convert.edition + bbl.edition bibinfo.check + " " * bbl.edition * + } if$ } @@ -1854,8 +920,8 @@ FUNCTION {multi.page.check} swap$ duplicate$ "," = swap$ "+" = or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } if$ } while$ @@ -1866,483 +932,434 @@ FUNCTION {format.pages} { pages empty$ { "" } { pages multi.page.check - { "pages" pages n.dashify tie.or.space.connect } - { "page" pages tie.or.space.connect } - if$ + { bbl.pages pages n.dashify tie.or.space.connect } + { bbl.page pages tie.or.space.connect } + if$ } if$ } -FUNCTION {format.pages.a} + +FUNCTION {format.pages.required} { pages empty$ - { "" } - { "page" pages tie.or.space.connect } + { "" + "There are no page numbers for " cite$ * warning$ + output + } + { pages multi.page.check + { bbl.pages pages n.dashify tie.or.space.connect } + { bbl.page pages tie.or.space.connect } + if$ + } if$ } -FUNCTION {format.yr.vol.pages} -{ year field.or.null emboldenc - " " swap$ * * - volume field.or.null slantc - " " swap$ * * - pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages.a } - { " " * pages * } +FUNCTION {format.pages.nopp} +{ pages empty$ + { "" + "There are no page numbers for " cite$ * warning$ + output + } + { pages multi.page.check + { pages n.dashify space.connect } + { pages space.connect } + if$ + } + if$ +} + +FUNCTION {format.pages.patent} +{ pages empty$ + { "There is no patent number for " cite$ * warning$ } + { pages multi.page.check + { pages n.dashify } + { pages n.separate.multi } if$ } if$ } +FUNCTION {format.vol.pages} +{ volume emphasize field.or.null + duplicate$ empty$ + { pop$ format.pages.required } + { add.comma pages n.dashify * } + if$ +} + FUNCTION {format.chapter.pages} { chapter empty$ 'format.pages { type empty$ - { "Chapter" } - { type "l" change.case$ } + { bbl.chapter } + { type "l" change.case$ } if$ chapter tie.or.space.connect pages empty$ - 'skip$ - { ", " * format.pages * } + 'skip$ + { add.comma format.pages * } if$ } if$ } -FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and and - { "all relevant fields are empty in " cite$ * warning$ } - 'skip$ - if$ -} - -FUNCTION {format.thesis} -{ type empty$ - {"Thesis,"} - {type " thesis," * } +FUNCTION {format.title.in} +{ 's := + s empty$ + { "" } + { editor empty$ + { bbl.in s format.title space.connect } + { bbl.in s format.title space.connect + add.semicolon format.editors * + } + if$ + } if$ } -FUNCTION {format.article.crossref} -{ key empty$ - { journal empty$ - { "need key or journal for " cite$ * " to crossref " * crossref * - warning$ - "" - } - { "In " journal * } - if$ - } - { "In " key * } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {format.crossref.editor} -{ editor #1 "{vv~}{ll}" format.name$ - editor num.names$ duplicate$ - #2 > - { pop$ " et~al." * } - { #2 < - 'skip$ - { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " et~al." * } - { " and " * editor #2 "{vv~}{ll}" format.name$ * } - if$ - } +FUNCTION {format.pub.address} +{ publisher empty$ + { "" } + { address empty$ + { publisher } + { publisher add.colon address *} if$ } if$ } -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - "In " - } - { "Volume" volume tie.or.space.connect - " of " * - } - if$ - editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { series empty$ - { "need editor, key, or series for " cite$ * " to crossref " * - crossref * warning$ - "" * - } - { "\textit{" * series * "}" * } - if$ - } - { key * } +FUNCTION {format.school.address} +{ school empty$ + { "" } + { address empty$ + { school } + { school add.colon address *} if$ } - { format.crossref.editor * } if$ - " \cite{" * crossref * "}" * } -FUNCTION {format.incoll.inproc.crossref} -{ editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { booktitle empty$ - { "need editor, key, or booktitle for " cite$ * " to crossref " * - crossref * warning$ - "" - } - { "In \textit{" booktitle * ",}" * } - if$ - } - { "In " key * } +FUNCTION {format.organization.address} +{ organization empty$ + { "" } + { address empty$ + { organization } + { organization add.colon address *} if$ } - { "In " format.crossref.editor * } if$ - " \cite{" * crossref * "}" * } -FUNCTION {in.book} - { "In " output - booktitle emphasize - volume empty$ - {skip$} - {", Vol.~" * volume *} - if$ - edition empty$ - {";" * output} - {"," * output - edition " ed.;\" * output} - if$ - editor missing$ - { skip$ } - { format.editors output } +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + year empty$ note empty$ + and and and and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ if$ - format.number.series output - new.sentence - publisher ":" * "publisher" output.check - address "," * "address" output.check } -FUNCTION {book.vol.ed} -{ "" volume empty$ - {skip$} - {" Vol.~" * volume *} - if$ - edition empty$ - {";" * output} - {"," * output - edition " ed.;\" * output} - if$ -} - -FUNCTION {thesis.affilation} -{ school "," * "school" output.check - institution empty$ - 'skip$ - {institution "," * output} +FUNCTION {empty.doi.note} +{ doi empty$ note empty$ and + { "Need either a note or DOI for " cite$ * warning$ } + 'skip$ if$ } -FUNCTION {add.note} -{ annotate empty$ +FUNCTION {format.thesis.type} +{ type empty$ 'skip$ - { new.block - "{\footnotesize " annotate * "}" * output } + { pop$ + type emphasize + } if$ } FUNCTION {article} { output.bibitem format.authors "author" output.check - crossref missing$ - { journal field.or.null emphasize - format.yr.vol.pages - output - } - { format.article.crossref output.nonnull - format.pages output + after.item 'output.state := + journal emphasize "journal" output.check + after.item 'output.state := + format.date "year" output.check + volume empty$ + { "" + format.pages.nopp output } + { format.vol.pages output } if$ note output - add.note fin.entry } -FUNCTION {submitted} +FUNCTION {book} { output.bibitem - format.authors "author" output.check + author empty$ + { booktitle empty$ + { title format.title "title" output.check } + { booktitle format.title "booktitle" output.check } + if$ + new.block + editor empty$ + { "Need either an author or editor for " cite$ * warning$ } + { "" format.editors * "editor" output.check } + if$ + } + { format.authors output + after.item 'output.state := + "author and editor" editor either.or.check + booktitle empty$ + { title format.title "title" output.check } + { booktitle format.title "booktitle" output.check } + if$ + } + if$ + format.edition output + new.block + format.number.series output + new.block + format.pub.address "publisher" output.check + format.bdate "year" output.check new.block - "submitted for publication in" output - note empty$ - { journal emphasize "journal" output.check } - { journal emphasizec "journal" output.check - note output } + format.bvolume output + pages empty$ + 'skip$ + { format.pages output } if$ - add.note + note output fin.entry } -FUNCTION {inpress} +FUNCTION {booklet} { output.bibitem - format.authors "author" output.check - journal emphasizec "journal" output.check - "in press" output + format.authors output + after.item 'output.state := + title format.title "title" output.check + howpublished output + address output + format.date output note output - add.note fin.entry } -FUNCTION {book} +FUNCTION {inbook} { output.bibitem author empty$ - { format.editors "author and editor" output.check } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ + { title format.title "title" output.check + new.block + editor empty$ + { "Need at least an author or an editor for " cite$ * warning$ } + { "" format.editors * "editor" output.check } + if$ } - if$ - booktitle empty$ - { title emphasizesc output } - { booktitle emphasizesc output } - if$ - crossref missing$ - { format.bvolume output - format.number.series output - new.sentence - publisher ":" * "publisher" output.check - address "," * "address" output.check + { format.authors output + after.item 'output.state := + title format.title.in "title" output.check } - { format.book.crossref output.nonnull } if$ format.edition output - format.date "year" output.check + new.block + format.number.series output + new.block + format.pub.address "publisher" output.check + format.bdate "year" output.check + new.block + format.bvolume output + format.chapter.pages "chapter and pages" output.check note output - add.note fin.entry } -FUNCTION {booklet} +FUNCTION {incollection} { output.bibitem - format.authors "author" output.check - " ``" title * "'', " * "title" output.check - howpublished empty$ - { skip$ } - { howpublished "," * output} - if$ - address empty$ - { skip$ } - { address "," * output} + author empty$ + { booktitle format.title "booktitle" output.check + new.block + editor empty$ + { "Need at least an author or an editor for " cite$ * warning$ } + { "" format.editors * "editor" output.check } + if$ + } + { format.authors output + after.item 'output.state := + booktitle format.title.in "booktitle" output.check + } if$ - format.date "year" output.check + format.edition output + new.block + format.number.series output + new.block + format.pub.address "publisher" output.check + format.bdate "year" output.check + format.bvolume output + format.chapter.pages "chapter and pages" output.check note output - add.note fin.entry } -FUNCTION {inbook} +FUNCTION {inpress} { output.bibitem format.authors "author" output.check - " " title * ". " * "title" output.check - in.book - chapter empty$ - {format.date "year" output.check} - {year empty$ - { "empty year field in " * cite$ * warning$ } - { year "; " * output - format.chapter.pages output } - if$ - } - if$ + after.item 'output.state := + journal emphasize "journal" output.check + doi empty$ + { bbl.inpress output } + { after.item 'output.state := + format.date output + "DOI:" doi tie.or.space.connect output + } + if$ note output - add.note fin.entry } -FUNCTION {incollection} +FUNCTION {inproceedings} { output.bibitem format.authors "author" output.check - " " title * ". " * "title" output.check - in.book - format.date "year" output.check + after.item 'output.state := + booktitle format.title.noemph "booktitle" output.check + address output + format.bdate "year" output.check + pages empty$ + 'skip$ + { new.block + format.pages output } + if$ note output - add.note fin.entry } -FUNCTION {inproceedings} { inbook } - -FUNCTION {conference} { inbook } - FUNCTION {manual} { output.bibitem - author empty$ - { organization empty$ - 'skip$ - { organization ", " * address * output - } - if$ - } - { format.authors output.nonnull } - if$ - "``" title * "'', " * "title" output.check - author empty$ - { organization empty$ - { address empty$ - 'skip$ - { address "," * output } - if$ - } - 'skip$ - if$ - } - { organization empty$ - 'skip$ - { organization "," * output - address empty$ - 'skip$ - { address "," * output } - if$ - } - if$ - } - if$ + format.authors output + after.item 'output.state := + title format.title "title" output.check + new.block + format.organization.address output format.edition output - format.date output + format.bdate output note output - add.note fin.entry } FUNCTION {mastersthesis} { output.bibitem format.authors "author" output.check - "``" title * "'', " * "title" output.check - "Master's thesis, " output - thesis.affilation - format.date "year" output.check + after.item 'output.state := + bbl.msc format.thesis.type output + format.school.address "school" output.check + format.bdate "year" output.check note output - add.note fin.entry } -FUNCTION {misc} +FUNCTION {misc} { output.bibitem format.authors output - title empty$ - 'skip$ - { "``" title * "'', " * output } - if$ - howpublished empty$ - 'skip$ - {howpublished "," * output } - if$ - format.date output + after.item 'output.state := + title format.title output + howpublished output + year output note output - add.note fin.entry empty.misc.check } +FUNCTION {patent} +{ output.bibitem + format.authors "author" output.check + after.item 'output.state := + journal emphasize "journal" output.check + format.pages.patent "pages" output.check + format.bdate "year" output.check + note output + fin.entry +} + FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check - title emphasizec "title" output.check - format.thesis output.nonnull - thesis.affilation - format.date "year" output.check + after.item 'output.state := + bbl.phd format.thesis.type output + format.school.address "school" output.check + format.bdate "year" output.check note output - add.note fin.entry } -FUNCTION {proceedings} +FUNCTION {proceedings} { output.bibitem - editor empty$ - { organization output } - { format.editors output.nonnull } - if$ - booktitle empty$ - { title emphasizec output } - { booktitle emphasizec output } + title format.title.noemph "title" output.check + address output + format.bdate "year" output.check + pages empty$ + 'skip$ + { new.block + format.pages output } if$ - book.vol.ed - format.number.series output - publisher empty$ - { address empty$ - { format.date "year" output.check } - { address "," * output - format.date "year" output.check } - if$ - } - { address empty$ - { publisher "," * output - format.date "year" output.check } - { publisher ": " * address * "," * output - format.date "year" output.check } - if$ - } - if$ note output - add.note fin.entry } -FUNCTION {techreport} +FUNCTION {remark} { output.bibitem - format.authors "author" output.check - "``" title * "'', " * "title" output.check + note "note" output.check + fin.entry +} + +FUNCTION {submitted} +{ output.bibitem + format.authors "author" output.check + bbl.submitted output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + after.item 'output.state := + title format.title "title" output.check + institution type empty$ - { "Technical Report" } - 'type + 'bbl.techreport + 'type if$ + space.connect number empty$ - { ", " * } - { " " * number * "," * } - if$ - output.nonnull - institution "," * "institution" output.check - address empty$ - { skip$ } - { address "," * output } + { "t" change.case$ } + { number tie.or.space.connect } if$ - format.date "year" output.check + output + format.pub.address output + format.bdate "year" output.check note output - add.note fin.entry } -FUNCTION {unpublished} +FUNCTION {unpublished} { output.bibitem format.authors "author" output.check - note empty$ - { "Unpublished data" output } - { year empty$ - { note output } - { note ", " * year * output } - if$ } + after.item 'output.state := + journal empty$ + 'skip$ + { journal emphasize "journal" output.check } + if$ + doi empty$ + { note output } + { after.item 'output.state := + format.date output + "DOI:" doi tie.or.space.connect output + } if$ - add.note fin.entry + empty.doi.note } -FUNCTION {remark} -{ output.bibitem - note "note" output.check - add.note - fin.entry -} +FUNCTION {conference} {inproceedings} + +FUNCTION {other} {patent} -FUNCTION {default.type} { misc } +FUNCTION {default.type} {misc} MACRO {jan} {"Jan."} MACRO {feb} {"Feb."} @@ -2357,71 +1374,76 @@ MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {acchemr} {"Acc.\ Chem.\ Res."} +MACRO {acchemr} {"Acc.\ Chem.\ Res."} MACRO {aacsa} {"Adv.\ {ACS} Abstr."} -MACRO {anchem} {"Anal.\ Chem."} -MACRO {bioch} {"Biochemistry"} -MACRO {bicoc} {"Bioconj.\ Chem."} % *** -MACRO {bitech} {"Biotechnol.\ Progr."} % *** -MACRO {chemeng} {"Chem.\ Eng.\ News"} -MACRO {chs} {"Chem.\ Health Safety"} % *** -MACRO {crt} {"Chem.\ Res.\ Tox."} % *** -MACRO {chemrev} {"Chem.\ Rev."} % *** -MACRO {cmat} {"Chem.\ Mat."} % *** -MACRO {chemtech} {"{CHEMTECH}"} % *** -MACRO {enfu} {"Energy \&{} Fuels"} % *** -MACRO {envst} {"Environ.\ Sci.\ Technol."} -MACRO {iecf} {"Ind.\ Eng.\ Chem.\ Fundam."} -MACRO {iecpdd} {"Ind.\ Eng.\ Chem.\ Proc.\ Des.\ Dev."} -MACRO {iecprd} {"Ind.\ Eng.\ Chem.\ Prod.\ Res.\ Dev."} -MACRO {iecr} {"Ind.\ Eng.\ Chem.\ Res."} % *** -MACRO {inor} {"Inorg.\ Chem."} -MACRO {jafc} {"J.~Agric.\ Food Chem."} -MACRO {jacs} {"J.~Am.\ Chem.\ Soc."} -MACRO {jced} {"J.~Chem.\ Eng.\ Data"} -MACRO {jcics} {"J.~Chem.\ Inf.\ Comput.\ Sci."} -MACRO {jmc} {"J.~Med.\ Chem."} -MACRO {joc} {"J.~Org.\ Chem."} -MACRO {jps} {"J.~Pharm.\ Sci."} -MACRO {jpcrd} {"J.~Phys.\ Chem.\ Ref.\ Data"} % *** -MACRO {jpc} {"J.~Phys.\ Chem."} -MACRO {lang} {"Langmuir"} -MACRO {macro} {"Macromolecules"} -MACRO {orgmet} {"Organometallics"} - -MACRO {jft} {"J.~Chem.\ Soc., Faraday Trans."} -MACRO {jft1} {"J.~Chem.\ Soc., Faraday Trans. 1"} -MACRO {jft2} {"J.~Chem.\ Soc., Faraday Trans. 2"} -MACRO {tfs} {"Trans.\ Faraday Soc."} -MACRO {jcis} {"J.~Colloid Interface Sci."} -MACRO {acis} {"Adv.~Colloid Interface Sci."} -MACRO {cs} {"Colloids Surf."} +MACRO {anchem} {"Anal.\ Chem."} +MACRO {bioch} {"Biochemistry"} +MACRO {bicoc} {"Bioconj.\ Chem."} % *** +MACRO {bitech} {"Biotechnol.\ Progr."} % *** +MACRO {chemeng} {"Chem.\ Eng.\ News"} +MACRO {chs} {"Chem.\ Health Safety"} % *** +MACRO {crt} {"Chem.\ Res.\ Tox."} % *** +MACRO {chemrev} {"Chem.\ Rev."} % *** +MACRO {cmat} {"Chem.\ Mat."} % *** +MACRO {chemtech} {"{CHEMTECH}"} % *** +MACRO {enfu} {"Energy \&{} Fuels"} % *** +MACRO {envst} {"Environ.\ Sci.\ Technol."} +MACRO {iecf} {"Ind.\ Eng.\ Chem.\ Fundam."} +MACRO {iecpdd} {"Ind.\ Eng.\ Chem.\ Proc.\ Des.\ Dev."} +MACRO {iecprd} {"Ind.\ Eng.\ Chem.\ Prod.\ Res.\ Dev."} +MACRO {iecr} {"Ind.\ Eng.\ Chem.\ Res."} % *** +MACRO {inor} {"Inorg.\ Chem."} +MACRO {jafc} {"J.~Agric.\ Food Chem."} +MACRO {jacs} {"J.~Am.\ Chem.\ Soc."} +MACRO {jced} {"J.~Chem.\ Eng.\ Data"} +MACRO {jcics} {"J.~Chem.\ Inf.\ Comput.\ Sci."} +MACRO {jmc} {"J.~Med.\ Chem."} +MACRO {joc} {"J.~Org.\ Chem."} +MACRO {jps} {"J.~Pharm.\ Sci."} +MACRO {jpcrd} {"J.~Phys.\ Chem.\ Ref.\ Data"} % *** +MACRO {jpc} {"J.~Phys.\ Chem."} +MACRO {jpca} {"J.~Phys.\ Chem.~A"} +MACRO {jpcb} {"J.~Phys.\ Chem.~B"} +MACRO {lang} {"Langmuir"} +MACRO {macro} {"Macromolecules"} +MACRO {orgmet} {"Organometallics"} +MACRO {orglett} {"Org.\ Lett."} + +MACRO {jft} {"J.~Chem.\ Soc., Faraday Trans."} +MACRO {jft1} {"J.~Chem.\ Soc., Faraday Trans.\ 1"} +MACRO {jft2} {"J.~Chem.\ Soc., Faraday Trans.\ 2"} +MACRO {tfs} {"Trans.\ Faraday Soc."} +MACRO {jcis} {"J.~Colloid Interface Sci."} +MACRO {acis} {"Adv.~Colloid Interface Sci."} +MACRO {cs} {"Colloids Surf."} MACRO {csa} {"Colloids Surf.\ A:\ Physicochem.\ Eng.\ Apects"} MACRO {csb} {"Colloids Surf.\ B:\ Biointerfaces"} -MACRO {pcps} {"Progr.\ Colloid Polym.\ Sci."} -MACRO {jmr} {"J.~Magn.\ Reson."} -MACRO {jmra} {"J.~Magn.\ Reson.\ A"} -MACRO {jmrb} {"J.~Magn.\ Reson.\ B"} -MACRO {sci} {"Science"} -MACRO {nat} {"Nature (London)"} -MACRO {jcch} {"J.~Comput.\ Chem."} -MACRO {cca} {"Croat.\ Chem.\ Acta"} +MACRO {pcps} {"Progr.\ Colloid Polym.\ Sci."} +MACRO {jmr} {"J.~Magn.\ Reson."} +MACRO {jmra} {"J.~Magn.\ Reson.\ A"} +MACRO {jmrb} {"J.~Magn.\ Reson.\ B"} +MACRO {sci} {"Science (Washington,~D.C.)"} +MACRO {nat} {"Nature (London)"} +MACRO {jcch} {"J.~Comput.\ Chem."} +MACRO {cca} {"Croat.\ Chem.\ Acta"} +MACRO {angew} {"Angew.\ Chem.\ Int.\ Ed."} +MACRO {chemeurj} {"Chem.--Eur.\ J."} MACRO {poly} {"Polymer"} -MACRO {ajp} {"Am.\ J.\ Phys."} -MACRO {rsi} {"Rev.\ Sci.\ Instrum."} -MACRO {jcp} {"J.~Chem.\ Phys."} -MACRO {cpl} {"Chem.\ Phys.\ Lett."} -MACRO {molph} {"Mol.\ Phys."} -MACRO {pac} {"Pure Appl.\ Chem."} +MACRO {ajp} {"Am.\ J.\ Phys."} +MACRO {rsi} {"Rev.\ Sci.\ Instrum."} +MACRO {jcp} {"J.~Chem.\ Phys."} +MACRO {cpl} {"Chem.\ Phys.\ Lett."} +MACRO {molph} {"Mol.\ Phys."} +MACRO {pac} {"Pure Appl.\ Chem."} MACRO {jbc} {"J.~Biol.\ Chem."} -MACRO {tl} {"Tetrahedron Lett.\"} -MACRO {psisoe} {"Proc.\ SPIE-Int.\ Soc.\ Opt.\ Eng."} -MACRO {prb} {"Phys.\ Rev.\ B:\ Condens.\ Matter"} -MACRO {jap} {"J.~Appl.\ Phys."} -MACRO {pnac} {"Proc.\ Natl.\ Acad.\ Sci.\ U.~S.~A. "} -MACRO {bba} {"Biochim.\ Biophys.\ Acta"} -MACRO {nar} {"Nucleic.\ Acid Res."} +MACRO {tl} {"Tetrahedron Lett.\"} +MACRO {psisoe} {"Proc.\ SPIE-Int.\ Soc.\ Opt.\ Eng."} +MACRO {prb} {"Phys.\ Rev.\ B:\ Condens.\ Matter"} +MACRO {jap} {"J.~Appl.\ Phys."} +MACRO {pnac} {"Proc.\ Natl.\ Acad.\ Sci.\ U.~S.~A. "} +MACRO {bba} {"Biochim.\ Biophys.\ Acta"} +MACRO {nar} {"Nucleic.\ Acid Res."} READ @@ -2472,9 +1494,8 @@ FUNCTION {end.bib} } EXECUTE {end.bib} -%</listhuvudkod> +%</bib> % \fi -% + % \Finale -% -\endinput +% \PrintIndex diff --git a/Master/texmf-dist/source/latex/achemso/achemso.ins b/Master/texmf-dist/source/latex/achemso/achemso.ins index b26e7e4d5ec..3bf7963a57e 100644 --- a/Master/texmf-dist/source/latex/achemso/achemso.ins +++ b/Master/texmf-dist/source/latex/achemso/achemso.ins @@ -1,58 +1,33 @@ -% -% This is file `achemso.ins', the installation file for the -% `achemso' package. Last revised 1997/02/22. -% -% Copyright (c) 1996-97 by Mats Dahlgren <matsd@homenet.se>. -% All rights reserved. -% -% You may use the `achemso' package freely, but at your own -% risk. The author of achemso.dtx, achemso.bst, achemsol.bst, -% and achemso.ins (the complete `achemso' package distribution) -% can not be held responsible for any consequence of your using -% any of these files, or files created from these, including hardware, -% software, and data damage. You may only make changes to -% `acslist.tex', other than that, you may not make any changes to -% any of the files in the achemso package. You may incorporate -% the code from these files in other files under different -% names, provided the original author is given full credit for -% his work and that you yourself take the complaints from the -% user(s) of your file(s). You may freely distribute the -% files in the achemso package, provided: 1. You do not -% charge money for the distribution or use of these files except -% for a nominal charge for diskettes and postage; and 2. You -% always distribute `achemso.dtx', and `achemso.ins' together -% at the same time. -% -\def\batchfile{achemso.ins} \input docstrip.tex - -\keepsilent +\askonceonly \preamble +---------------------------------------------------------------- +The achemso package - A BibTeX style for American Chemical +Society publications +Maintained by Joseph A. Wright +E-mail: joseph.wright@morningstar2.co.uk +Originally developed by Mats Dahlgren + (c) 1996-98 by Mats Dahlgren + (c) 2007 Joseph Wright +Released under the LaTeX Project Public license v1.3 or later +---------------------------------------------------------------- +\endpreamble -Copyright (c) 1995-97 by Mats Dahlgren <matsd@homenet.se>. -All rights reserved. See the file `achemso.ins' for information -on how you may (re-)distribute the `achemso' package files. +\Msg{Generating achemso files:} +\usedir{tex/latex/contib/achemso} +\generate{\file{achemso.sty}{\from{achemso.dtx}{package}} +} -\endpreamble -\postamble +% In order to produce the correct ending for +% BibTeX files, we have to kill the standard +% DocStrip postamble. By using an empty one, but +% not \empty, we still get the "end of file" message. +\declarepostamble\bibtexable \endpostamble - -\generate{\file{achemso.sty}{\from{achemso.dtx}{paketkod}}% - \file{acslist.tex}{\from{achemso.dtx}{listkod}}% - \file{achemso.bst}{\from{achemso.dtx}{huvudkod}}% - \file{achemsol.bst}{\from{achemso.dtx}{listhuvudkod}}% +\usedir{bibtex/bst/achemso} +\generate{\usepostamble\bibtexable + \file{achemso.bst}{\from{achemso.dtx}{bib}} + \file{achemsol.bst}{\from{achemso.dtx}{bib,list}} } -\Msg{************************************************************} -\Msg{ } -\Msg{ To finish the installation you have to move the file} -\Msg{ `achemso.sty' into a directory searched by TeX and the} -\Msg{ files `achemso.bst' and `achemsol.bst' to a directory} -\Msg{ searched by BibTeX.} -\Msg{ } -\Msg{ To type-set the documentation, including instructions,} -\Msg{ run the file `achemso.dtx' through LaTeX.} -\Msg{ } -\Msg{***********************************************************} -%% -%% end of file achemso.ins -%% + +\endbatchfile |