summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/chemcono
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:52:56 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:52:56 +0000
commit01b711f1fe2600ac5fbc70ddca0f681d4dc02481 (patch)
tree224bd490723a5f75b400511bb228ec9d7678ca69 /Master/texmf-dist/tex/latex/chemcono
parentb04e801269693f2d2025761e0e4eb9918b840107 (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.sty184
-rw-r--r--Master/texmf-dist/tex/latex/chemcono/drftcono.sty256
-rw-r--r--Master/texmf-dist/tex/latex/chemcono/showkeysff.sty219
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'.