diff options
author | Karl Berry <karl@freefriends.org> | 2010-04-18 18:03:30 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-04-18 18:03:30 +0000 |
commit | 4f5df459139365b598a08e7b946698649b36efec (patch) | |
tree | 21af8eff7041190cb17325ade7677d02bc4e4665 /Master/texmf-dist/tex/latex/hyperref/nameref.sty | |
parent | d6fb43e455d1db11285021afc73220e1544c48fc (diff) |
hyperref update (17apr10)
git-svn-id: svn://tug.org/texlive/trunk@17902 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/hyperref/nameref.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/hyperref/nameref.sty | 84 |
1 files changed, 79 insertions, 5 deletions
diff --git a/Master/texmf-dist/tex/latex/hyperref/nameref.sty b/Master/texmf-dist/tex/latex/hyperref/nameref.sty index b2138d8257d..041c17d9a07 100644 --- a/Master/texmf-dist/tex/latex/hyperref/nameref.sty +++ b/Master/texmf-dist/tex/latex/hyperref/nameref.sty @@ -30,9 +30,10 @@ %% given in the file `manifest.txt'. \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{nameref} - [2010/01/25 v2.36 Cross-referencing by name of section]% + [2010/04/17 v2.39 Cross-referencing by name of section]% \RequirePackage{refcount}[2006/02/12] \RequirePackage{gettitlestring}[2009/12/18] +\RequirePackage{ltxcmds}[2009/12/12] \def\strip@period#1.\relax#2\@@@{#1} \newif\ifNR@showkeys \NR@showkeysfalse @@ -140,16 +141,62 @@ \NR@gettitle{#5}% \NR@ssect{#1}{#2}{#3}{#4}{\Sectionformat{#5}{#1}}% } +\ltx@IfUndefined{ifheadnameref}{% +}{% + \ltx@IfUndefined{M@sect}{% + }{% + \let\NRorg@M@sect\M@sect + \def\M@sect#1#2#3#4#5#6[#7][#8]{% + \ifheadnameref + \NR@gettitle{#8}% + \else + \NR@gettitle{#7}% + \fi + \NRorg@M@sect{#1}{#2}{#3}{#4}{#5}{#6}[{#7}][{#8}]% + }% + }% +} \let\NR@part\@part -\def\@part[#1]#2{% +\long\def\@part[#1]#2{% \NR@gettitle{#1}% \NR@part[{#1}]{#2}% } +\let\NR@spart\@spart +\long\def\@spart#1{% + \NR@gettitle{#1}% + \NR@spart{#1}% +} \let\NR@chapter\@chapter \def\@chapter[#1]#2{% \NR@gettitle{#1}% \NR@chapter[{#1}]{#2}% } +\@ifclassloaded{memoir}{% + \ltx@IfUndefined{ifheadnameref}{% + }{% + \def\@chapter[#1]#2{% + \ltx@IfUndefined{ch@pt@c}{% + \NR@gettitle{#1}% + }{% + \ifx\ch@pt@c\ltx@empty + \NR@gettitle{#2}% + \else + \def\NR@temp{#1}% + \ifx\NR@temp\ltx@empty + \expandafter\NR@gettitle\expandafter{\ch@pt@c}% + \else + \ifheadnameref + \NR@gettitle{#1}% + \else + \expandafter\NR@gettitle\expandafter{\ch@pt@c}% + \fi + \fi + \fi + }% + \NR@chapter[{#1}]{#2}% + }% + }% +}{} \let\NR@schapter\@schapter \def\@schapter#1{% \NR@gettitle{#1}% @@ -208,8 +255,33 @@ \NR@PatchBeamer{subsection}% \NR@PatchBeamer{subsubsection}% }{} -\def\@currentlabelname{} -\def\@currentHref{} +\ltx@IfUndefined{@opargbegintheorem}{}{% + \let\NRorg@opargbegintheorem\@opargbegintheorem + \def\@opargbegintheorem#1#2#3{% + \NR@gettitle{#3}% + \NRorg@opargbegintheorem{#1}{#2}{#3}% + }% +} +\AtBeginDocument{% + \@ifpackageloaded{amsthm}{% + \let\NRorg@begintheorem\@begintheorem + \begingroup + \edef\x{macro:\string#1\string#2[\string#3]}% + \@onelevel@sanitize\x + \def\y#1->#2\@nil{#1}% + \edef\z{\expandafter\y\meaning\@begintheorem->\@nil}% + \@onelevel@sanitize\z + \expandafter\endgroup + \ifx\x\z + \def\@begintheorem#1#2[#3]{% + \NR@gettitle{#3}% + \NRorg@begintheorem{#1}{#2}[{#3}]% + }% + \fi + }{}% +} +\providecommand*{\@currentlabelname}{} +\providecommand*{\@currentHref}{} \long\def\@firstoffive#1#2#3#4#5{#1} \long\def\@secondoffive#1#2#3#4#5{#2} \long\def\@thirdoffive#1#2#3#4#5{#3} @@ -278,7 +350,9 @@ }% \fi \fi -\def\nameref{\protect\T@nameref} + \DeclareRobustCommand*{\nameref}{% + \@ifstar\T@nameref\T@nameref + }% \def\Nameref#1{`\nameref{#1}' on page~\pageref{#1}} \providecommand\Sectionformat[2]{#1} \@ifpackageloaded{ifthen}{% |