summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/chemcono/drftcono.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/chemcono/drftcono.sty')
-rw-r--r--macros/latex/contrib/chemcono/drftcono.sty256
1 files changed, 256 insertions, 0 deletions
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
+%