summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/hyperref/nameref.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-04-18 18:03:30 +0000
committerKarl Berry <karl@freefriends.org>2010-04-18 18:03:30 +0000
commit4f5df459139365b598a08e7b946698649b36efec (patch)
tree21af8eff7041190cb17325ade7677d02bc4e4665 /Master/texmf-dist/tex/latex/hyperref/nameref.sty
parentd6fb43e455d1db11285021afc73220e1544c48fc (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.sty84
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}{%