summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/achemso/achemso.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/achemso/achemso.dtx')
-rw-r--r--Master/texmf-dist/source/latex/achemso/achemso.dtx112
1 files changed, 85 insertions, 27 deletions
diff --git a/Master/texmf-dist/source/latex/achemso/achemso.dtx b/Master/texmf-dist/source/latex/achemso/achemso.dtx
index 2321f57b477..7f847751801 100644
--- a/Master/texmf-dist/source/latex/achemso/achemso.dtx
+++ b/Master/texmf-dist/source/latex/achemso/achemso.dtx
@@ -27,7 +27,11 @@
% achemsol.bst,
% achemsolM.bst,
% achemsnat.bst,
-% achemlnt.bst and
+% achemlnt.bst,
+% iecr.bst,
+% iecrM.bst,
+% iecrnat.bst,
+% iecrnatM.bst and
% jawltxdoc.sty
% Unpacking:
% (a) If achemso.ins is present:
@@ -101,9 +105,19 @@
\file{achemso.bst}{\from{achemso.dtx}{bib}}
\file{achemsoM.bst}{\from{achemso.dtx}{bib,mcp}}
\file{achemnat.bst}{\from{achemso.dtx}{bib,nat}}
+ \file{achemnatM.bst}{\from{achemso.dtx}{bib,nat,mcp}}
+}
+\generate{\usepostamble\bibtexable
\file{achemsol.bst}{\from{achemso.dtx}{bib,list}}
\file{achemsolM.bst}{\from{achemso.dtx}{bib,list,mcp}}
\file{achemlnt.bst}{\from{achemso.dtx}{bib,list,nat}}
+ \file{achemlntM.bst}{\from{achemso.dtx}{bib,list,nat,mcp}}
+}
+\generate{\usepostamble\bibtexable
+ \file{iecr.bst}{\from{achemso.dtx}{bib,iecr}}
+ \file{iecrM.bst}{\from{achemso.dtx}{bib,mcp,iecr}}
+ \file{iecrnat.bst}{\from{achemso.dtx}{bib,nat,iecr}}
+ \file{iecrnatM.bst}{\from{achemso.dtx}{bib,nat,mcp,iecr}}
}
\generate{\usepostamble\empty\usepreamble\empty
\file{achemso.bib}{\from{achemso.dtx}{database}}
@@ -132,7 +146,7 @@
%</driver>
% \fi
%
-%\CheckSum{128}
+%\CheckSum{159}
%
%\CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -174,6 +188,10 @@
%\changes{v2.2d}{2007/10/16}{Package design improved}
%\changes{v2.2e}{2008/01/16}{Added \pkg{mciteplus} support}
%\changes{v2.2e}{2008/01/16}{Documentation improvements}
+%\changes{v2.2f}{2008/01/16}{Combined \pkg{mciteplus} and
+% \pkg{natbib} support}
+%\changes{v2.2g}{2008/01/21}{Support for \emph{Industrial
+% \& Engineering Chemistry Research}}
%
%\DoNotIndex{\@biblabel,\@eha,\@gobble,\@ifpackageloaded}
%\DoNotIndex{\@ifundefined,\citeform,\citeleft,\citeright}
@@ -222,7 +240,10 @@
% superscript method (Table \ref{tbl:journals-super}), with a smaller
% number using the italic system (Table \ref{tbl:journals-inline}).
% The journal \emph{Biochemistry} does not use the standard ACS style
-% for references, and so is not covered by the \currpkg package.
+% for references, and so is not covered by the \currpkg package. The
+% journal \emph{Industrial \& Engineering Chemistry Research} uses a
+% modification of the standard ACS style; it is covered by \currpkg
+% using the \file{iecr.bst} files and derivatives.
%\begin{table}
% \centering
% \small
@@ -466,6 +487,8 @@
% style in place of \file{achemso}.
% \item[\opt{mcite}] Uses the \pkg{mciteplus}-compatible version
% of the \BibTeX\ style file, and loads \pkg{mciteplus}.
+% \item[\opt{iecr}] Uses a setup suitable for the journal
+% \emph{Industrial \& Engineering Chemical Research}.
% \end{description}
%
%\StopEventually{\bibliography{achemso}}
@@ -477,7 +500,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{achemso}
- [2008/01/16 v2.2e LaTeX and BibTeX support for American
+ [2008/01/21 v2.2g LaTeX and BibTeX support for American
Chemical Society publications]
% \end{macrocode}
%\begin{macro}{\ifACS@sctnnmbr}
@@ -490,6 +513,8 @@
%\changes{v2.2a}{2007/07/08}{New Boolean for \pkg{natbib} support}
%\begin{macro}{\ifACS@mcite}
%\changes{v2.2e}{2008/01/16}{New macro}
+%\begin{macro}{\ifACS@iecr}
+%\changes{v2.2g}{2008/01/21}{New macro}
% Boolean values are used to handle the options.
% \begin{macrocode}
\newif\ifACS@sctnnmbr\ACS@sctnnmbrfalse
@@ -498,6 +523,7 @@
\newif\ifACS@super\ACS@supertrue
\newif\ifACS@natbib\ACS@natbibfalse
\newif\ifACS@mcite\ACS@mcitefalse
+\newif\ifACS@iecr\ACS@iecrfalse
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -505,6 +531,7 @@
%\end{macro}
%\end{macro}
%\end{macro}
+%\end{macro}
% The options are processed.
%\changes{v2.2d}{2007/10/16}{Added \opt{notes} option}
% \begin{macrocode}
@@ -516,6 +543,7 @@
\DeclareOption{notsuper}{\ACS@superfalse}
\DeclareOption{natbib}{\ACS@natbibtrue}
\DeclareOption{mcite}{\ACS@mcitetrue}
+\DeclareOption{iecr}{\ACS@iecrtrue}
\DeclareOption*{\OptionNotUsed}
\ProcessOptions\relax
% \end{macrocode}
@@ -540,13 +568,6 @@
\RequirePackage[numbers,sort&compress,round]{natbib}
\newcommand*{\citenumfont}{\textit}
\fi
-% \end{macrocode}
-% A check is made as \pkg{mciteplus} is incompatible with \pkg{natbib}.
-% \begin{macrocode}
- \ifACS@mcite
- \PackageWarning{achemso}{mcite option incompatible with natbib}
- \fi
- \ACS@mcitefalse
\else
\ifACS@super
% \end{macrocode}
@@ -624,6 +645,9 @@
\fi
% \end{macrocode}
%\begin{macro}{\bibliographystyle}
+%\changes{v2.0}{2007/01/17}{Replaced custom code with
+% \pkg{showkeys} package}
+%\changes{v2.2g}{2008/01/21}{Added \opt{iecr} code}
% Depending on the package option, the bibliography style will either
% be \file{achemso} or \file{achemsol}. The later is intended for
% listing the entire database. The \opt{list} option of the package
@@ -631,41 +655,69 @@
% reference. The \pkg{showkeys} package provides this functionality.
% If \pkg{natbib} is asked for, then the appropriate style files are
% used in place of the standard ones.
-%\changes{v2.0}{2007/01/17}{Replaced custom code with
-% \pkg{showkeys} package}
% \begin{macrocode}
-\ifACS@list
+\ifACS@mcite
+ \RequirePackage{mciteplus}
+\fi
+\ifACS@iecr
\ifACS@natbib
- \bibliographystyle{achemlnt}
+ \ifACS@mcite
+ \bibliographystyle{iecrnatM}
+ \else
+ \bibliographystyle{iecrnat}
+ \fi
\else
\ifACS@mcite
- \bibliographystyle{achemsolM}
- \RequirePackage{mciteplus}
+ \bibliographystyle{iecrM}
\else
- \bibliographystyle{achemsol}
+ \bibliographystyle{iecr}
\fi
\fi
- \RequirePackage[notcite]{showkeys}
\else
- \ifACS@natbib
- \bibliographystyle{achemnat}
+ \ifACS@list
+ \ifACS@natbib
+ \ifACS@mcite
+ \bibliographystyle{achemlntM}
+ \else
+ \bibliographystyle{achemlnt}
+ \fi
+ \else
+ \ifACS@mcite
+ \bibliographystyle{achemsolM}
+ \else
+ \bibliographystyle{achemsol}
+ \fi
+ \fi
+ \RequirePackage[notcite]{showkeys}
\else
- \ifACS@mcite
- \bibliographystyle{achemsoM}
- \RequirePackage{mciteplus}
+ \ifACS@natbib
+ \ifACS@mcite
+ \bibliographystyle{achemnatM}
+ \else
+ \bibliographystyle{achemnat}
+ \fi
\else
- \bibliographystyle{achemso}
+ \ifACS@mcite
+ \bibliographystyle{achemsoM}
+ \else
+ \bibliographystyle{achemso}
+ \fi
\fi
\fi
\fi
% \end{macrocode}
%\end{macro}
%\begin{macro}{\@biblabel}
+%\changes{v2.2g}{2008/01/21}{Added \opt{iecr} option to code}
% In order to re-format the bibliography labels, the easiest
% method is to redefine the \cs{@biblabel} macro from the \LaTeX\
% kernel.
% \begin{macrocode}
-\renewcommand*{\@biblabel}[1]{#1.}
+\ifACS@iecr
+ \renewcommand*{\@biblabel}[1]{(#1)}
+\else
+ \renewcommand*{\@biblabel}[1]{#1.}
+\fi
% \end{macrocode}
%\end{macro}
%\begin{macro}{\ACS@bibwarning}
@@ -1598,6 +1650,8 @@ FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
after.item 'output.state :=
+%<iecr> title format.title.noemph "title" output.check
+%<iecr> new.sentence
journal emphasize "journal" output.check
after.item 'output.state :=
format.date "year" output.check
@@ -2216,7 +2270,11 @@ FUNCTION {begin.bib}
write$ newline$
"{This bibstyle requires the use of the mciteplus package.}\fi"
write$ newline$
- "\begin{mcitethebibliography}{" longest.label * "}" * write$ newline$
+%<!nat> "\begin{mcitethebibliography}{" longest.label * "}" * write$ newline$
+%<nat> "\begin{mcitethebibliography}{" number.label int.to.str$ * "}" *
+%<nat> write$ newline$
+%<nat> "\providecommand{\natexlab}[1]{#1}"
+%<nat> write$ newline$
"\mciteSetBstSublistMode{f}"
write$ newline$
"\mciteSetBstMaxWidthForm{subitem}{(\alph{mcitesubitemcount})}"