summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/chemcono
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/chemcono
Initial commit
Diffstat (limited to 'macros/latex/contrib/chemcono')
-rw-r--r--macros/latex/contrib/chemcono/chemcono.pdfbin0 -> 235825 bytes
-rw-r--r--macros/latex/contrib/chemcono/chemcono.sty184
-rw-r--r--macros/latex/contrib/chemcono/chemcono.tex104
-rw-r--r--macros/latex/contrib/chemcono/drftcono.sty256
-rw-r--r--macros/latex/contrib/chemcono/example.tex140
-rw-r--r--macros/latex/contrib/chemcono/showkeysff.sty219
6 files changed, 903 insertions, 0 deletions
diff --git a/macros/latex/contrib/chemcono/chemcono.pdf b/macros/latex/contrib/chemcono/chemcono.pdf
new file mode 100644
index 0000000000..4bfbd7f628
--- /dev/null
+++ b/macros/latex/contrib/chemcono/chemcono.pdf
Binary files differ
diff --git a/macros/latex/contrib/chemcono/chemcono.sty b/macros/latex/contrib/chemcono/chemcono.sty
new file mode 100644
index 0000000000..7586a428f3
--- /dev/null
+++ b/macros/latex/contrib/chemcono/chemcono.sty
@@ -0,0 +1,184 @@
+ %% chemcono.sty
+ %% Copyright 1996,1999 Stefan Schulz
+
+ % This program can redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+%%%
+%%% Acknowledgement: Definitions extracted from latex.ltx and article.cls
+%%% ====================================================================
+%%% @LaTeX-style-file{
+%%% author = "Stefan Schulz",
+%%% version = "1.3",
+%%% date = "9 SEP 1999",
+%%% filename = "chemcono.sty",
+%%% address = "Institut fuer Organische Chemie, Technische Universitaet
+%%% Braunschweig, Hagenring 30, D-38106
+%%% Hamburg, Germany"
+%%% email = "stefan.schulz@tu-bs.de
+%%% codetable = "ISO/ASCII",
+%%% keywords = "chemical compound numbering",
+%%% supported = "maybe",
+%%% abstract = "LaTeX style file for using compound numbers
+%%% in chemistry documents. It works like
+%%% \cite and the \thebibliography, using \fcite
+%%% and \theffbibliography instead. It allows compound
+%%% names in documents to be numbered and does not
+%%% affect the normal citation routines.
+%%% Very helpful for writing chemistry papers.
+%%% This style does:
+%%% - Compound-numbering. Any compound gets a number
+%%% using \fcite, bold face as default. This number
+%%% is printed every time you type \fcite.
+%%% - The compounds are numbered according to the
+%%% entries in the \theffbibliography.
+%%% - The \ffbibliography generates an chapter with
+%%% the heading 'Compound numbers'.
+%%% See comments and examples below.",
+%%% }
+%%% ====================================================================
+%
+% HISTORY:
+%
+% Writing chemistry papers, very often a consecutive numbering for compounds
+% according to their appearance in the text is required. First, I have no
+% knowledge of any basic Tex. I extracted the definitions for \cite and
+% \thebibliography from latex.ltx and article.cls and replaced every
+% occurrence of the string cit by ffcit
+% and bib by ffbib. In addition, I also performed some small formatting
+% changes. Thus, this package worked nicely
+% in a document with 300 compound numbers and 700 citations in latex209 and latex2e.
+%
+% Version 1.0
+% Latex209.
+%
+% Version 1.1
+% Same thing for Latex2e.
+%
+% Version 1.2
+% Now works with Latex2e of 1996/06/01
+%
+% Version 1.3
+% Added option [tight]. Saves space in the compound number list. Default is [normal].
+%
+% USAGE:
+% Load package chemcono. For every compound, use \fcite like \cite for citations.
+% After a \clearpage at the end of your document use theffbibliography like
+% the normal thebibliography, with \ffbibitem instead of \bibitem:
+% \begin{theffbibliography}{99}
+% \ffbibitem{f1} danaidone
+% \ffbibitem{f2} thio ether
+% \end{theffbibliography}
+% After compilation and printout, discard the last page.
+% If you want other formatting than bold face numbers, use
+% \renewcommand{\fcite}[1]{\underline{\ffcite{#1}}}
+% which gives in this case an underlined number.
+% Look at example.tex.
+% The formatting of the ffbibliography can be made tight to save space by the option [tight].
+%
+% I have added the file drftcono.sty, which bases on the drftcite.sty file from D. Arseneau.
+% When using drftcono.sty, you get the tags of the compound numbers instead the real numbers in the text.
+% In the compound number section, small superscripts show which label has been used first, second,
+% and so on. You have to load drftcono.sty after chemcono.sty. For the final version, just comment
+% out drftcono.sty as in example.tex.
+% I also added a file showkeysff.sty, which shows labels in the margin as in showkeys, but the \fcite tags
+% are also added. I was not able to include counting of occurrence present in drftcono
+% in the showkeysff package, which would be highly desirable.
+%
+%
+% COMPLICATIONS:
+% You must not use identical labels for \fcite and \cite. Otherwise Latex gets
+% confused. As a hint, I identify every compound label by a preceding f as in
+% \fcite{f1}, and every citation label with a c, like \cite{c1}.
+%
+% FUTURE:
+% I would like to have the option for removing the printout of
+% theffbibliography. Than one would not need to discard the last page.
+% Because I have no knowledge of any programming, I do not know how to do
+% this. I also do not know whether the goal of this style could be achieved
+% much more easily. Any hints are welcome.
+% Inclusion of order of occurrence counting in showkeysff.
+%%
+%%%
+%%%
+%%%
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+ \ProvidesPackage{chemcono}
+ [1999/09/10 1.3 (SS)]
+\DeclareOption{normal}{\let\@openffbib@code\@empty}
+\DeclareOption{tight}{\renewcommand{\@openffbib@code}{%
+ \setlength{\parsep}{0pt}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\topsep}{0pt}%
+}}
+\ExecuteOptions{normal}
+\ProcessOptions
+\message{ffbibliography,}
+\def\ffbibitem{\@ifnextchar[\@lffbibitem\@ffbibitem}
+\def\@lffbibitem[#1]#2{\item[\@ffbiblabel{#1}\hfill]\if@filesw
+ {\let\protect\noexpand
+ \immediate
+ \write\@auxout{\string\ffbibcite{#2}{#1}}}\fi\ignorespaces}
+\def\@ffbibitem#1{\item\if@filesw \immediate\write\@auxout
+ {\string\ffbibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces}
+\def\ffbibcite{\@newl@bel b}
+\let\ffcitation\@gobble
+\DeclareRobustCommand\ffcite{%
+ \@ifnextchar [{\@tempswatrue\@ffcitex}{\@tempswafalse\@ffcitex[]}}
+\def\@ffcitex[#1]#2{%
+ \let\@ffcitea\@empty
+ \@ffcite{\@for\@ffciteb:=#2\do
+ {\@ffcitea\def\@ffcitea{,\penalty\@m\ }%
+ \edef\@ffciteb{\expandafter\@firstofone\@ffciteb}%
+ \if@filesw\immediate\write\@auxout{\string\ffcitation{\@ffciteb}}\fi
+ \@ifundefined{b@\@ffciteb}{\mbox{\reset@font\bfseries ?}%
+ \G@refundefinedtrue
+ \@latex@warning
+ {ffcitation `\@ffciteb' on page \thepage \space undefined}}%
+ {\hbox{\csname b@\@ffciteb\endcsname}}}}{#1}}
+\let\ffbibdata=\@gobble
+\let\ffbibstyle=\@gobble
+\def\ffbibliography#1{%
+ \if@filesw
+ \immediate\write\@auxout{\string\ffbibdata{#1}}%
+ \fi
+ \@input@{\jobname.bbl}}
+\def\ffbibliographystyle#1{%
+ \ifx\@begindocumenthook\@undefined\else
+ \expandafter\AtBeginDocument
+ \fi
+ {\if@filesw
+ \immediate\write\@auxout{\string\ffbibstyle{#1}}%
+ \fi}}
+\def\noffcite#1{\@bsphack
+ \@for\@ffciteb:=#1\do{%
+ \edef\@ffciteb{\expandafter\@firstofone\@ffciteb}%
+ \if@filesw\immediate\write\@auxout{\string\ffcitation{\@ffciteb}}\fi
+ \@ifundefined{b@\@ffciteb}{\G@refundefinedtrue
+ \@latex@warning{ffcitation `\@ffciteb' undefined}}{}}%
+ \@esphack}
+\expandafter\let\csname b@*\endcsname\@empty
+\def\@ffcite#1#2{{#1\if@tempswa , #2\fi}}
+\def\@ffbiblabel#1{\textbf{#1}} %ver„ndert von [#1]
+
+\let\l@table\l@figure
+\newdimen\ffbibindent
+\setlength\ffbibindent{1.5em}
+\newenvironment{theffbibliography}[1]
+ {\section*{Compound numbers
+ \@mkboth{\MakeUppercase Compound numbers}{\MakeUppercase Compound numbers}}%
+ \list{\@ffbiblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@ffbiblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \@openffbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy\clubpenalty4000\widowpenalty4000%
+ \sfcode`\.\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `theffbibliography' environment}}%
+ \endlist}
+\newcommand{\fcite}[1]{\textbf{\ffcite{#1}}}
diff --git a/macros/latex/contrib/chemcono/chemcono.tex b/macros/latex/contrib/chemcono/chemcono.tex
new file mode 100644
index 0000000000..b592bdafd2
--- /dev/null
+++ b/macros/latex/contrib/chemcono/chemcono.tex
@@ -0,0 +1,104 @@
+\documentclass[DIV=9, pagesize=auto]{scrartcl}
+
+\usepackage{fixltx2e}
+\usepackage{etex}
+\usepackage{xspace}
+\usepackage{lmodern}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{microtype}
+\usepackage[unicode=true]{hyperref}
+
+\newcommand*{\mail}[1]{\href{mailto:#1}{\texttt{#1}}}
+\newcommand*{\pkg}[1]{\textsf{#1}}
+\newcommand*{\cs}[1]{\texttt{\textbackslash#1}}
+\makeatletter
+\newcommand*{\cmd}[1]{\cs{\expandafter\@gobble\string#1}}
+\makeatother
+\newcommand*{\env}[1]{\texttt{#1}}
+\newcommand*{\opt}[1]{\texttt{#1}}
+
+\addtokomafont{title}{\rmfamily}
+
+\title{The \pkg{chemcono} package\thanks{This manual corresponds to \pkg{chemcono}~v1.3, dated~9 Sep 1999.}}
+\author{Stefan Schulz\\\mail{stefan.schulz@tu-bs.de}}
+\date{9 Sep 1999}
+
+
+\begin{document}
+
+\maketitle
+
+\section{History:}
+
+Writing chemistry papers, very often a consecutive numbering for compounds
+according to their appearance in the text is required. First, I have no
+knowledge of any basic \TeX. I extracted the definitions for \cmd{\cite} and
+\cmd{\thebibliography} from \texttt{latex.ltx} and \texttt{article.cls} and replaced every
+occurrence of the string \texttt{cit} by \texttt{ffcit}
+and \texttt{bib} by \texttt{ffbib}. In addition, I also performed some small formatting
+changes. Thus, this package worked nicely
+in a document with 300 compound numbers and 700 citations in \LaTeX2.09 and \LaTeXe.
+
+\medskip
+
+\noindent
+\begin{tabular}{@{}l@{ -- }p{11cm}@{}}
+ Version 1.0 & \LaTeX2.09. \\
+ Version 1.1 & Same thing for \LaTeXe. \\
+ Version 1.2 & Now works with \LaTeXe\ of 1996/06/01 \\
+ Version 1.3 & Added option \opt{[tight]}. Saves space in the compound number list. Default is \opt{[normal]}. \\
+\end{tabular}
+
+
+\section{Usage:}
+
+Load package \pkg{chemcono}. For every compound, use \cmd{\fcite} like \cmd{\cite} for citations.
+After a \cmd{\clearpage} at the end of your document use \env{theffbibliography} like
+the normal \env{thebibliography}, with \cmd{\ffbibitem} instead of \cmd{\bibitem}:
+%
+\begin{verbatim}
+\begin{theffbibliography}{99}
+\ffbibitem{f1} danaidone
+\ffbibitem{f2} thio ether
+\end{theffbibliography}
+\end{verbatim}
+%
+After compilation and printout, discard the last page.
+If you want other formatting than bold face numbers, use
+%
+\begin{verbatim}
+\renewcommand{\fcite}[1]{\underline{\ffcite{#1}}}
+\end{verbatim}
+%
+which gives in this case an underlined number.
+Look at \texttt{example.tex}.
+The formatting of the \env{ffbibliography} can be made tight to save space by the option \opt{[tight]}.
+
+I have added the file \texttt{drftcono.sty}, which bases on the \texttt{drftcite.sty} file from D.~Arseneau.
+When using \texttt{drftcono.sty}, you get the tags of the compound numbers instead the real numbers in the text.
+In the compound number section, small superscripts show which label has been used first, second,
+and so on. You have to load \texttt{drftcono.sty} after \texttt{chemcono.sty}. For the final version, just comment
+out \texttt{drftcono.sty} as in \texttt{example.tex}.
+I also added a file \texttt{showkeysff.sty}, which shows labels in the margin as in \pkg{showkeys}, but the \cmd{\fcite} tags
+are also added. I was not able to include counting of occurrence present in \pkg{drftcono}
+in the \pkg{showkeysff} package, which would be highly desirable.
+
+
+\section{Complications:}
+
+You must not use identical labels for \cmd{\fcite} and \cmd{\cite}. Otherwise \LaTeX\ gets
+confused. As a hint, I identify every compound label by a preceding \texttt{f} as in
+\verb+\fcite{f1}+, and every citation label with a \texttt{c}, like \verb+\cite{c1}+.
+
+
+\section{Future:}
+
+I would like to have the option for removing the printout of
+\env{theffbibliography}. Than one would not need to discard the last page.
+Because I have no knowledge of any programming, I do not know how to do
+this. I also do not know whether the goal of this style could be achieved
+much more easily. Any hints are welcome.
+Inclusion of order of occurrence counting in \pkg{showkeysff}.
+
+\end{document}
diff --git a/macros/latex/contrib/chemcono/drftcono.sty b/macros/latex/contrib/chemcono/drftcono.sty
new file mode 100644
index 0000000000..834363a3be
--- /dev/null
+++ b/macros/latex/contrib/chemcono/drftcono.sty
@@ -0,0 +1,256 @@
+ %% drftcono.sty, Version 1.2
+ %% Copyright 1996, 1999 Stefan Schulz
+
+ % This program can redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+%............................................
+%
+% A T T E N T I O N!
+%
+% This file is a modification of
+%
+% D R F T C I T E . S T Y
+%
+% version 3.5 (Jan 1995)
+%
+% Print the tags instead of the numbers for \cite.
+% See also CITE.STY and OVERCITE.STY.
+%
+% Copyright (C) 1989,1991-1995 by Donald Arseneau
+% These macros may be freely transmitted, reproduced, or modified
+% provided that this notice is left intact.
+% ........................
+% All occurrences of cite were transformed into ffcite
+%
+%
+% Handle formatting hooks:
+% \ffciteform,\ffciteleft,\ffciteright,\ffcitemid,\ffcitepunct
+%
+% Set defaults:
+
+
+% [ on the left.
+\@ifundefined{ffciteleft}{\let\ffciteleft=[}{}
+
+
+% ] on the right:
+\@ifundefined{ffciteright}{\let\ffciteright=]}{}
+
+
+% , (comma space) before note
+\@ifundefined{ffcitemid}{\def\ffcitemid{,\penalty\@lowpenalty\ }}{}
+
+% , (comma space) between entries
+\@ifundefined{ffcitepunct}{
+% Default: To put space after the comma. [nospace] eliminates the space
+ \def\ffcitepunct{,\penalty\@lowpenalty\ }%
+ }{}
+
+% Each citation tag left as-is:
+\@ifundefined{ffciteform}{\def\ffciteform{}}{}
+
+% Do not repeat warnings. [verbose] reverses
+\let\oc@verbo\relax
+
+% \ffciten gives the citation tag in the text and writes the aux file entry.
+% Use \ffciten to give citation name without the other formatting; e.g.,
+% "See also ref.~\ffciten{junk}" gives "See also ref. junk".
+%
+\edef\ffciten{\noexpand\protect \expandafter\noexpand\csname ffciten \endcsname}
+
+\@namedef{ffciten }#1{%
+\edef\@tempa{\@ignspaftercomma,#1, \@end, }% ignore spaces in parameter list.
+\edef\@tempa{\expandafter\@ignendcommas\@tempa\@end}%
+\if@filesw \immediate\write \@auxout {\string\citation {\@tempa}}\fi
+\def\@ffcitea{}%
+\@for \@ffciteb:=\@tempa\do {\@ffcitea
+ \@ifundefined {b@\@ffciteb\@extra@b@ffciteb}%
+ {{\bf \@ffciteverb{\@ffciteb}?}%% issue warning only for first mis-use:
+ \@dftc@ifund {DCN@\@ffciteb\@extra@b@ffciteb}{% delete to warn always
+ \@warning {Citation `\@ffciteb' on page \thepage\space undefined}%
+ }{}% delete to warn always
+ }% else, defined
+ {\@dftc@hbox{\@ffciteverb{\@ffciteb}}}%
+ \let\@ffcitea\ffcitepunct\@advanceffcitecount
+ }}
+
+% for ignoring spaces in the input:
+\def\@ignspaftercomma#1, {\ifx\@end#1\@empty\else
+ #1,\expandafter\@ignspaftercomma\fi}
+\def\@ignendcommas,#1,\@end{#1}
+
+% Make \ffcite robust.
+%
+\edef\ffcite{\noexpand\protect\expandafter\noexpand\csname ffcite \endcsname}
+
+\@namedef{ffcite }{\@ifnextchar [{\@tempswatrue\@ffcitex}{\@tempswafalse\@ffcitex[]}}
+
+% Make \@ffcitex refer to \ffciten:
+% (Put a single space before the output)
+%
+\def\@ffcitex[#1]#2{\@ffcite{\ffciten{#2}}{#1}}%
+
+% Replacement for \@ffcite which defines the formatting normally done
+% around the citation list. Adjust the spacing before the citation:
+% if no space or if there is extra space due to some punctuation, then
+% change to one inter-word space. The way to change this is by changing
+% \ffciteleft, \ffcitemid, and \ffciteright; but in extreme cases it might be
+% necessary to redefine the whole macro.
+%
+
+%\def\@ffcite#1#2{\leavevmode
+% \@tempskipa\lastskip \edef\@tempa{\the\@tempskipa}\unskip
+% \ifx\@tempa\@zero@skip \spacefactor1001 \fi % if no space before, set flag
+% \ifnum\spacefactor>\@m \ \else \hskip\@tempskipa \fi
+% \ffciteleft{#1\if@tempswa \ffcitemid #2\fi}\ffciteright
+% \spacefactor\@m % punctuation in note doesn't affect outside
+%}
+\edef\@zero@skip{\the\z@skip}
+%
+% Give the citation tag as the label (even if another label is specified)
+%
+\def\@lffbibitem[#1]#2{\global\@Highffcite\z@
+ \item[\@ffbiblabel{\@ifundefined{DCN@#2\@extra@b@ffciteb}{\@warning
+ {Reference `#2' on page \thepage\space was never ffcited}}{}%
+ \DC@llap{$^{\@nameuse{DCN@#2\@extra@b@ffciteb}}$\ }%%o
+ \@ffciteverb{#2}}\hfil]\if@filesw{\def\protect##1{\string ##1\space}%
+ \immediate\write\@auxout{\string\ffbibcite{#2}{#1}}}\fi\ignorespaces}
+
+\def\@ffbibitem#1{\refstepcounter{\@listctr}\@lffbibitem[\the\value{\@listctr}]{#1}}
+
+% make the special characters in the citation tag printable
+%
+\def\@ffciteverb#1{%
+ {\ffciteform{% to get characters <>_|{}: \ffciteform->\tt
+ \expandafter \expandafter \expandafter \@gobblethree % do \csname, \string,
+ \expandafter \string\csname b@#1\endcsname}% % \@gobble, in that order.
+}}%
+
+\def\@gobblethree#1#2#3{}
+
+% \@extra@b@ffciteb is a hook for other style files to further specify
+% citations; for example, to number by chapter.
+% In case no fancy ffbib package (chapterffbib) defines it:
+
+\@ifundefined{@extra@b@ffciteb}{\def\@extra@b@ffciteb{}}{}
+
+%------------------------------------
+% Handle optional variations:
+
+\def\noffcitecount{%
+ \def\@advanceffcitecount{\global\@namedef{DCN@\@ffciteb\@extra@b@ffciteb}{}}%
+ \let\DC@llap\@gobble}
+\noffcitecount % in case what follows gets removed
+
+\newcount\@Highffcite \global\@Highffcite\z@
+\let\@dftc@ifund\@ifundefined
+\let\@dftc@hbox\hbox
+
+\@ifundefined{DeclareOption}{}%
+{ \DeclareOption{noffcitecount}{\endinput}
+ \toks@={\def\@dftc@ifund#1#2#3{#2}}
+ \DeclareOption{verbose}{\the\toks@}
+ \DeclareOption{tt}{\def\ffciteform{\tt}}
+ \DeclareOption{nospace}{\def\ffcitepunct{,\penalty\z@}}
+ \DeclareOption{space}{\def\ffcitepunct{,\ }}
+ \DeclareOption{breakffcites}{\let\@dftc@hbox\relax}
+ \ProvidesPackage{drftcono}[1995/01/23 \space v 3.5]
+ \ProcessOptions }
+
+% The rest deals only with counting, and can be removed if counting is never
+% desired.
+
+\let\DC@llap=\llap
+%
+% count the citations as they appear in the text
+%
+\def\@advanceffcitecount{\@ifundefined {DCN@\@ffciteb\@extra@b@ffciteb}%
+{\global\advance\@Highffcite\@ne
+\expandafter\xdef\csname DCN@\@ffciteb\@extra@b@ffciteb\endcsname{\the\@Highffcite}}%
+{}}
+%
+% The remainder handles (counting over) input files skipped by \includeonly.
+% It adds code to LaTeX's \include to re-read the .aux file checking the
+% \citation commands.
+%
+% For included files that are skipped (not listed by \includeonly)
+% input the .aux file ignoring all commands but \citation, which
+% does \@advanceffcitecount (keeps count of the citations). This adds
+% a requirement for other style files that add commands to the .aux
+% file: the commands must be safe to execute an extra time.
+%
+\let\@dftc@include\include
+\def\include#1{\relax
+ \ifx\DC@llap\llap \begingroup % do counting only if wanted
+ \@ifundefined{cp@#1}{}% don't do if .aux file not there!
+ {\toks@\expandafter\expandafter\expandafter{\csname cp@#1\endcsname}%
+ \expandafter\xdef\csname cp@#1\endcsname{\the\toks@
+ \noexpand\@dftc@auxffcite{#1}}}%
+ \endgroup\fi \@dftc@include{#1}}
+%
+\def\@dftc@auxffcite#1{\begingroup % disable everything but \citation
+ \let\ffbibcite\@gobbletwo \let\newlabel\@gobbletwo \let\@writefile\@gobbletwo
+ \let\ffbibdata\@gobble \let\ffbibstyle\@gobble % already \@gobble normally
+ \def\citation##1{\@for\@ffciteb:=##1\do {\@advanceffcitecount}}%
+ \makeatletter\@input{#1.aux}\endgroup
+}
+\endinput
+
+% FROM
+% D R F T C I T E . S T Y
+%
+% version 3.5 (Jan 1995) , adopted to drftcono
+%
+% This package makes LaTeX use the identifying label instead of the number
+% for citations, as if the ffbibliography had entries like \ffbibitem[name]{name}
+% but LaTeX writes the proper citation number to the aux file for later runs.
+% Spaces before the \ffcite command are ignored, and an ordinary interword
+% space is used. This package is particularly useful for draft (draught)
+% versions of documents.
+%
+%
+% Drftffcite keeps track of which references were ffcited, and issues warnings
+% for ffbibliography items that were never ffcited in the text.
+%
+% This package also keeps track of the order of first-citations in the text
+% for easy sorting. To omit this counting...
+% LaTeX 2.09: declare \noffcitecount before the first \ffcite; or, for
+% a more permanent removal, comment-out the lines ending with %%o
+% below, and omit everything following the line that begins with %%o.
+% LaTeX2e: specify \usepackage[noffcitecount]{drftffcite}, or perform the
+% editing described above.
+%
+% The characters <>|_{}\ are not present in the cm roman fonts, so if you use
+% them in identifiers, they will have to be typeset in typewriter style.
+% To do this,...
+% LaTeX 2.09: insert \renewcommand\ffciteform{\tt} in your preamble
+% LaTeX2e: specify \usepackage[tt]{drftffcite}
+%
+% `Citation...undefined' warnings are only given once per undefined
+% citation name. In the text, missing numbers are represented with a
+% bold `name?'. To restore multiple warnings...
+% LaTex 2.09: edit this file, removing the lines with the comments:
+% "delete to warn always"
+% LaTeX2e: specify \usepackage[verbose]{drftffcite}
+%
+% Other options for \usepackage are:
+% [space] - Separate printed names with comma-space (Default).
+% [nospace] - Print just a comma (not comma-space) after each name.
+% [breakffcites] - Allow each printed name to be broken (hyphenated).
+%
+% There are several commands that you may redefine (using \renewcommand)
+% to change the formatting of citation lists:
+%
+% command function default
+% ---------- ----------------------- ----------------------------
+% \ffciteform reformats every entry nothing
+% \ffcitepunct printed between numbers comma + space
+% \ffciteleft left delimiter of list [
+% \ffciteright right delimeter of list ]
+% \ffcitemid printed before note comma + space
+%
+%
+% Send problem reports to stefan.schulz@tu-bs.de
+%
diff --git a/macros/latex/contrib/chemcono/example.tex b/macros/latex/contrib/chemcono/example.tex
new file mode 100644
index 0000000000..9e377ee91d
--- /dev/null
+++ b/macros/latex/contrib/chemcono/example.tex
@@ -0,0 +1,140 @@
+\documentclass[11pt]{article}
+\usepackage[tight]{chemcono}
+%\usepackage{drftcono}
+%\usepackage{showkeysff}
+%\renewcommand{\fcite}[1]{\underline{\ffcite{#1}}}
+
+\newcommand{\grade}{$\,^{\circ}$}
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{5pt plus 2pt minus 1pt}
+
+\begin{document}
+\begin{center}
+\fbox{\textsf{Uncomment packages in the preamble to see different output.}}
+
+\section*{Composition of the Pheromone System of the male Danaine Butterfly, \emph{Idea
+leuconoe}}
+
+S. Schulz$^{*,a}$, R. Nishida$^{b}$ \\ $^{a}$Institute of Organic Chemistry, TU
+Braunschweig, Hagenring 30, D-38106~Braunschweig, Germany, phone +49-531-391 7353,
+email:~stefan.schulz@tu-bs.de;
+\\$^{b}$Pesticide Research Institute, Kyoto University, Kyoto, 606-01, Japan
+\end{center}
+
+\begin{center}
+Keywords: pheromones, Danainae, lipids, \emph{Idea}, lactones
+\end{center}
+\begin{center}
+\textbf{Abstract}
+\end{center}
+
+ Male \emph{Idea leuconoe} butterflies release a complex mixture
+of volatiles from their pheromone glands (hairpencils) during courtship. The pheromone
+components geranyl methyl thioether (\fcite{f2}), viridifloric-$\beta$-lactone
+(\fcite{f3}), and 6-hydroxy-4-dodecanolide (\fcite{f8}) have been synthesized for the
+first time. Therefore the structural assignment of these new natural products could be
+proved. Related 7-hydroxy-5-alkanolides are also present in the extract. The volatiles
+are embedded in a lipidic matrix with more than 150 components. This matrix consists of
+alkanes, alkenes, 2,5-dialkyltetrahydrofurans, secondary alkanols and alkenols as well as
+alkanones and alkenones. Several regioisomers of the oxidized hydrocarbons occur. The
+elucidation of double bond positions has been performed by MS using DMDS adducts.
+
+\begin{center}
+\textbf{Introduction}
+
+\end{center}
+ Male Danaine butterflies possess striking evertible
+pheromone glands, so called hairpencils, which are used during courtship \cite{c1}.
+About 30 years ago the first pheromone component of these butterflies, danaidone
+(\fcite{f1}), could be identified \cite{c2} and its function as courtship pheromone
+proved \cite{c3}. Since then, many danaine species have been investigated and the
+chemical composition of their male pheromone glands elucidated \cite{c1,c4,c7}. Despite
+the fact that some of the scent bouquets consist of up to 60 components, no pheromonal
+function of any other component than \fcite{f1} has been established.
+
+
+Recently we were able to show that male \emph{Idea leuconoe} butterflies emit a complex
+mixture of chemicals from their hairpencils. At least three of these components,
+danaidone (\fcite{f1}), geranyl methyl thioether (\fcite{f2}), and
+(\emph{S,S})-viridifloric-$\beta$-lactone (\fcite{f3}), act as courtship pheromones
+\cite{c5}. An artificial mixture of hairpencil compounds containing \fcite{f1},
+\fcite{f2}, and \fcite{f3} as well as phenol, \emph{p}-cresol, benzoic acid, a series of
+homologue 6-hydroxy-4-alkanolides ranging from C$_{10}$ to C$_{13}$,
+(\emph{E,E})-farnesol, and (\emph{Z})-9-tricosene elicited the same courtship behavior
+as a crude hairpencil extract \cite{c5}. In addition, (--)-(\emph{R})-mellein
+(8-hydroxy-3-methyl-3,4-dihydroisocoumarin) and another $\beta$-lactone related to
+\fcite{f3}, 2-ethyl-2-hydroxy-3-butanolide, could be identified in the hairpencil
+extracts. Besides their function as courtship pheromones, other types of interactions,
+like a defensive warning odor or intermale recognition (for a discussion, see
+\cite{c5}), seem also to be associated with these chemicals. The volatile compounds
+identified are embedded into a complex lipidic matrix (see Figure~\ref{f2}).
+\marginpar{fig.~\ref{f2} here} In this paper we will report on the synthesis of some
+hairpencils constituents, the identification of additional components, and the
+composition of the lipid matrix.
+
+\begin{figure}[h!]
+ \centering
+ \caption{Figure}\label{f2}
+\end{figure}
+
+\begin{center}
+\textbf{Results}
+\end{center}
+The structure of the previously unknown geranyl methyl thioether (\fcite{f2}) could be
+deduced from its mass spectrum (see Figure~\ref{f3}). \marginpar{fig.~\ref{f3} here}The
+presence of sulfur was detected by high-resolution mass spectroscopy, giving a molecular
+formula of C$_{11}$H$_{20}$S
+ (M$^{+}_{obs}$ = 184.1289, M$^{+}_{calc}$ = 184.1286).
+Ions at \emph{m/z} = 47 (CH$_{3}$S$^{+}$) and 61 (CH$_{3}$SCH$_{2}^{+}$) and the loss of
+48 amu (CH$_{3}$SH) from M$^{+}$ indicated a thiomethyl group in the molecule. Typical
+terpenic ions (\emph{m/z} = 41, 69, 81, 93, 123, and 136) suggested that this molecule
+could be geranyl methyl thioether (\fcite{f2}). For an unambiguous proof, \fcite{f2} was
+synthesized by reaction of geranyl chloride with sodium methanolate in boiling ethanol.
+The product showed identical mass spectra and gaschromatographic retention times on
+different stationary phases as the natural compound which is therefore
+(\emph{E})-2,6-dimethyloctadienyl methyl thioether (\fcite{f2}). The corresponding
+(\emph{Z})-isomer exhibited a similar mass spectrum, but a shorter retention time on an
+apolar phase.
+
+
+Another pheromone component not reported from nature before is
+2-hydroxy-2-(1-methylethyl)-3-butanolide (viridifloric $\beta$-lactone, \fcite{f3}). Its
+identification basing on MS-, IR- and NMR-data has been described \cite{c5}. A racemic
+mixture of both diastereomers of \fcite{f3} was synthesized for structural assignment
+according to Figure 4.
+
+\begin{thebibliography}{99}
+\bibitem{c1}Ackery, P. R.; Vane-Wright, R. I. \emph{Milkweed
+Butterflies: Their Cladistics and Biology}; British Museum (Natural
+History): London, 1984.
+\bibitem{c2}Meinwald, J.; Meinwald, Y. C.
+\emph{J. Am. Chem. Soc.} \textbf{1966}, \emph{88}, 1305.
+\bibitem{c3}Pliske, T. E.; Eisner, T. \emph{Science} \textbf{1969},
+\emph{164}, 1170.
+\bibitem{c4}Schulz, S.; Boppr\'e, M.; Vane-Wright, R. I.
+\emph{Phil. Trans. R. Soc. Lond. B} \textbf{1993}, \emph{342}, 161.
+\bibitem{c7}
+Schulz, S.; Francke, W.; Edgar, J.; Schneider, D. \emph{Z. Naturforsch.} \textbf{1988},
+\emph{43c}, 99; Schulz, S.; Francke, W.; Boppr\'e, M. \emph{Biol.\ Chem.\ Hoppe-Seyler}
+\textbf{1988}, \emph{389}, 633; Francke, W.; Bartels, J.; Krohn, S.; Schulz, S.; Baader,
+E.; Teng\"o, J.; Schneider, D. \emph{Pure Appl. Chem.} \textbf{1989}, \emph{61}, 539;
+Francke, W.; Schulz, S.; Sinnwell, V.; K\"onig, W. A.; Roisin, Y. \emph{Liebigs Ann.
+Chem.} \textbf{1989}, 1195.
+\bibitem{c5}Nishida, R.; Schulz, S.; Kim, C. H.; Fukami, H.; Kuwahara,
+Y.; Honda, K.; Hayashi, N. \emph{J. Chem. Ecol.} \textbf{1995}, submitted.
+\end{thebibliography}
+
+\clearpage
+\begin{theffbibliography}{99}
+\ffbibitem{f1} danaidone
+\ffbibitem{f2} geranyl methyl thioether
+\ffbibitem{f3} viridifloric acid lactone
+\ffbibitem{f5} ho but sre
+\ffbibitem{f6} butensre
+\ffbibitem{f7} virid. acid
+\ffbibitem{f12} oxobutester
+\ffbibitem{f11} hexenolid
+\ffbibitem{f9} oxo olid
+\ffbibitem{f8} 6-ho-c12-g-lactone
+\end{theffbibliography}
+ \end{document}
diff --git a/macros/latex/contrib/chemcono/showkeysff.sty b/macros/latex/contrib/chemcono/showkeysff.sty
new file mode 100644
index 0000000000..828c0e3499
--- /dev/null
+++ b/macros/latex/contrib/chemcono/showkeysff.sty
@@ -0,0 +1,219 @@
+%
+% A T T E N T I O N!
+%
+% This file is a modification of
+%
+% `showkeys.sty',
+%% %%
+%% Copyright 1993 1994 1995 1996 1997 1998 1999
+%% The LaTeX3 Project and any individual authors listed elsewhere
+%% in this file. The showkeys.sty file is part of the Standard LaTeX `Tools Bundle'.
+%% -------------------------------------------------------
+%%
+%% This file, and all the other files in this bundle as listed below,
+%% may be distributed under the terms of the LaTeX Project Public
+%% License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.0 or, at your option, any later version.
+%%
+%% File: showkeysff.sty Copyright (C) 1999 Stefan Schulz
+%%
+%% For usage, look at drftcono.sty and example.tex
+%%
+\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{showkeysff}
+ [1997/06/12 v1.0 Show ffcite, cite, and label keys (DPC)]
+\DeclareOption{notref}{\let\SK@ref\@empty}
+\DeclareOption{notcite}{\let\SK@cite\@empty}
+\DeclareOption{notffcite}{\let\SK@ffcite\@empty}
+\let\SK@refcolor\relax
+\let\SK@labelcolor\relax
+\DeclareOption{color}{\AtEndOfPackage{%
+ \RequirePackage{color}%
+ \definecolor{refkey}{gray}{.75}%
+ \definecolor{labelkey}{gray}{.75}%
+ \def\SK@refcolor{\color{refkey}}%
+ \def\SK@labelcolor{\color{labelkey}}}}
+\DeclareOption{final}{\endinput}
+\DeclareOption{draft}{}
+\ProcessOptions
+\let\SK@label\label
+\let\SK@bibitem\@bibitem
+\let\SK@lbibitem\@lbibitem
+\let\SK@ffbibitem\@ffbibitem
+\let\SK@fflbibitem\@fflbibitem
+\def\label#1{%
+ \@bsphack
+ \SK@\SK@@label{#1}%
+ \begingroup
+ \SK@label{#1}%
+ \endgroup
+ \@esphack}
+\def\@bibitem#1{%
+ \SK@bibitem{#1}\SK@\SK@@label{#1}\ignorespaces}
+\def\@lbibitem[#1]#2{%
+ \SK@lbibitem[#1]{#2}\SK@\SK@@label{#2}\ignorespaces}
+\def\@ffbibitem#1{%
+ \SK@ffbibitem{#1}\SK@\SK@@label{#1}\ignorespaces}
+\def\@fflbibitem[#1]#2{%
+ \SK@fflbibitem[#1]{#2}\SK@\SK@@label{#2}\ignorespaces}
+\def\SK@#1#2{%
+ \protected@edef\@tempa{#2}%
+ \expandafter#1\meaning\@tempa\SK@}
+\def\SK@@label#1>#2\SK@{%
+ \gdef\SK@lab{\smash{\SK@labelcolor\fbox{%
+ \normalfont\small\ttfamily#2}}}%
+ \ifvmode
+ \if@inlabel
+ \global\setbox\@labels\hbox{%
+ \llap{\SK@lab\SK@lab@relax
+ \kern\@totalleftmargin\kern\marginparsep}%
+ \box\@labels}%
+ \else
+ \dimen@\prevdepth
+ \nointerlineskip
+ \ifinner
+ \skip@\lastskip\unskip
+ \advance\skip@\lastskip\unskip
+ \setbox\z@\lastbox
+ \ifvoid\z@
+ \llap{\SK@lab\SK@lab@relax\kern\marginparsep}%
+ \else
+ \hbox{\box\z@\kern\marginparsep\SK@labx}%
+ \fi
+ \vskip\skip@
+ \else
+ \llap{\SK@lab\SK@lab@relax\kern\marginparsep}%
+ \fi
+ \prevdepth\dimen@
+ \fi
+ \else
+ \csname SK@\@currenvir\endcsname
+ \ifSK@equation\else
+ \ifmmode
+ \SK@labx
+ \else
+ \ifinner
+ \rlap\SK@lab
+ \else
+ \vadjust{\llap{\SK@lab\kern\marginparsep}}%
+ \fi
+ \SK@lab@relax
+ \fi
+ \fi
+ \fi}
+\AtBeginDocument{%
+ \let\SK@eqnnum\@eqnnum
+ \def\@tempa{\let\iftagsleft@\iffalse}%
+ \ifx\iftagsleft@\undefined\@tempa\fi%
+ \let\SK@tagform@\tagform@
+ \iftagsleft@
+ \def\tagform@#1{%
+ \ifx\df@label\@empty
+ \SK@lab@relax
+ \else
+ \expandafter\SK@@label\meaning\df@label\SK@
+ \fi
+ \llap{\SK@lab\kern\marginparsep}%
+ \SK@lab@relax\SK@tagform@{#1}}%
+ \def\@eqnnum{%
+ \llap{\SK@lab\kern\displaywidth\kern\marginparsep}%
+ \SK@lab@relax\SK@eqnnum}%
+ \else
+ \def\tagform@#1{%
+ \ifx\df@label\@empty
+ \SK@lab@relax
+ \else
+ \expandafter\SK@@label\meaning\df@label\SK@
+ \fi
+ \SK@tagform@{#1}%
+ \rlap{\kern\marginparsep\SK@lab}\SK@lab@relax}%
+ \def\@eqnnum{\SK@eqnnum\rlap{\kern\marginparsep\SK@lab}%
+ \SK@lab@relax}%
+ \fi}
+\def\SK@labx{\rlap\SK@lab\global\let\SK@lab\relax}
+\def\SK@lab@relax{\global\let\SK@lab\relax}\SK@lab@relax
+\newif\ifSK@equation
+\let\SK@equation\SK@equationtrue
+\let\SK@eqnarray\SK@equationtrue
+\toks@\expandafter{\eqnarray}
+\edef\eqnarray{\let\noexpand\tagform@\noexpand\SK@tagform@\the\toks@}
+\let\SK@align\SK@equationtrue
+\let\SK@alignat\SK@equationtrue
+\let\SK@xalignat\SK@equationtrue
+\let\SK@xxalignat\SK@equationtrue
+\let\SK@gather\SK@equationtrue
+\let\SK@multline\SK@equationtrue
+\let\SK@flalign\SK@equationtrue
+\def\SK@def#1{%
+ \edef\@tempa{\expandafter\@gobble\string#1}%
+ \@ifundefined{\@tempa\space}%
+ {\expandafter\let\csname SK@\@tempa\endcsname#1}%
+ {\expandafter\let\csname SK@\@tempa\expandafter\endcsname
+ \csname\@tempa\space\endcsname}%
+ \expandafter\def\expandafter#1\expandafter{%
+ \expandafter\protect\csname\@tempa\space\endcsname}%
+ \expandafter\def\csname\@tempa\space\endcsname}
+\ifx\SK@ref\@empty
+\AtBeginDocument{%
+ \ifx\vpageref\@undefined\else
+ \SK@def\@@vpageref#1[#2]#3{{%
+ \let\label\SK@label
+ \SK@@@vpageref#1[#2]{#3}}}%
+ \DeclareRobustCommand\vref[1]{%
+ \unskip~\ref{#1}%
+ {\let\label\SK@label
+ \SK@@@vpageref\unskip[\unskip\space]{#1}}}%
+ \fi}
+\else
+\AtBeginDocument{%
+ \SK@def\ref#1{\SK@\SK@@ref{#1}\SK@ref{#1}}%
+ \SK@def\pageref#1{\SK@\SK@@ref{#1}\SK@pageref{#1}}%
+ \ifx\vpageref\@undefined\else
+ \SK@def\@@vpageref#1[#2]#3{{%
+ \let\label\SK@label\let\ref\SK@ref\let\pageref\SK@pageref
+ \leavevmode\unskip\SK@\SK@@ref{#3}\SK@@@vpageref#1[#2]{#3}}}%
+ \DeclareRobustCommand\vref[1]{%
+ \unskip~\ref{#1}%
+ {\let\label\SK@label\let\ref\SK@ref\let\pageref\SK@pageref
+ \SK@@@vpageref\unskip[\unskip\space]{#1}}}%
+ \fi}
+\fi
+\ifx\SK@ffcite\@empty
+\AtBeginDocument{%
+ \ifx\HAR@checkdef\@undefined\else
+ \expandafter\let\expandafter
+ \SK@HAR@bi\csname\string\harvarditem\endcsname
+ \expandafter\def\csname\string\harvarditem\endcsname[#1]#2#3#4{%
+ \SK@HAR@bi[#1]{#2}{#3}{#4}\SK@\SK@@label{#4}}%
+ \fi}
+\else
+\AtBeginDocument{%
+ \ifx\HAR@checkdef\@undefined
+ \ifx\ffciten\@undefined
+ \SK@def\ffcite#1#{\SK@ffcitea{#1}}%
+ \else
+ \SK@def\ffciten#1{\SK@\SK@@ref{#1}\SK@ffciten{#1}}%
+ \fi
+ \SK@def\ffciteauthor#1{\SK@\SK@@ref{#1}\SK@ffciteauthor{#1}}%
+ \SK@def\ffcitefullauthor#1{\SK@\SK@@ref{#1}\SK@ffcitefullauthor{#1}}%
+ \SK@def\ffciteyear#1{\SK@\SK@@ref{#1}\SK@ffciteyear{#1}}%
+ \else
+ \SK@def\HAR@checkdef#1#2{%
+ \expandafter\SK@\expandafter\SK@@ref\expandafter{#1}%
+ \SK@HAR@checkdef{#1}{#2}}%
+ \expandafter\let\expandafter
+ \SK@HAR@bi\csname\string\harvarditem\endcsname
+ \expandafter\def\csname\string\harvarditem\endcsname[#1]#2#3#4{%
+ \SK@HAR@bi[#1]{#2}{#3}{#4}\SK@\SK@@label{#4}}%
+ \fi}
+\def\SK@ffcitea#1#2{%
+ \SK@\SK@@ref{#2}\SK@ffcite#1{#2}}
+\fi
+\def\SK@@ref#1>#2\SK@{%
+ \leavevmode\vbox to\z@{%
+ \vss
+ \SK@refcolor
+ \rlap{\vrule\raise .75em%
+ \hbox{\underbar{\normalfont\footnotesize\ttfamily#2}}}}}
+\endinput
+%%
+%% End of file `showkeys.sty'.