From 01b711f1fe2600ac5fbc70ddca0f681d4dc02481 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Jan 2006 23:52:56 +0000 Subject: chemcono git-svn-id: svn://tug.org/texlive/trunk@751 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/chemcono/drftcono.sty | 256 ++++++++++++++++++++++ 1 file changed, 256 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/chemcono/drftcono.sty (limited to 'Master/texmf-dist/tex/latex/chemcono/drftcono.sty') diff --git a/Master/texmf-dist/tex/latex/chemcono/drftcono.sty b/Master/texmf-dist/tex/latex/chemcono/drftcono.sty new file mode 100644 index 00000000000..44995a1c060 --- /dev/null +++ b/Master/texmf-dist/tex/latex/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 +% -- cgit v1.2.3