diff options
author | Karl Berry <karl@freefriends.org> | 2010-03-07 17:04:42 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-03-07 17:04:42 +0000 |
commit | 355c88ab8518e03ef77a4e27700863977315c7d0 (patch) | |
tree | 3a3088771fc89560acbc9348311a98beb2ca3434 /Master/texmf-dist/tex/latex/hypernat | |
parent | 499ad42b864ca45a40902239d8373c545598ee59 (diff) |
hypernat doc update (6mar10)
git-svn-id: svn://tug.org/texlive/trunk@17358 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/hypernat')
-rw-r--r-- | Master/texmf-dist/tex/latex/hypernat/hypernat.sty | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/hypernat/hypernat.sty b/Master/texmf-dist/tex/latex/hypernat/hypernat.sty new file mode 100644 index 00000000000..d40bcb090a9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/hypernat/hypernat.sty @@ -0,0 +1,127 @@ +%% hypernat.sty v1.0b (C) 2001 Jens Berger +%% +%% This packages makes the hyperref package and the natbib package +%% with options `numbers' and `sort&compress' work together. This +%% means, that the citations (e.g [3,2,1]) will be compressed to +%% [1-3], where the `1' and the `3' are (color-)linked to the +%% bibliography. +%% +%% The changes I made here are suggested (in August 2000) for the +%% next natbib release. +%% +%% This package will disappear from CTAN, when natbib will do +%% the job by himself. +%% +%% Load this package after natbib and hyperref! +%% +%% Please make sure that you are using at least natbib v7.0! +%% +%% Changes +%% +%% v1.0b 2001/07/09 anchor for all citations in the list added +%% to make backref options working (bug reported by Günter Keusen) +%% v1.0a 2001/01/22 \noexpand for some \hyper@natlinkend added +%% (bug reported by Frank Meißen), hypernat.sty +%% is working now for `dvips --> ps2pdf' or `dvips -> Distiller' +%% +\ProvidesPackage{hypernat}[2001/07/09 v1.0b hyperref and natbib compatibility (jb)] +\AtBeginDocument{\def\NAT@sort{2}} +\def\NAT@citexnum[#1][#2]#3{% + \NAT@sort@cites{#3}% + \let\@citea\@empty + \@cite{\def\NAT@num{-1}\let\NAT@last@yr\relax\let\NAT@nm\@empty + \@for\@citeb:=\NAT@cite@list\do + {\edef\@citeb{\expandafter\@firstofone\@citeb}% + \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi + \@ifundefined{b@\@citeb\@extra@b@citeb}{% + {\reset@font\bfseries?} + \NAT@citeundefined\PackageWarning{natbib}% + {Citation `\@citeb' on page \thepage \space undefined}}% + {\let\NAT@last@num\NAT@num\let\NAT@last@nm\NAT@nm + \NAT@parse{\@citeb}% + \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{% + \let\NAT@name=\NAT@all@names + \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}% + \fi + \ifNAT@full\let\NAT@nm\NAT@all@names\else + \let\NAT@nm\NAT@name\fi + \ifNAT@swa + \ifnum\NAT@ctype>1\relax\@citea + \hyper@natlinkstart{\@citeb\@extra@b@citeb}% + \ifnum\NAT@ctype=2\relax\NAT@test{\NAT@ctype}% + \else\NAT@alias + \fi\hyper@natlinkend\else + \ifnum\NAT@sort>1 + \begingroup\catcode`\_=8 + \ifcat _\ifnum\z@<0\NAT@num _\else A\fi + \global\let\NAT@nm=\NAT@num \else \gdef\NAT@nm{-2}\fi + \ifcat _\ifnum\z@<0\NAT@last@num _\else A\fi + \global\@tempcnta=\NAT@last@num \global\advance\@tempcnta by\@ne + \else \global\@tempcnta\m@ne\fi + \endgroup +% v0.1b anchor added to make backref's working, watch for errors! + \ifnum\NAT@nm=\@tempcnta + \ifHy@backref\hyper@natlinkstart{\@citeb\@extra@b@citeb}\hyper@natlinkend\fi + \ifx\NAT@last@yr\relax +% \edef\NAT@last@yr{\@citea \mbox{\noexpand\citenumfont{\NAT@num}}}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \edef\NAT@last@yr{\@citea \mbox{\noexpand% + \hyper@natlinkstart{\@citeb\@extra@b@citeb}% + \noexpand\citenumfont{\NAT@num}% + \noexpand\hyper@natlinkend}% + }% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \else +% \edef\NAT@last@yr{--\penalty\@m\mbox{\noexpand\citenumfont{\NAT@num}}}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \edef\NAT@last@yr{--\penalty\@m\mbox{\noexpand% + \hyper@natlinkstart{\@citeb\@extra@b@citeb}% + \noexpand\citenumfont{\NAT@num}% + \noexpand\hyper@natlinkend}% + }% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \fi + \else +% \NAT@last@yr \@citea \mbox{\citenumfont{\NAT@num}}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \NAT@last@yr \@citea \mbox{% + \hyper@natlinkstart{\@citeb\@extra@b@citeb}% + \citenumfont{\NAT@num}% + \hyper@natlinkend}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \let\NAT@last@yr\relax + \fi + \else + \@citea \mbox{\hyper@natlinkstart{\@citeb\@extra@b@citeb}% + {\citenumfont{\NAT@num}}\hyper@natlinkend}% + \fi + \fi + \def\@citea{\NAT@sep\penalty\@m\NAT@space}% + \else + \ifcase\NAT@ctype\relax + \ifx\NAT@last@nm\NAT@nm \NAT@yrsep\penalty\@m\NAT@space\else + \@citea \NAT@test{1}\ \NAT@@open + \if*#1*\else#1\ \fi\fi \NAT@mbox{% + \hyper@natlinkstart{\@citeb\@extra@b@citeb}% + {\citenumfont{\NAT@num}}\hyper@natlinkend}% + \def\@citea{\NAT@@close\NAT@sep\penalty\@m\ }% + \or\@citea + \hyper@natlinkstart{\@citeb\@extra@b@citeb}% + \NAT@test{\NAT@ctype}\hyper@natlinkend + \def\@citea{\NAT@sep\penalty\@m\ }% + \or\@citea + \hyper@natlinkstart{\@citeb\@extra@b@citeb}% + \NAT@test{\NAT@ctype}\hyper@natlinkend + \def\@citea{\NAT@sep\penalty\@m\ }% + \or\@citea + \hyper@natlinkstart{\@citeb\@extra@b@citeb}% + \NAT@alias\hyper@natlinkend + \def\@citea{\NAT@sep\penalty\@m\ }% + \fi + \fi + }}% + \ifnum\NAT@sort>1\relax\NAT@last@yr\fi + \ifNAT@swa\else\ifnum\NAT@ctype=0\if*#2*\else + \NAT@cmt#2\fi \NAT@@close\fi\fi}{#1}{#2}% +} +\endinput |