From e54cc81ce53f9edaa9f64cbba5b5cc9d37b041b2 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 19 Oct 2007 17:53:59 +0000 Subject: rsc 2.2 (16oct07) git-svn-id: svn://tug.org/texlive/trunk@5236 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/rsc/rsc.dtx | 757 +++++++++++++---------------- Master/texmf-dist/source/latex/rsc/rsc.ins | 59 +-- 2 files changed, 371 insertions(+), 445 deletions(-) (limited to 'Master/texmf-dist/source/latex') diff --git a/Master/texmf-dist/source/latex/rsc/rsc.dtx b/Master/texmf-dist/source/latex/rsc/rsc.dtx index 1089e2f86e3..ee961a0da6a 100644 --- a/Master/texmf-dist/source/latex/rsc/rsc.dtx +++ b/Master/texmf-dist/source/latex/rsc/rsc.dtx @@ -3,31 +3,124 @@ % Copyright (C) 2006-2007 by % Joseph Wright % -% Released under the GNU General Public License v2 -% See http://www.gnu.org/licenses/gpl.txt -% -% This work consists of the main source file rsc.dtx -% and the derived files rsc.sty and rsc.pdf -% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3 of this license or (at your option) any later +% version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of +% LaTeX version 2003/12/01 or later. +% +% This work has the LPPL maintenance status ``maintained.'' +% +% The current maintainer of this work is Joseph Wright. +% +% This work consists of the source file rsc.dtx +% and the derived files rsc.ins, +% rsc.sty, +% rsc.pdf, +% rsc.bst, +% rscnat.bst, +% rsc-mc.bst, +% angew.bst, +% angewnat.bst and +% angew-mc.bst +% Unpacking: +% (a) If achemso.ins is present: +% tex rsc.ins +% (b) Without achemso.ins: +% tex rsc.dtx +% (c) If you use LaTeX to generate files: +% latex \let\install=y\input{rsc.dtx} +% +% Documentation: +% (a) Without write18 enabled: +% pdflatex rsc.dtx +% makeindex -s gglo.ist -o rsc.gls rsc.glo +% pdflatex rsc.dtx +% makeindex -s gglo.ist -o rsc.gls rsc.glo +% pdflatex rsc.dtx +% (b) With write18 enabled: +% pdflatex rsc.dtx +% pdflatex rsc.dtx +% pdflatex rsc.dtx +% +% Installation: +% Copy rsc.sty and the *.bst files to a location +% searched by TeX, and if required by your TeX installation, +% run the appropriate command to build a hash of files +% (texhash, mpm --update-db, etc.) +% +% Note: +% The jawltxdoc.sty file is not needed for installation, +% only for building the documentation. It may be deleted. +% +%<*ignore> +% This is all taken verbatim from Heiko Oberdiek's packages +\begingroup + \def\x{LaTeX2e}% +\expandafter\endgroup +\ifcase 0\ifx\install y1\fi\expandafter + \ifx\csname processbatchFile\endcsname\relax\else1\fi + \ifx\fmtname\x\else 1\fi\relax +\else\csname fi\endcsname +% +%<*install> +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble + ---------------------------------------------------------------- + The rsc package - BibTeX support for Royal Society of Chemistry + and Wiley style article + Maintained by Joseph Wright + E-mail: joseph.wright@morningstar2.co.uk + Released under the LaTeX Project Public License v1.3 or later + See http://www.latex-project.org/lppl.txt + ---------------------------------------------------------------- + +\endpreamble +\Msg{Generating achemso files:} +\usedir{tex/latex/contib/rsc} +\generate{\file{\jobname.ins}{\from{\jobname.dtx}{install}} + \file{\jobname.sty}{\from{\jobname.dtx}{package}} + \file{jawltxdoc.sty}{\from{\jobname.dtx}{jawltxdoc}} +} +\declarepostamble\bibtexable +\endpostamble +\usedir{bibtex/bst/rsc} +\generate{\usepostamble\bibtexable + \file{rsc.bst}{\from{rsc.dtx}{bib,rsc}} + \file{rscnat.bst}{\from{rsc.dtx}{bib,rsc,nat}} + \file{rsc-mc.bst}{\from{rsc.dtx}{bib,rsc,mc}} + \file{angew.bst}{\from{rsc.dtx}{bib,angew}} + \file{angewnat.bst}{\from{rsc.dtx}{bib,angew,nat}} + \file{angew-mc.bst}{\from{rsc.dtx}{bib,angew,mc}} +} +\endbatchfile +% +%<*ignore> +\fi +% Will Robertson's trick +\immediate\write18{makeindex -s gglo.ist -o \jobname.gls \jobname.glo} +% %<*driver> +\PassOptionsToClass{a4paper}{article} \documentclass{ltxdoc} \EnableCrossrefs \CodelineIndex \RecordChanges %\OnlyDescription -\usepackage[T1]{fontenc} -\usepackage[english,UKenglish]{babel} -\usepackage{mathpazo,booktabs,array,url,graphicx,unitsdef,courier} -\usepackage[scaled=0.95]{helvet} -\usepackage[final]{microtype} -\usepackage{\jobname} +% The various formatting commands used in this file are collected +% together in |jawltxdoc|. +\usepackage{jawltxdoc} \begin{document} \DocInput{\jobname.dtx} \end{document} % % \fi % -% \CheckSum{166} +%\CheckSum{42} % % \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 @@ -45,7 +138,7 @@ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % -% \GetFileInfo{\jobname.sty} +%\GetFileInfo{\jobname.sty} % %\changes{v2.1}{2007/08/05}{Moved float centring to % \texttt{chemscheme} package} @@ -53,40 +146,32 @@ %\changes{v2.0}{2007/07/21}{General tidying of code} %\changes{v1.0}{2006/11/08}{Initial release of packaged rsc.bst} %\changes{v2.1a}{2007/08/24}{Fixed error in BibTeX misc output} - -% \DoNotIndex{\,,\@biblabel,\@citess,\@floatboxreset,\@ifclassloaded} -% \DoNotIndex{\@undefined,\begin,\bibitem,\bibliography} -% \DoNotIndex{\bibliographystyle,\captionsetup,\centering,\cm} -% \DoNotIndex{\DeclareOption,\def,\dm,\documentclass,\else,\emph} -% \DoNotIndex{\end,\ensuremath,\fi,\figurename,\floatplacement} -% \DoNotIndex{\floatstyle,\global,\hertz,\labelformat,\let,\mole} -% \DoNotIndex{\NAT@open,\NAT@close,\natexlab,\NeedsTeXFormat} -% \DoNotIndex{\newblock,\newcommand,\newfloat,\newif,\newunit} -% \DoNotIndex{\PassOptionsToPackage,\ProcessOptions,\providecommand} -% \DoNotIndex{\ProvidesPackage,\relax,\renewcommand,\RequirePackage} -% \DoNotIndex{\restylefloat,\rotatebox,\schemename,\tablename} -% \DoNotIndex{\textbf,\textsc,\textsuperscript,\unitsep} -% \DoNotIndex{\unitsuperscript,\usepackage,\varnothing} +%\changes{v2.2}{2007/10/16}{Added \textsc{url} support to +% \texttt{Misc} field} +%\changes{v2.2}{2007/10/16}{License change to LPPL} +%\changes{v2.2}{2007/10/16}{Improved packaging} +%\changes{v2.2}{2007/10/16}{LaTeX package converted to stub} +% +%\DoNotIndex{} % -% \title{The \texttt{rsc} package --- BibTeX styles and utilities for -% chemical documents% -% \thanks{This file describes version \fileversion, last revised -% \filedate.}} -% \author{Joseph Wright% -% \thanks{E-mail: joseph.wright@morningstar2.co.uk}} -% \date{Released \filedate} +%\title{The \texttt{rsc} package --- BibTeX support for +% Royal Society of Chemistry and Wiley style articles% +% \thanks{This file describes version \fileversion, last revised +% \filedate.}} +%\author{Joseph Wright% +% \thanks{E-mail: joseph.wright@morningstar2.co.uk}} +%\date{Released \filedate} % -% \maketitle +%\maketitle % -% \begin{abstract} +%\begin{abstract} % % The |rsc| package provides BibTeX style files to produce % bibliographies in accordance with the guidelines of the % Royal Society of Chemistry and Wiley chemistry-related -% journals. It also provides a small number of useful chemistry -% related functions. +% journals. % -% \end{abstract} +%\end{abstract} % % \section{Introduction} % @@ -103,11 +188,7 @@ % generates |*-mc.bst|, |*nat.bst|, |rsc.sty| and |rsc.tex|. The % |*-mc.bst| files includes support for the |mcite| package, allowing % the generation of multiple references. The |*nat.bst| files allow -% the use of the |natbib| package with BibTeX style files. The macro -% collection |rsc.sty| provides a few useful features not catered for -% by other chemistry-related packages. Finally, |rsc.tex| is a -% simple template for using the BibTeX styles, including loading some -% other very useful chemistry packages. +% the use of the |natbib| package with BibTeX style files. % % \section{Bibliography design decisions} % @@ -196,181 +277,19 @@ % % \section{Additional macros} % -% \subsection{Overview} -% -% The macros provide by |rsc.sty| are in the main very simple. They -% fill in a few gaps in the available support for chemists in LaTeX. -% Most are built on other, more powerful, packages. As a result, it -% is best to read the documents for the ``parent'' package to alter the -% handling of the macros given here. The package follows the house -% style of the RSC, by default. The |angew| option switches to the -% Wiley house style, modelled on the approach taken in \emph{Angew.\ -% Chem.} -% -% \subsection{Additional units} -% -% The |unitsdef| package provides a great number of easy to use unit -% commands, and handles spacing between numbers and units very well. -% However, it misses out a few useful units for chemistry. The -% |unitsdef| package is loaded by |rsc.sty|, and is then used to -% provide five additional units. -% \DescribeMacro{\Hz} -% The most obvious of these is \cmd{\Hz}, which simply gives \Hz. The -% |unitsdef| package only defines \cmd{\hertz}, which is not as -% obvious. -% \DescribeMacro{\mmHg} -% The command \cmd{\mmHg} has a non-breaking thin space, leading to -% \mmHg. -% \DescribeMacro{\molar} -% \DescribeMacro{\Molar} -% Two related commands are given for concentration: \cmd{\molar} -% gives \molar, whilst \cmd{\Molar} gives \Molar. -% \DescribeMacro{\cmc} -% Finally, the command \cmd{\cmc} is provided for generating \cmc. All -% space correctly with numbers, so inputting |10\cmc| gives 10\cmc, -% with a non-breaking space. -% -%\subsection{The standard state symbol} -% -% \DescribeMacro{\standardstate} -% Related to, but not exactly a unit is the \cmd{\standardstate} -% command. This generates the tricky \standardstate\ symbol, letting -% you put |$\Delta S \standardstate$| to generate $\Delta S -% \standardstate$. Note that this is safe in text and maths mode. -% -% \subsection{Alkyl radicals} -% -% \DescribeMacro{\iPr} -% \DescribeMacro{\iBu} -% \DescribeMacro{\sBu} -% \DescribeMacro{\tBu} -% There are a few alkyl radicals that come up all of the time. No one -% seems to have put these into a package, so they are provided here. -% As you would expect, \cmd{\iPr} gives \iPr, \cmd{iBu} gives \iBu\ and -% \cmd{\tBu} gives \tBu. These are in the style most commonly seen in -% RSC journals. The package option |angew| changes the format to that -% used in Wiley journals, so for example \cmd{\iPr} then gives -% \makeatletter \RSC@angewtrue \iPr \RSC@angewfalse \makeatother. -% -% \subsection{Floats} -% -% The float management section of |rsc| has been totally rewritten -% in version 2. The provision of a float type for schemes is now -% handled by the |chemscheme| package; this is loaded automatically -% by |rsc|. The formatting of float types |table|, |figure| and -% |scheme| is modified by the |rsc| package to conform to the -% appropriate journal style. This also applies to cross-references -% and float captions. The |rsc| package will pass any options -% appropriate for |chemscheme| through to that package (currently, -% these are |chapter|\footnote{Numbers schemes per chapter rather -% than globally.} and |chemcompounds|\footnote{This option loads -% the |chemcompounds| package, instead of the default of |bpchem|. -% Both can be used to automatically track reference numbers given -% to chemical compounds. See the |chemscheme| documentation for a -% more detailed discussion of this option.}). -% -% \DescribeMacro{\floatcontentscentre} -% \DescribeMacro{\floatcontentsleft} -% By default, the contents of all floats are centred on the page. -% This behaviour may be changed globally by using the |floatleft| -% (or |fl|) package option. The behaviour may be changed for -% selected floats by issuing the command \cmd{\floatcontentscentre} -% or \cmd{\floatcontentscentre} \emph{before} the beginning of the -% floating environment. This change remains in force until cancelled -% using the complementary macro. These packages are provided by the -% |chemescheme| package. -% -% Single line float captions are centred by default, but may -% be left-aligned using the |captionleft| (|cl|) option. The -% |angew| option automatically activates |captionsleft|, as this -% is the house style in Wiley journals. All multi-line captions -% are flush left. -% -% \subsection{Summary of options} -% -% The |rsc| package has a number of options, mainly concerned with -% controlling formatting. The full range of options is summarised -% in \ref{option-summary}. -% \begin{table} -% \begin{tabular}{>{\ttfamily}ll} -% \toprule -% Option & Effect \\ -% \midrule -% angew & Use Wiley (\emph{Angew.~Chem.}) formatting \\ -% ch & Number schemes within chapters (if present) \\ -% chapter & Number schemes within chapters (if present)\\ -% chemcompounds & Use \texttt{chemcompounds} package for tracking \\ -% & chemical numbers, rather than \texttt{bpchem} \\ -% cl & All captions flush left \\ -% captionleft & All captions flush left \\ -% fl & Float contents flush left \\ -% floatleft & Float contents flush left \\ -% natbib & Use \texttt{natbib} rather than |cite| \\ -% \bottomrule -% \end{tabular} -% \caption{Summary of \texttt{rsc} package options} -% \label{option-summary} -% \end{table} -% -% \section{A LaTeX template} -% -% This is a very simple template for chemistry-related documents. -% The |babel| system is used to give UK hyphenation. -% As well as the macros given in this package as |rsc|, the -% |mhchem| package is loaded, as it provides useful support -% for the chemist. The |rsc| package loads |cite| (or |natbib|) -% automatically, giving superscript citations. The |cite| package -% also moves citations to after punctuation. With -% the |angew| option, references are surrounded by square brackets. -% \iffalse -%<*template> -% \fi -% \begin{macrocode} -\documentclass[a4paper]{article} -\usepackage[T1]{fontenc} -\usepackage[english,UKenglish]{babel} -\usepackage[version=3]{mhchem} -\usepackage{rsc} -\usepackage{mcite} % Pick one or the other -%\usepackage{natbib} % as they are incompatible -\begin{document} -\bibliography{refs} % Your reference database -\bibliographystyle{rsc-mc} % Take your pick of styles -\end{document} -% \end{macrocode} -% \iffalse -% -% \fi -% -% \section{Known issues} -% -% The |memoir| class implements its own customisable float and -% caption management. Unfortunately, this does not have flexibility -% in the areas needed by the |rsc| package. As a result, the -% |memoir| methods are over-written with the procedures from the -% |float| and |caption| packages. This may cause some features to -% fail or behave unexpectedly. The decision to use |float| and -% |caption| came down to considering the aims of \emph{this} -% package. -% -% \section{Future plans} -% -% The |biblatex| package, currently being developed by -% Phillip Lehman, is likely to become the standard for -% bibliography formatting in the future. However, currently -% package is still in beta, and the interface is not finalised. -% Thus at present it is too early to produce |biblatex| styles -% for general release. -% -% Once |biblatex| reaches production, it is my intention to provide -% suitable support files for chemical journals. It seems likely that -% these will be in a separate package (probably covering a number of -% journal styles). At that stage, the support macros provided here -% may be moved to a more general purpose package. It is my aim -% to implement an extendable style system, to allow more convenient -% support for a wider range of journals. Suitable steps will be -% taken to maintain the user interface provided here (and in the -% |achemso| package). +% The macros provided by |rsc.sty| have been migrated (with +% improvements) to the |chemstyle| package. Users are strongly +% advised to use the new package, with either +%\begin{LaTeXexample}[\typesetcodeonly] +% \usepackage[rsc]{chemstyle} +%\end{LaTeXexample} +%or +%\begin{LaTeXexample}[\typesetcodeonly] +% \usepackage[angew]{chemstyle} +%\end{LaTeXexample} +% as appropriate in place of loading the |rsc| macros. Currently, +% the |rsc| package will load |chemstyle| with appropriate options. +% There will be no further updates to the |rsc| LaTeX package. % % \StopEventually{} % @@ -379,219 +298,75 @@ % \fi % \section{The package code} % -% The style file |rsc.bst| stands on its own, and |rsc-mc.bst| only -% needs the |mcite| in order to function correctly. However, a few -% extra commands are useful for chemists, and are not available -% elsewhere (to my knowledge). So this seems a good place to define -% them. The code is all very simple, but for the interested reader -% is provided here. -% % \subsection{Setup code} % -% First of all, the package identifies itself and loads other packages -% needed to function. +% First of all, the package identifies itself. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{rsc}[2007/08/24 v2.1a +\ProvidesPackage{rsc}[2007/10/16 v2.2 Useful chemistry functions] -\RequirePackage{unitsdef,graphicx,amssymb,fixltx2e,varioref} -% \end{macrocode} -% -% The Boolean values needed to manage options are set up. -% \begin{macrocode} -\newif \ifRSC@fl \RSC@flfalse -\newif \ifRSC@cl \RSC@clfalse -\newif \ifRSC@chapter \RSC@chapterfalse -\newif \ifRSC@angew \RSC@angewfalse -\newif \ifRSC@natbib \RSC@natbibfalse -% \end{macrocode} -% The package provides several options which relate to float -% handling, plus one for |natbib| and one for -% \emph{Angew.~Chem.}~style formatting. -% \begin{macrocode} -\DeclareOption{floatleft}{\global\RSC@fltrue} -\DeclareOption{fl}{\global\RSC@fltrue} -\DeclareOption{captionleft}{\global\RSC@cltrue} -\DeclareOption{cl}{\global\RSC@cltrue} -\DeclareOption{chapter}{\global\RSC@chaptertrue% - \PassOptionsToPackage{chapter}{chemscheme}} -\DeclareOption{ch}{\global\RSC@chaptertrue% - \PassOptionsToPackage{chapter}{chemscheme}} -\DeclareOption{angew}{\global\RSC@angewtrue% - \global\RSC@cltrue} -\DeclareOption{natbib}{\global\RSC@natbibtrue} -\DeclareOption{chemcompounds}% - {\PassOptionsToPackage{chemcompounds}{chemscheme}} -\ProcessOptions -% \end{macrocode} -% The |chemscheme| package is loaded to provide |scheme| environment. -% It is loaded here to ensure the options are correct. -% \begin{macrocode} -\RequirePackage{chemscheme} % \end{macrocode} -% The choice of |natbib| or |cite| is then handled. +% A warning is given that the package has been superseded. % \begin{macrocode} -\ifRSC@natbib - \RequirePackage[numbers,sort&compress,super]{natbib} -\else - \RequirePackage[super]{cite} -\fi +\PackageInfo{rsc}{The rsc package has been superseded!} % \end{macrocode} -% -% \subsection{Extra units and related commands} -% -% A few additional unit types are provides, which the |unitsdef| -% package omits for some reason. -% \begin{macro}{\cubiccentimeter} -% \begin{macro}{\cmc} -% \begin{macro}{\Hz} -% \begin{macro}{\Molar} -% \begin{macro}{\molar} -% \begin{macro}{mmHg} +% Various options from the original package have to +% be processed correctly. % \begin{macrocode} -\newunit{\cubiccentimeter}{\cm\unitsuperscript{3}} -\newcommand*{\cmc}{\cubiccentimeter} -\newcommand*{\Hz}{\hertz} -\newunit{\Molar}{\textsc{m}} -\newunit{\molar}{\mole\unitsep\dm\unitsuperscript{--3}} -\newunit{\mmHg}{mm\unitsep{}Hg} +\DeclareOption{floatleft}{\AtEndOfPackage{\floatcontentsleft}} +\DeclareOption{fl}{\ExecuteOptions{floatleft}} +\DeclareOption{natbib}{\AtEndOfPackage{% + \RequirePackage[numbers,sort&compress,super]{natbib}}} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% In a very similar vein, the ``standard state'' symbol is handy. This -% is produced by rotating a symbol from the AMS set. Note that the -% rotation angle here has been carefully checked, but is set by eye! -% \begin{macro}{\standardstate} -% \begin{macrocode} -\newcommand*{\standardstate}% - {\textsuperscript{\rotatebox[origin=c]{140.8}% - {\ensuremath{\varnothing}}}} -% \end{macrocode} -% \end{macro} -% -% \subsection{Alkyl radicals} -% -% Next we provide alkyl radical symbols, in a convenient form. -% The format depends on the journal asked for. -%\begin{macro}{\iPr} -%\begin{macro}{\iBu} -%\begin{macro}{\sBu} -%\begin{macro}{\tBu} +% The default option is |rsc|. This loads |chemstyle| with the +% appropriate option, then alters the bibliography format and reports +% back to the user. % \begin{macrocode} -\newcommand*{\iPr}% - {\ifRSC@angew\emph{i}Pr\else Pr\textsuperscript{i}\fi} -\newcommand*{\iBu}% - {\ifRSC@angew\emph{i}Bu\else Bu\textsuperscript{i}\fi} -\newcommand*{\sBu}% - {\ifRSC@angew\emph{s}Bu\else Bu\textsuperscript{s}\fi} -\newcommand*{\tBu}% - {\ifRSC@angew\emph{t}Bu\else Bu\textsuperscript{t}\fi} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \subsection{Citation formatting} -% -% If the |angew| option is set, we have to format the citations -% correctly. The formatting commands depend on whether we're using -% |cite| or |natbib|. The format of the bibliography labels is also -% altered here. -% \begin{macrocode} -\ifRSC@angew - \ifRSC@natbib - \renewcommand\NAT@open{[}\renewcommand\NAT@close{]} - \else - \def\@citess#1{\textsuperscript{[#1]}} - \fi - \else - \def\@biblabel#1{#1} -\fi -% \end{macrocode} -% -% \subsection{Caption and float formatting} -% -% The |caption| package is used to control the appearance of -% float captions. The macros provided by the |memoir| class do not -% allow sufficient control, and so the functions provided by |memoir| -% are ignored. |caption| is loaded with the correct default format -% for almost all floats. In the case of \emph{Angew.\ Chem.}~style -% formatting, tables are treated differently. -% \begin{macrocode} -\ifRSC@angew - \RequirePackage[labelsep=period,labelfont=bf]{caption} - \captionsetup[table]{labelsep=colon} -\else - \RequirePackage[labelsep=quad,labelfont=bf]{caption} -\fi +\DeclareOption{rsc}{% + \PassOptionsToPackage{\CurrentOption}{chemstyle}% + \def\@biblabel#1{#1}% + \PackageInfo{rsc}% + {Loading the chemstyle package with the `rsc' option}% +} % \end{macrocode} -% By default, short (one line) captions are centred. Longer captions -% are typeset as paragraphs. To set all captions flush left, the -% |caption| package is instructed not to check for single line -% captions. +% The other possible journal style is |angew|. Once again, +% |chemstyle| is loaded and information is given. A bit of +% re-formatting of citations is then carried out as the |chemstyle| +% package does not do this. % \begin{macrocode} -\ifRSC@cl - \captionsetup{singlelinecheck=off} -\else -\fi +\DeclareOption{angew}{% + \PassOptionsToPackage{\CurrentOption}{chemstyle}% + \PackageInfo{rsc}% + {Loading the chemstyle package with the `angew' option}% + \AtBeginDocument{% + \@ifpackageloaded{natbib} + {\renewcommand*\NAT@open{[}\renewcommand*\NAT@close{]}} + {\def\@citess#1{\textsuperscript{[#1]}}} + } +} % \end{macrocode} -% In RSC journals, figures are referred to as ``Fig.''~rather than -% ``Figure.'' This is sorted out here. +% Anything else is passed to |chemstyle|. % \begin{macrocode} -\ifRSC@angew -\else - \renewcommand{\figurename}{Fig.} -\fi +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{chemstyle}} % \end{macrocode} -% -% The next step is to format the floats themselves correctly. -% Unfortunately, |memoir| does not provide all of the commands -% needed to achieve this. Thus the |float| package is needed; -% in order to load it, the \cmd{\newfloat} command in |memoir| -% is killed off. Notice that if |memoir| is not in use, the -% |chemscheme| package will have already loaded |float|. +% The |rsc| option is the default. % \begin{macrocode} -\@ifclassloaded{memoir} - {\let\newfloat\@undefined - \RequirePackage{float}} - {} +\ExecuteOptions{rsc} +\ProcessOptions\relax % \end{macrocode} -% The standard float types are now restyled to place the captions -% correctly. The placement of captions is also altered so that they -% default to ``here'' if possible. +% |chemstyle| can now be loaded. % \begin{macrocode} -\floatstyle{plaintop} -\restylefloat{table} -\floatstyle{plain} -\restylefloat{scheme} -\restylefloat{figure} -\floatplacement{table}{htbp} -\floatplacement{scheme}{htbp} -\floatplacement{figure}{htbp} +\RequirePackage{chemstyle} +\floatcontentscentre % \end{macrocode} -% -% The centring of floats is sorted out here, using macros provided -% by the |chemescheme| package. +% If |natbib| is not loaded, then |cite| is needed. % \begin{macrocode} -\ifRSC@fl - \floatcontentsleft -\else - \floatcontentscentre -\fi +\AtEndOfPackage{ + \@ifpackageloaded{natbib}{} + {\RequirePackage[super]{cite}} +} % \end{macrocode} % -% Finally, the naming for cross-references is sorted out properly, -% using the |varioref| package. -% \begin{macrocode} -\labelformat{scheme}{\schemename~#1} -\labelformat{figure}{\figurename~#1} -\labelformat{table}{\tablename~#1} -% \end{macrocode} % \iffalse % % \fi @@ -628,6 +403,7 @@ ENTRY series title type + url volume year } @@ -1152,6 +928,13 @@ FUNCTION {format.title} if$ } +FUNCTION {format.url} +{ url empty$ + { "" } + { "\url{" url * "}" * } + if$ +} + %<*angew> FUNCTION {format.title.vol} { 't := @@ -1455,8 +1238,8 @@ FUNCTION {format.pub.address} FUNCTION {empty.misc.check} { author empty$ title empty$ howpublished empty$ - year empty$ note empty$ - and and and and + year empty$ note empty$ url empty$ + and and and and and { "all relevant fields are empty in " cite$ * warning$ } 'skip$ if$ @@ -1652,6 +1435,7 @@ FUNCTION {misc} howpublished output % year output % format.date output + format.url output note output fin.entry empty.misc.check @@ -1956,6 +1740,8 @@ FUNCTION {begin.bib} 'skip$ { preamble$ write$ newline$ } if$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ "\begin{thebibliography}{" longest.label * "}" * write$ newline$ } @@ -1966,6 +1752,8 @@ FUNCTION {begin.bib} 'skip$ { preamble$ write$ newline$ } if$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ "\begin{thebibliography}{" number.label int.to.str$ * "}" * write$ newline$ "\providecommand{\natexlab}[1]{#1}" @@ -1979,6 +1767,8 @@ FUNCTION {begin.bib} 'skip$ { preamble$ write$ newline$ } if$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ "\begin{mcbibliography}{" longest.label * "}" * write$ newline$ } @@ -2006,7 +1796,142 @@ FUNCTION {end.bib} EXECUTE {end.bib} % \end{macrocode} % -% \fi -% \PrintChanges -% \PrintIndex -% \Finale +%\fi +%\PrintChanges +%\Finale +%\iffalse +%<*jawltxdoc> +% The following is convenient method for collecting together package +% loading, formatting commands and new macros used to format |dtx| +% files written by the current author. It is based on the similar +% files provided by Will Robertson in his packages and Heiko Oberdiek +% as a stand-alone package. Notice that it is not intended for other +% users: there is no error checking! However, it is covered by the +% LPPL in the same way as the rest of this package. +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{jawltxdoc} + [2007/10/14 v1.0b] +% First of all, a number of support packages are loaded. +\usepackage[T1]{fontenc} +\usepackage[english,UKenglish]{babel} +\usepackage[scaled=0.95]{helvet} +\usepackage[version=3]{mhchem} +\usepackage[final]{microtype} +\usepackage[osf]{mathpazo} +\usepackage{booktabs,array,url,graphicx,courier,unitsdef} +\usepackage{upgreek,ifpdf,listings} +% If using PDFLaTeX, the source will be attached to the PDF. This +% is basically the system used by Heiko Oberdiek, but with a check +% that PDF mode is enabled. +\ifpdf + \usepackage{embedfile} + \embedfile[% + stringmethod=escape,% + mimetype=plain/text,% + desc={LaTeX docstrip source archive for package `\jobname'}% + ]{\jobname.dtx} +\fi +\usepackage{\jobname} +\usepackage[numbered]{hypdoc} +% +% To typeset examples, a new environment is needed. The code below +% is based on that in used by |listings|, but is modified to get +% better formatting for this context. The formatting of the output +% is basically that in Will Robertson's |dtx-style| file. +\newlength\LaTeXwidth +\newlength\LaTeXoutdent +\newlength\LaTeXgap +\setlength\LaTeXgap{1em} +\setlength\LaTeXoutdent{-0.15\textwidth} +\def\typesetexampleandcode{% + \begin{list}{}{% + \setlength\itemindent{0pt} + \setlength\leftmargin\LaTeXoutdent + \setlength\rightmargin{0pt} + } + \item + \setlength\LaTeXoutdent{-0.15\textwidth} + \begin{minipage}[c]{\textwidth-\LaTeXwidth-\LaTeXoutdent-\LaTeXgap} + \lst@sampleInput + \end{minipage}% + \hfill% + \begin{minipage}[c]{\LaTeXwidth}% + \hbox to\linewidth{\box\lst@samplebox\hss}% + \end{minipage}% + \end{list} +} +\def\typesetcodeandexample{% + \begin{list}{}{% + \setlength\itemindent{0pt} + \setlength\leftmargin{0pt} + \setlength\rightmargin{0pt} + } + \item + \begin{minipage}[c]{\LaTeXwidth}% + \hbox to\linewidth{\box\lst@samplebox\hss}% + \end{minipage}% + \lst@sampleInput + \end{list} +} +\def\typesetfloatexample{% + \begin{list}{}{% + \setlength\itemindent{0pt} + \setlength\leftmargin{0pt} + \setlength\rightmargin{0pt} + } + \item + \lst@sampleInput + \begin{minipage}[c]{\LaTeXwidth}% + \hbox to\linewidth{\box\lst@samplebox\hss}% + \end{minipage}% + \end{list} +} +\def\typesetcodeonly{% + \begin{list}{}{% + \setlength\itemindent{0pt} + \setlength\leftmargin{0pt} + \setlength\rightmargin{0pt} + } + \item + \begin{minipage}[c]{\LaTeXwidth}% + \hbox to\linewidth{\box\lst@samplebox\hss}% + \end{minipage}% + \end{list} +} +\edef\LaTeXexamplefile{\jobname.tmp} +\lst@RequireAspects{writefile} +\newbox\lst@samplebox +\lstnewenvironment{LaTeXexample}[1][\typesetexampleandcode]{% + \let\typesetexample#1 + \global\let\lst@intname\@empty + \setbox\lst@samplebox=\hbox\bgroup + \setkeys{lst}{language=[LaTeX]{TeX},tabsize=4,gobble=2,% + breakindent=0pt,basicstyle=\small\ttfamily,basewidth=0.51em,% + keywordstyle=\color{blue},% +% Notice that new keywords should be added here. The list is simply +% macro names needed to typeset documentation of the package +% author. + morekeywords={bibnote,citenote,bibnotetext,bibnotemark,% + thebibnote,bibnotename,includegraphics,schemeref,% + floatcontentsleft,floatcontentsright,floatcontentscentre,% + schemerefmarker,compound,schemerefformat,color,% + startchemical,stopchemical,chemical,setupchemical,bottext,% + listofschemes}} + \lst@BeginAlsoWriteFile{\LaTeXexamplefile} +}{% + \lst@EndWriteFile\egroup + \setlength\LaTeXwidth{\wd\lst@samplebox} + \typesetexample% +} +\def\lst@sampleInput{% + \MakePercentComment\catcode`\^^M=10\relax + \small% + {\setkeys{lst}{SelectCharTable=\lst@ReplaceInput{\^\^I}% + {\lst@ProcessTabulator}}% + \leavevmode \input{\LaTeXexamplefile}}% + \MakePercentIgnore% +} +\hyphenation{PDF-LaTeX} +% +%\fi diff --git a/Master/texmf-dist/source/latex/rsc/rsc.ins b/Master/texmf-dist/source/latex/rsc/rsc.ins index 6a13ee1de1d..acb3c42dbad 100644 --- a/Master/texmf-dist/source/latex/rsc/rsc.ins +++ b/Master/texmf-dist/source/latex/rsc/rsc.ins @@ -1,41 +1,39 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% rsc is free software; you can redistribute it and/or modify it -% under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) -% any later version. -% -% rsc is distributed in the hope that it will be useful, but -% WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program; if not, write to the Free Software -% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% This is file `rsc.ins', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% rsc.dtx (with options: `install') +%% ---------------------------------------------------------------- +%% The rsc package - BibTeX support for Royal Society of Chemistry +%% and Wiley style article +%% Maintained by Joseph Wright +%% E-mail: joseph.wright@morningstar2.co.uk +%% Released under the LaTeX Project Public License v1.3 or later +%% See http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% \input docstrip.tex -\askonceonly +\keepsilent +\askforoverwritefalse \preamble ---------------------------------------------------------------- - The rsc package - BibTeX and macro support for Royal Society - of Chemistry and Wiley chemistry articles + The rsc package - BibTeX support for Royal Society of Chemistry + and Wiley style article Maintained by Joseph Wright E-mail: joseph.wright@morningstar2.co.uk - Released under the GNU General Public License - See http://www.gnu.org/licenses/gpl.txt + Released under the LaTeX Project Public License v1.3 or later + See http://www.latex-project.org/lppl.txt ---------------------------------------------------------------- + \endpreamble -\Msg{Generating rsc files:} +\Msg{Generating achemso files:} \usedir{tex/latex/contib/rsc} -\generate{\file{rsc.sty}{\from{rsc.dtx}{package}} - \file{rsc-template.tex}{\from{rsc.dtx}{template}} +\generate{\file{\jobname.ins}{\from{\jobname.dtx}{install}} + \file{\jobname.sty}{\from{\jobname.dtx}{package}} + \file{jawltxdoc.sty}{\from{\jobname.dtx}{jawltxdoc}} } -% 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 \usedir{bibtex/bst/rsc} @@ -48,3 +46,6 @@ \file{angew-mc.bst}{\from{rsc.dtx}{bib,angew,mc}} } \endbatchfile +\endinput +%% +%% End of file `rsc.ins'. -- cgit v1.2.3