diff options
author | Karl Berry <karl@freefriends.org> | 2010-03-10 00:14:03 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-03-10 00:14:03 +0000 |
commit | a7cf689238e7d1fc437521e4521ab401e764f0e9 (patch) | |
tree | e4c92053106ee23049900bcfb3bcea33e8a5a4da /Master/texmf-dist/source | |
parent | b8be32341e21f81097cd37f2237a1e762882d70e (diff) |
hyperref update (9mar10)
git-svn-id: svn://tug.org/texlive/trunk@17402 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/hyperref/hyperref.dtx | 264 |
1 files changed, 257 insertions, 7 deletions
diff --git a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx index a12320eefb1..3802bd65f69 100644 --- a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx +++ b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx @@ -44,7 +44,7 @@ %<puenc>\ProvidesFile{puenc.def} %<puvnenc>\ProvidesFile{puvnenc.def} %<puarenc>\ProvidesFile{puarenc.def} -%<!none> [2010/03/04 v6.80k +%<!none> [2010/03/09 v6.80l %<package> Hypertext links for LaTeX] %<nohyperref> Dummy hyperref (SR)] %<driver> Hyperref documentation driver file] @@ -126,7 +126,7 @@ \end{document} %</driver> % \fi -% \CheckSum{25621} +% \CheckSum{26216} % % \MakeShortVerb{|} % \StopEventually{} @@ -1207,9 +1207,7 @@ % % \paragraph{Patch for cjk bookmarks.} % \begin{macrocode} - \ifHy@CJKbookmarks - \HyPsd@CJKhook - \fi + \HyPsd@CJKhook % \end{macrocode} % % \paragraph{User hook.} @@ -2268,6 +2266,29 @@ } % \end{macrocode} % +% \subsubsection{CJK patch} +% +% \begin{macrocode} +\RequirePackage{intcalc}[2007/09/27] +\RequirePackage{ltxcmds}[2010/03/09] +% \end{macrocode} +% +% \begin{macro}{\HyPsd@CJKhook} +% \begin{macrocode} +\def\HyPsd@CJKhook{% + \ltx@ifpackageloaded{CJK}{% + \let\CJK@kern\relax + \let\CJKkern\relax + \let\CJK@CJK\relax + \ifHy@CJKbookmarks + \HyPsd@@CJKhook@bookmarks + \fi + \HyPsd@CJKhook@unicode + }{}% +} +% \end{macrocode} +% \end{macro} +% % \subsubsection{CJK bookmarks} % % \begin{macro}{\HyPsd@CJKhook} @@ -2315,7 +2336,9 @@ }% }% \toks@\expandafter{\the\toks@ !}% - \xdef\HyPsd@CJKhook{\the\toks@}% + \xdef\HyPsd@CJKhook@bookmarks{% + \the\toks@ + }% \endgroup % \end{macrocode} % \end{macro} @@ -2376,6 +2399,234 @@ % \end{macrocode} % \end{macro} % +% \subsubsection{CJK unicode} +% +% \begin{macro}{\HyPsd@CJKhook@unicode} +% \begin{macrocode} +\def\HyPsd@CJKhook@unicode{% + \let\Unicode\HyPsd@CJK@Unicode + \let\CJKnumber\HyPsd@CJKnumber + \let\CJKdigits\HyPsd@CJKdigits +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\HyPsd@CJK@Unicode} +% \begin{macrocode} +\def\HyPsd@CJK@Unicode#1#2{% + \ifnum#1<256 % + \HyPsd@DecimalToOctalFirst{#1}% + \HyPsd@DecimalToOctal{#2}% + \else + \933% + \expandafter\expandafter\expandafter\HyPsd@HighA + \intcalcDiv{#1}{4}!% + \933% + \ifcase\intcalcMod{#1}{4} % + 4\or 5\or 6\or 7% + \fi + \HyPsd@DecimalToOctal{#2}% + \fi +} +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +\def\HyPsd@HighA#1!{% + \expandafter\expandafter\expandafter\HyPsd@HighB + \IntCalcDiv#1!64!!% + \expandafter\expandafter\expandafter\HyPsd@HighD + \IntCalcMod#1!64!!% +} +\def\HyPsd@HighB#1!{% + \expandafter\expandafter\expandafter\HyPsd@HighC + \IntCalcDec#1!!% +} +\def\HyPsd@HighC#1!{% + \IntCalcDiv#1!4!% + \@backslashchar + \IntCalcMod#1!4!% +} +\def\HyPsd@HighD#1!{% + \ifcase\IntCalcDiv#1!8! % + 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7% + \fi + \ifcase\IntCalcMod#1!8! % + 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7% + \fi +} +\def\HyPsd@DecimalToOctalFirst#1{% + \9% + \ifcase#1 % + 000\or 001\or 002\or 003\or 004\or 005\or 006\or 007% + \or 010\or 011\or 012\or 013\or 014\or 015\or 016\or 017% + \or 020\or 021\or 022\or 023\or 024\or 025\or 026\or 027% + \or 030\or 031\or 032\or 033\or 034\or 035\or 036\or 037% + \or 040\or 041\or 042\or 043\or 044\or 045\or 046\or 047% + \or 050\or 051\or 052\or 053\or 054\or 055\or 056\or 057% + \or 060\or 061\or 062\or 063\or 064\or 065\or 066\or 067% + \or 070\or 071\or 072\or 073\or 074\or 075\or 076\or 077% + \or 100\or 101\or 102\or 103\or 104\or 105\or 106\or 107% + \or 120\or 111\or 112\or 113\or 114\or 115\or 116\or 117% + \or 120\or 121\or 122\or 123\or 124\or 125\or 126\or 127% + \or 130\or 131\or 132\or 133\or 134\or 135\or 136\or 137% + \or 140\or 141\or 142\or 143\or 144\or 145\or 146\or 147% + \or 150\or 151\or 152\or 153\or 154\or 155\or 156\or 157% + \or 160\or 161\or 162\or 163\or 164\or 165\or 166\or 167% + \or 170\or 171\or 172\or 173\or 174\or 175\or 176\or 177% + \or 200\or 201\or 202\or 203\or 204\or 205\or 206\or 207% + \or 210\or 211\or 212\or 213\or 214\or 215\or 216\or 217% + \or 220\or 221\or 222\or 223\or 224\or 225\or 226\or 227% + \or 230\or 231\or 232\or 233\or 234\or 235\or 236\or 237% + \or 240\or 241\or 242\or 243\or 244\or 245\or 246\or 247% + \or 250\or 251\or 252\or 253\or 254\or 255\or 256\or 257% + \or 260\or 261\or 262\or 263\or 264\or 265\or 266\or 267% + \or 270\or 271\or 272\or 273\or 274\or 275\or 276\or 277% + \or 300\or 301\or 302\or 303\or 304\or 305\or 306\or 307% + \or 310\or 311\or 312\or 313\or 314\or 315\or 316\or 317% + \or 320\or 321\or 322\or 323\or 324\or 325\or 326\or 327% + \or 330\or 331\or 332\or 333\or 334\or 335\or 336\or 337% + \or 340\or 341\or 342\or 343\or 344\or 345\or 346\or 347% + \or 350\or 351\or 352\or 353\or 354\or 355\or 356\or 357% + \or 360\or 361\or 362\or 363\or 364\or 365\or 366\or 367% + \or 370\or 371\or 372\or 373\or 374\or 375\or 376\or 377% + \fi +} +% \end{macrocode} +% \begin{macrocode} +\def\HyPsd@CJKnumber#1{% + \ifnum#1<\z@ + \CJK@minus + \expandafter\HyPsd@@CJKnumber\expandafter{\number-\number#1}% + \else + \expandafter\HyPsd@@CJKnumber\expandafter{\number#1}% + \fi +} +\def\HyPsd@@CJKnumber#1{% + \ifcase#1 % + \CJK@zero\or\CJK@one\or\CJK@two\or\CJK@three\or\CJK@four\or + \CJK@five\or\CJK@six\or\CJK@seven\or\CJK@eight\or\CJK@nine\or + \CJK@ten\or\CJK@ten\CJK@one\or\CJK@ten\CJK@two\or + \CJK@ten\CJK@three\or\CJK@ten\CJK@four\or\CJK@ten\CJK@five\or + \CJK@ten\CJK@six\or\CJK@ten\CJK@seven\or\CJK@ten\CJK@eight\or + \CJK@ten\CJK@nine + \else + \ifnum#1<10000 % + \HyPsd@CJKnumberFour#1!\@empty + \@empty + \else + \ifnum#1<100000000 % + \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour + \IntCalcDiv#1!10000!% + !{}% + \CJK@tenthousand + \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour + \IntCalcMod#1!10000!% + !\CJK@zero + \@empty + \else + \expandafter\HyPsd@CJKnumberLarge + \number\IntCalcDiv#1!100000000!\expandafter!% + \number\IntCalcMod#1!100000000!!% + \fi + \fi + \fi +} +\def\HyPsd@CJKnumberLarge#1!#2!{% + \HyPsd@CJKnumberFour#1!{}% + \CJK@hundredmillion + \ifnum#2=\z@ + \else + \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour + \IntCalcDiv#2!10000!% + !\CJK@zero + \CJK@tenthousand + \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour + \IntCalcMod#2!10000!% + !\CJK@zero + \@empty + \fi +} +\def\HyPsd@CJKnumberFour#1!#2{% + \ifnum#1=\z@ + \expandafter\@gobble + \else + \ifnum#1<1000 % + #2% + \HyPsd@CJKnumberThree#1!{}% + \else + \HyPsd@@CJKnumber{\IntCalcDiv#1!1000!}% + \CJK@thousand + \expandafter\expandafter\expandafter\HyPsd@CJKnumberThree + \IntCalcMod#1!1000!% + !\CJK@zero + \fi + \fi +} +\def\HyPsd@CJKnumberThree#1!#2{% + \ifnum#1=\z@ + \else + \ifnum#1<100 % + #2% + \HyPsd@CJKnumberTwo#1!{}% + \else + \HyPsd@@CJKnumber{\IntCalcDiv#1!100!}% + \CJK@hundred + \expandafter\expandafter\expandafter\HyPsd@CJKnumberTwo + \IntCalcMod#1!100!% + !\CJK@zero + \fi + \fi +} +\def\HyPsd@CJKnumberTwo#1!#2{% + \ifnum#1=\z@ + \else + \ifnum#1<10 % + #2% + \HyPsd@@CJKnumber{#1}% + \else + \HyPsd@@CJKnumber{\IntCalcDiv#1!10!}% + \CJK@ten + \ifnum\IntCalcMod#1!10!=\z@ + \else + \HyPsd@@CJKnumber{\IntCalcMod#1!10!}% + \fi + \fi + \fi +} +% \end{macrocode} +% \begin{macrocode} +\def\HyPsd@CJKdigits#1{% + \ifx*#1\relax + \expandafter\HyPsd@@CJKdigits\expandafter\CJK@zero + \else + \HyPsd@@CJKdigits\CJK@null{#1}% + \fi +} +\def\HyPsd@@CJKdigits#1#2{% + \ifx\\#2\\% + \else + \HyPsd@@@CJKdigits#1#2\@nil + \fi +}% +\def\HyPsd@@@CJKdigits#1#2#3\@nil{% + \HyPsd@CJKdigit#1{#2}% + \ifx\\#3\\% + \expandafter\@gobble + \else + \expandafter\@firstofone + \fi + {% + \HyPsd@@@CJKdigits#1#3\@nil + }% +} +\def\HyPsd@CJKdigit#1#2{% + \ifcase#2 % + #1\or + \CJK@one\or\CJK@two\or\CJK@three\or\CJK@four\or + \CJK@five\or\CJK@six\or\CJK@seven\or\CJK@eight\or\CJK@nine + \fi +} +% \end{macrocode} +% % \subsubsection{\texorpdfstring{\cs{@inmathwarn}}{\\@inmathwarn}-Patch} % \begin{macro}{\HyPsd@inmathwarn} % The patch of \cs{@inmathwarn} is needed to get rid of the @@ -3477,7 +3728,6 @@ % \end{macro} % \begin{macro}{\HyPsd@Char} % \begin{macrocode} -\RequirePackage{intcalc}[2007/09/27] \begingroup \catcode0=9 % \catcode`\^=7 % |