From 141203d77d129a6f04915541e9d0506493bdeab3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 17 Jan 2010 23:32:39 +0000 Subject: hyperref update (17jan10) git-svn-id: svn://tug.org/texlive/trunk@16758 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/hyperref/backref.sty | 137 ++++++++++++++++----- Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def | 2 +- Master/texmf-dist/tex/latex/hyperref/hdvips.def | 2 +- Master/texmf-dist/tex/latex/hyperref/hdvipson.def | 2 +- Master/texmf-dist/tex/latex/hyperref/hdviwind.def | 2 +- Master/texmf-dist/tex/latex/hyperref/hpdftex.def | 2 +- Master/texmf-dist/tex/latex/hyperref/htex4ht.cfg | 2 +- Master/texmf-dist/tex/latex/hyperref/htex4ht.def | 2 +- Master/texmf-dist/tex/latex/hyperref/htexture.def | 2 +- Master/texmf-dist/tex/latex/hyperref/hvtex.def | 2 +- Master/texmf-dist/tex/latex/hyperref/hvtexhtm.def | 2 +- Master/texmf-dist/tex/latex/hyperref/hvtexmrk.def | 2 +- Master/texmf-dist/tex/latex/hyperref/hxetex.def | 2 +- Master/texmf-dist/tex/latex/hyperref/hyperref.sty | 23 +++- Master/texmf-dist/tex/latex/hyperref/hypertex.def | 2 +- .../texmf-dist/tex/latex/hyperref/nohyperref.sty | 2 +- Master/texmf-dist/tex/latex/hyperref/pd1enc.def | 2 +- Master/texmf-dist/tex/latex/hyperref/pdfmark.def | 2 +- Master/texmf-dist/tex/latex/hyperref/puarenc.def | 2 +- Master/texmf-dist/tex/latex/hyperref/puenc.def | 2 +- Master/texmf-dist/tex/latex/hyperref/puvnenc.def | 2 +- 21 files changed, 145 insertions(+), 53 deletions(-) (limited to 'Master/texmf-dist/tex/latex/hyperref') diff --git a/Master/texmf-dist/tex/latex/hyperref/backref.sty b/Master/texmf-dist/tex/latex/hyperref/backref.sty index a426e60d2b6..3e5ae0f7c20 100644 --- a/Master/texmf-dist/tex/latex/hyperref/backref.sty +++ b/Master/texmf-dist/tex/latex/hyperref/backref.sty @@ -21,7 +21,7 @@ %% given in the file `manifest.txt'. \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{backref} - [2010/01/09 v1.32 Bibliographical back referencing]% + [2010/01/16 v1.33 Bibliographical back referencing]% \newif\ifBR@verbose \@ifundefined{ifHy@verbose}{% \BR@verbosefalse @@ -143,6 +143,7 @@ \ProcessOptions*\relax \newif\ifbackrefparscan \backrefparscantrue +\newif\ifBR@BackrefAlt \def\BR@bibitem{% \ifbackrefparscan \expandafter\@ifnextchar\expandafter[\expandafter @@ -185,16 +186,31 @@ \expandafter\providecommand\csname brc@#1\endcsname{0}% \expandafter\providecommand\csname brcd@#1\endcsname{0}% \csname @safe@activesfalse\expandafter\endcsname - \expandafter\backref\csname br@#1\expandafter\endcsname - \expandafter\backrefalt\csname brc@#1\expandafter\endcsname - \csname brl@#1\expandafter\endcsname - \csname brcd@#1\expandafter\endcsname - \csname brld@#1\endcsname + \ifBR@BackrefAlt + \ifx\backrefentrycount\BR@BackrefEntryCountUnused + \else + \BR@PopulateEntryCount{#1}% + \fi + \expandafter\backrefalt\csname brc@#1\expandafter\endcsname + \csname brl@#1\expandafter\endcsname + \csname brcd@#1\expandafter\endcsname + \csname brld@#1\endcsname + \else + \expandafter\backref\csname br@#1\expandafter\endcsname + \fi \endgroup \par } \@ifundefined{newblock}{\def\newblock{\par}}{} -\providecommand*{\backrefalt}[4]{} +\let\BR@Unused\@empty +\def\BR@BackrefAltUnused#1#2#3#4{\BR@Unused} +\@ifundefined{backrefalt}{% + \let\backrefalt\BR@BackrefAltUnused +}{} +\def\BR@BackrefEntryCountUnused#1#2{\BR@Unused#1} +\@ifundefined{backrefentrycount}{% + \let\backrefentrycount\BR@BackrefEntryCountUnused +}{} \def\backcite#1#2{% \@for\x:=#1\do{% \begingroup @@ -207,12 +223,14 @@ \expandafter\protected@xdef\csname br@\x\endcsname{% \protect\backrefxxx#2% }% - \global\expandafter\let\csname brl@\x\expandafter\endcsname - \csname br@\x\endcsname - \global\expandafter\let\csname brld@\x\expandafter\endcsname - \csname br@\x\endcsname - \expandafter\gdef\csname brc@\x\endcsname{1}% - \expandafter\gdef\csname brcd@\x\endcsname{1}% + \ifBR@BackrefAlt + \global\expandafter\let\csname brl@\x\expandafter\endcsname + \csname br@\x\endcsname + \global\expandafter\let\csname brld@\x\expandafter\endcsname + \csname br@\x\endcsname + \expandafter\gdef\csname brc@\x\endcsname{1}% + \expandafter\gdef\csname brcd@\x\endcsname{1}% + \fi \else \begingroup \@ifundefined{backrefxxxdupe}{}{\let\backrefxxx\backrefxxxdupe}% @@ -239,34 +257,88 @@ \csname br@\x\endcsname, % \protect\backrefxxx#2% }% - \expandafter\protected@xdef\csname brl@\x\endcsname{% - \csname brl@\x\endcsname - \ifnum\@nameuse{brc@\x}=1 % + \ifBR@BackrefAlt + \expandafter\protected@xdef\csname brl@\x\endcsname{% + \csname brl@\x\endcsname + \ifnum\@nameuse{brc@\x}=1 % + \noexpand\backreftwosep + \else + \noexpand\backreflastsep + \fi + \protect\backrefxxx#2% + }% + \count@=\@nameuse{brc@\x}\relax + \advance\count@ by 1 % + \expandafter\xdef\csname brc@\x\endcsname{\the\count@}% + \fi + \fi + \ifBR@BackrefAlt + \expandafter\protected@xdef\csname brld@\x\endcsname{% + \csname brld@\x\endcsname + \ifnum\@nameuse{brcd@\x}=1 % \noexpand\backreftwosep \else \noexpand\backreflastsep \fi \protect\backrefxxx#2% }% - \count@=\@nameuse{brc@\x}\relax + \count@=\@nameuse{brcd@\x}\relax \advance\count@ by 1 % - \expandafter\xdef\csname brc@\x\endcsname{\the\count@}% + \expandafter\xdef\csname brcd@\x\endcsname{\the\count@}% \fi - \expandafter\protected@xdef\csname brld@\x\endcsname{% - \csname brld@\x\endcsname - \ifnum\@nameuse{brcd@\x}=1 % - \noexpand\backreftwosep - \else - \noexpand\backreflastsep - \fi - \protect\backrefxxx#2% - }% - \count@=\@nameuse{brcd@\x}\relax - \advance\count@ by 1 % - \expandafter\xdef\csname brcd@\x\endcsname{\the\count@}% \fi }% } +\def\BR@PopulateEntryCount#1{% + \begingroup + \toks@{}% + \def\backrefsep{% + \toks@\expandafter{\the\toks@\backrefsep}% + }% + \def\backreftwosep{% + \toks@\expandafter{\the\toks@\backreftwosep}% + }% + \def\backreflastsep{% + \toks@\expandafter{\the\toks@\backreflastsep}% + }% + \def\protect{}% + \let\BR@backrefxxx\backrefxxx + \let\backrefxxx\BR@PopulateBackrefxxx + \def\BR@name{#1}% + \csname brl@#1\endcsname + \expandafter\xdef\csname brl@#1\endcsname{\the\toks@}% + \endgroup +} +\def\BR@PopulateBackrefxxx#1#2#3{% + \expandafter\def\expandafter\BR@tempa\expandafter{% + \BR@backrefxxx{#1}{#2}{#3}% + }% + \begingroup + \count@=\z@ + \def\backrefsep{}% + \def\backreftwosep{}% + \def\backreflastsep{}% + \let\backrefxxx\BR@@PopulateBackrefxxx + \csname brld@\BR@name\endcsname + \toks\tw@={\backrefxxx{#1}{#2}{#3}}% + \edef\x{\endgroup + \toks@{% + \the\toks@ + \noexpand\backrefentrycount{% + \the\toks\tw@ + }{\the\count@}% + }% + }% + \x +} +\def\BR@@PopulateBackrefxxx#1#2#3{% + \expandafter\def\expandafter\BR@tempb\expandafter{% + \BR@backrefxxx{#1}{#2}{#3}% + }% + \ifx\BR@tempa\BR@tempb + \advance\count@\@ne + \fi +} \def\@currentHref{} \AtBeginDocument{% \let\BRorg@bibitem\bibitem @@ -287,6 +359,11 @@ }% } \def\BR@starttoc{% + \ifx\backrefalt\BR@BackrefAltUnused + \global\BR@BackrefAltfalse + \else + \global\BR@BackrefAlttrue + \fi \begingroup \makeatletter \@input{\jobname.brf}% diff --git a/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def b/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def index de65307c4ce..97229fdd1eb 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def +++ b/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hdvipdfm.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref driver for dvipdfm] \def\Hy@PutCatalog#1{\@pdfm@mark{docview << #1 >>}} \ifHy@pagelabels diff --git a/Master/texmf-dist/tex/latex/hyperref/hdvips.def b/Master/texmf-dist/tex/latex/hyperref/hdvips.def index 68fa3a0bff7..55e808ff0ca 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hdvips.def +++ b/Master/texmf-dist/tex/latex/hyperref/hdvips.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hdvips.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref driver for dvips] \providecommand*{\XR@ext}{pdf} \def\Hy@raisedlink{} diff --git a/Master/texmf-dist/tex/latex/hyperref/hdvipson.def b/Master/texmf-dist/tex/latex/hyperref/hdvipson.def index d24bf823b7d..551a067be3a 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hdvipson.def +++ b/Master/texmf-dist/tex/latex/hyperref/hdvipson.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hdvipson.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref driver for dvipsone] \providecommand*{\XR@ext}{pdf} \def\Hy@raisedlink{} diff --git a/Master/texmf-dist/tex/latex/hyperref/hdviwind.def b/Master/texmf-dist/tex/latex/hyperref/hdviwind.def index ec8fe381730..3c8baae79a4 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hdviwind.def +++ b/Master/texmf-dist/tex/latex/hyperref/hdviwind.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hdviwind.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref driver for dviwindo] \begingroup \@ifundefined{headerps@out}{}{% diff --git a/Master/texmf-dist/tex/latex/hyperref/hpdftex.def b/Master/texmf-dist/tex/latex/hyperref/hpdftex.def index bad109da369..991902202dc 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hpdftex.def +++ b/Master/texmf-dist/tex/latex/hyperref/hpdftex.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hpdftex.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref driver for pdfTeX] \let\Hy@PutCatalog\pdfcatalog \ifHy@pagelabels diff --git a/Master/texmf-dist/tex/latex/hyperref/htex4ht.cfg b/Master/texmf-dist/tex/latex/hyperref/htex4ht.cfg index ea6b75a8608..ffab934fb69 100644 --- a/Master/texmf-dist/tex/latex/hyperref/htex4ht.cfg +++ b/Master/texmf-dist/tex/latex/hyperref/htex4ht.cfg @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{htex4ht.cfg} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref configuration file for TeX4ht] \IfFileExists{\jobname.cfg}{\endinput}{} \Preamble{html} diff --git a/Master/texmf-dist/tex/latex/hyperref/htex4ht.def b/Master/texmf-dist/tex/latex/hyperref/htex4ht.def index ed7061e091b..d2b8a98c092 100644 --- a/Master/texmf-dist/tex/latex/hyperref/htex4ht.def +++ b/Master/texmf-dist/tex/latex/hyperref/htex4ht.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{htex4ht.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref driver for TeX4ht] \providecommand*{\XR@ext}{html} \def\Hy@raisedlink{} diff --git a/Master/texmf-dist/tex/latex/hyperref/htexture.def b/Master/texmf-dist/tex/latex/hyperref/htexture.def index c909ae324b5..35cabb3cc3a 100644 --- a/Master/texmf-dist/tex/latex/hyperref/htexture.def +++ b/Master/texmf-dist/tex/latex/hyperref/htexture.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{htexture.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref driver for Textures] \providecommand*{\XR@ext}{pdf} \begingroup diff --git a/Master/texmf-dist/tex/latex/hyperref/hvtex.def b/Master/texmf-dist/tex/latex/hyperref/hvtex.def index a28550b3ba6..38c755ca626 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hvtex.def +++ b/Master/texmf-dist/tex/latex/hyperref/hvtex.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hvtex.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref driver for VTeX in PDF/PS mode] \providecommand*{\XR@ext}{pdf} \edef\Hy@VTeXversion{% diff --git a/Master/texmf-dist/tex/latex/hyperref/hvtexhtm.def b/Master/texmf-dist/tex/latex/hyperref/hvtexhtm.def index 31fc5a59e0e..91ab7f6998e 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hvtexhtm.def +++ b/Master/texmf-dist/tex/latex/hyperref/hvtexhtm.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hvtexhtml.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref driver for VTeX in HTML mode] \providecommand*{\XR@ext}{htm} \RequirePackage{vtexhtml} diff --git a/Master/texmf-dist/tex/latex/hyperref/hvtexmrk.def b/Master/texmf-dist/tex/latex/hyperref/hvtexmrk.def index 9ee316e17a7..e89affa8b7a 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hvtexmrk.def +++ b/Master/texmf-dist/tex/latex/hyperref/hvtexmrk.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hvtexmrk.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref driver for VTeX in PDF/PS mode (pdfmark specials)] \providecommand*{\XR@ext}{pdf} \def\Hy@raisedlink{} diff --git a/Master/texmf-dist/tex/latex/hyperref/hxetex.def b/Master/texmf-dist/tex/latex/hyperref/hxetex.def index 0b88977c722..24006b97cb8 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hxetex.def +++ b/Master/texmf-dist/tex/latex/hyperref/hxetex.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hxetex.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref driver for XeTeX] \HyPsd@LoadUnicode \Hy@unicodetrue diff --git a/Master/texmf-dist/tex/latex/hyperref/hyperref.sty b/Master/texmf-dist/tex/latex/hyperref/hyperref.sty index c3d610e6172..fcae5b8021c 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hyperref.sty +++ b/Master/texmf-dist/tex/latex/hyperref/hyperref.sty @@ -25,7 +25,7 @@ %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{hyperref} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hypertext links for LaTeX] \begingroup \@makeother\`% @@ -5308,12 +5308,27 @@ \def\ttl@Hy@steplink#1{% \Hy@GlobalStepCount\Hy@linkcounter \xdef\@currentHref{#1*.\the\Hy@linkcounter}% - \def\ttl@Hy@saveanchor{% - \Hy@raisedlink{% - \hyper@anchorstart{\@currentHref}\hyper@anchorend + \edef\ttl@Hy@saveanchor{% + \noexpand\Hy@raisedlink{% + \noexpand\hyper@anchorstart{\@currentHref}% + \noexpand\hyper@anchorend + \def\noexpand\ttl@Hy@SavedCurrentHref{\@currentHref}% + \noexpand\ttl@Hy@PatchSaveWrite }% }% }% + \def\ttl@Hy@PatchSaveWrite{% + \begingroup + \toks@\expandafter{\ttl@savewrite}% + \edef\x{\endgroup + \def\noexpand\ttl@savewrite{% + \let\noexpand\@currentHref + \noexpand\ttl@Hy@SavedCurrentHref + \the\toks@ + }% + }% + \x + }% \def\ttl@Hy@refstepcounter#1{% \let\ttl@b\Hy@raisedlink \def\Hy@raisedlink##1{% diff --git a/Master/texmf-dist/tex/latex/hyperref/hypertex.def b/Master/texmf-dist/tex/latex/hyperref/hypertex.def index dfc1c83be83..c995704480e 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hypertex.def +++ b/Master/texmf-dist/tex/latex/hyperref/hypertex.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hypertex.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref driver for HyperTeX specials] \providecommand*{\XR@ext}{dvi} \def\PDF@FinishDoc{} diff --git a/Master/texmf-dist/tex/latex/hyperref/nohyperref.sty b/Master/texmf-dist/tex/latex/hyperref/nohyperref.sty index 463c81bf4ca..76973a127ac 100644 --- a/Master/texmf-dist/tex/latex/hyperref/nohyperref.sty +++ b/Master/texmf-dist/tex/latex/hyperref/nohyperref.sty @@ -25,7 +25,7 @@ %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{nohyperref} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Dummy hyperref (SR)] \let\hyper@@anchor\@gobble \def\hyper@link#1#2#3{#3}% diff --git a/Master/texmf-dist/tex/latex/hyperref/pd1enc.def b/Master/texmf-dist/tex/latex/hyperref/pd1enc.def index 86b81a7aa82..ade56c0071e 100644 --- a/Master/texmf-dist/tex/latex/hyperref/pd1enc.def +++ b/Master/texmf-dist/tex/latex/hyperref/pd1enc.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{pd1enc.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref: PDFDocEncoding definition (HO)] \DeclareFontEncoding{PD1}{}{} \DeclareTextAccent{\`}{PD1}{\textasciigrave} diff --git a/Master/texmf-dist/tex/latex/hyperref/pdfmark.def b/Master/texmf-dist/tex/latex/hyperref/pdfmark.def index 69ced2d0d9c..722d4e635c7 100644 --- a/Master/texmf-dist/tex/latex/hyperref/pdfmark.def +++ b/Master/texmf-dist/tex/latex/hyperref/pdfmark.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{pdfmark.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref definitions for pdfmark specials] \begingroup \@ifundefined{headerps@out}{}{% diff --git a/Master/texmf-dist/tex/latex/hyperref/puarenc.def b/Master/texmf-dist/tex/latex/hyperref/puarenc.def index 4a13b8513b2..a983410b5d5 100644 --- a/Master/texmf-dist/tex/latex/hyperref/puarenc.def +++ b/Master/texmf-dist/tex/latex/hyperref/puarenc.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{puarenc.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref: Additions to puenc.def for Arabi] \DeclareTextCommand{\hamza}{PU}{\86\041}% 0621;afii57409;ARABIC LETTER HAMZA \DeclareTextCommand{\alefmadda}{PU}{\86\042}% 0622;afii57410;ARABIC LETTER ALEF WITH MADDA ABOVE diff --git a/Master/texmf-dist/tex/latex/hyperref/puenc.def b/Master/texmf-dist/tex/latex/hyperref/puenc.def index 3668df81860..cc922e239cb 100644 --- a/Master/texmf-dist/tex/latex/hyperref/puenc.def +++ b/Master/texmf-dist/tex/latex/hyperref/puenc.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{puenc.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref: PDF Unicode definition (HO)] \DeclareFontEncoding{PU}{}{} \DeclareTextCommand{\`}{PU}[1]{#1\83\000}% U+0300 diff --git a/Master/texmf-dist/tex/latex/hyperref/puvnenc.def b/Master/texmf-dist/tex/latex/hyperref/puvnenc.def index 0ecaccb2a0c..6050aa913b5 100644 --- a/Master/texmf-dist/tex/latex/hyperref/puvnenc.def +++ b/Master/texmf-dist/tex/latex/hyperref/puvnenc.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{puvnenc.def} - [2010/01/11 v6.80b + [2010/01/16 v6.80c Hyperref: Additions to puenc.def for VnTeX] \DeclareTextCommand{\abreve}{PU}{\81\003} \DeclareTextCommand{\acircumflex}{PU}{\80\342} -- cgit v1.2.3