diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:52:56 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:52:56 +0000 |
commit | 01b711f1fe2600ac5fbc70ddca0f681d4dc02481 (patch) | |
tree | 224bd490723a5f75b400511bb228ec9d7678ca69 /Master/texmf-dist/tex/latex/chemcono | |
parent | b04e801269693f2d2025761e0e4eb9918b840107 (diff) |
chemcono
git-svn-id: svn://tug.org/texlive/trunk@751 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/chemcono')
-rw-r--r-- | Master/texmf-dist/tex/latex/chemcono/chemcono.sty | 184 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/chemcono/drftcono.sty | 256 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/chemcono/showkeysff.sty | 219 |
3 files changed, 659 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/chemcono/chemcono.sty b/Master/texmf-dist/tex/latex/chemcono/chemcono.sty new file mode 100644 index 00000000000..977b1706e88 --- /dev/null +++ b/Master/texmf-dist/tex/latex/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/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 +% diff --git a/Master/texmf-dist/tex/latex/chemcono/showkeysff.sty b/Master/texmf-dist/tex/latex/chemcono/showkeysff.sty new file mode 100644 index 00000000000..b6c1a97fd94 --- /dev/null +++ b/Master/texmf-dist/tex/latex/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'. |