2 %% This is file `pdfmark.def',
3 %% generated with the docstrip utility.
5 %% The original source files were:
7 %% hyperref.dtx (with options: `pdfmark,pdfmarkbase,pdfform,outlines')
9 %% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
10 %% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
12 %% This file is part of the `Hyperref Bundle'.
13 %% -------------------------------------------
15 %% It may be distributed under the conditions of the LaTeX Project Public
16 %% License, either version 1.2 of this license or (at your option) any
17 %% later version. The latest version of this license is in
18 %% http://www.latex-project.org/lppl.txt
19 %% and version 1.2 or later is part of all distributions of LaTeX
20 %% version 1999/12/01 or later.
22 %% The list of all files belonging to the `Hyperref Bundle' is
23 %% given in the file `manifest.txt'.
25 \ProvidesFile{pdfmark.def}
27 Hyperref definitions for pdfmark specials]
28 \def\Hy@PutCatalog#1{%
29 \pdfmark{pdfmark=/PUT,Raw={\string{Catalog\string} << #1 >>}}%
32 \def\HyPL@StorePageLabel#1{%
35 \edef\Hy@tempa{\the\Hy@abspage\space<< #1 >> }%
36 \immediate\write\@mainaux{%
37 \string\HyPL@Entry{\Hy@tempa}%
44 \immediate\write\@mainaux{%
45 \string\providecommand\string*\string\HyPL@Entry[1]{}%
48 \ifx\HyPL@Labels\@empty
49 \Hy@WarningNoLine{Rerun to get /PageLabels entry}%
53 \let\HyPL@Entry\@gobble
56 \expandafter\gdef\expandafter\HyPL@Labels\expandafter{%
65 \pdfmark[\anchor@spot]{%
68 View=/\@pdfview \@pdfviewparams,%
74 \@ifundefined{hyper@anchorstart}{}{\endinput}
75 \def\hyper@anchorstart#1{%
78 \xdef\hyper@currentanchor{#1}%
81 \def\hyper@anchorend{%
82 \literalps@out{\strip@pt@and@otherjunk\baselineskip\space H.A}%
86 View=/\@pdfview \@pdfviewparams,%
87 DestAnchor=\hyper@currentanchor,%
93 \def\hyper@linkstart#1#2{%
96 \leavevmode\hbox\bgroup
98 \Hy@colorlink{\csname @#1color\endcsname}%
100 \xdef\hyper@currentanchor{#2}%
101 \gdef\hyper@currentlinktype{#1}%
104 \literalps@out{\strip@pt@and@otherjunk\baselineskip\space H.L}%
105 \edef\Hy@temp{\csname @\hyper@currentlinktype bordercolor\endcsname}%
110 Dest=\hyper@currentanchor,%
111 AcroHighlight=\@pdfhighlight,%
122 \def\hyper@pagetransition{%
123 \ifx\@pdfpagetransition\relax
125 \ifx\@pdfpagetransition\@empty
126 % 1. Does an old entry have to be deleted?
127 % 2. If 1=yes, how to delete?
133 /Trans << /S /\@pdfpagetransition\space >>
140 \def\hyper@pageduration{%
141 \ifx\@pdfpageduration\relax
143 \ifx\@pdfpageduration\@empty
144 % 1. Does an old entry have to be deleted?
145 % 2. If 1=yes, how to delete?
150 {ThisPage} <</Dur \@pdfpageduration>>%
156 \def\hyper@pagehidden{%
161 {ThisPage} <</Hid \ifHy@pdfpagehidden true\else false\fi>>%
166 \def\hyper@image#1#2{%
167 \hyper@linkurl{#2}{#1}}
168 \def\Hy@undefinedname{UNDEFINED}
169 \def\hyper@link#1#2#3{%
170 \edef\Hy@temp{\csname @#1bordercolor\endcsname}%
172 \protected@edef\Hy@testname{#2}%
173 \ifx\Hy@testname\@empty
174 \let\Hy@testname\Hy@undefinedname
179 AcroHighlight=\@pdfhighlight,%
192 Subject=\@pdfsubject,%
193 Creator=\@pdfcreator,%
195 Producer=\@pdfproducer,%
196 Keywords=\@pdfkeywords
198 \Hy@DisableOption{pdfauthor}%
199 \Hy@DisableOption{pdftitle}%
200 \Hy@DisableOption{pdfsubject}%
201 \Hy@DisableOption{pdfcreator}%
202 \Hy@DisableOption{pdfproducer}%
203 \Hy@DisableOption{pdfkeywords}%
206 \ifx\@baseurl\@empty\def\@dobaseurl{}\else
211 Page=\@pdfstartpage,%
212 View=\@pdfstartview,%
213 URI={<< /Base (\@baseurl) >>},%
214 PageMode=\@pdfpagemode
216 \ifx\@pdfpagescrop\@empty
218 \pdfmark{pdfmark=/PAGES,CropBox=\@pdfpagescrop}%
223 \string{Catalog\string} <<
224 /ViewerPreferences <<
225 \ifHy@toolbar\else /HideToolbar true \fi
226 \ifHy@menubar\else /HideMenubar true \fi
227 \ifHy@windowui\else /HideWindowUI true \fi
228 \ifHy@fitwindow /FitWindow true \fi
229 \ifHy@centerwindow /CenterWindow true \fi
231 \ifx\pdf@pagelayout\@empty
233 /PageLayout /\pdf@pagelayout\space
239 \def\pdfmark{\@ifnextchar[{\pdfmark@}{\pdfmark@[]}}
240 \def\pdfmark@[#1]#2{%
241 \edef\@processme{\noexpand\pdf@toks={\the\pdf@defaulttoks}}%
246 \Hy@WarningNoLine{no pdfmark type specified in #2!!}%
247 \ifx\\#1\\\relax\else\pdf@rect{#1}\fi
250 \literalps@out{[\the\pdf@toks\space\pdf@type\space pdfmark}%
252 \Hy@colorlink{\@ifundefined{@\pdf@linktype color}%
254 {\csname @\pdf@linktype color\endcsname}}%
256 \literalps@out{[\the\pdf@toks\space\pdf@type\space pdfmark}%
261 \newsavebox{\pdf@box}
267 \ifdim\dp\pdf@box=\z@
270 \lower\dp\pdf@box\hbox{\literalps@out{H.S}}%
272 \ifHy@breaklinks\unhbox\else\box\fi\pdf@box
276 \raise\dimen@\hbox{\literalps@out{H.R}}%
281 \newtoks\pdf@defaulttoks
283 \def\pdf@addtoks#1#2{%
284 \edef\@processme{\pdf@toks{\the\pdf@toks\space /#2 #1}}%
287 \def\pdf@addtoksx#1{%
288 \edef\@processme{\pdf@toks{\the\pdf@toks\space #1}}%
292 \pdf@defaulttoks={#1}%
294 \define@key{PDF}{pdfmark}{\def\pdf@type{#1}}
295 \define@key{PDF}{linktype}{\def\pdf@linktype{#1}}
296 \def\pdf@linktype{link}
297 \define@key{PDF}{Raw}{\pdf@addtoksx{#1}}
298 \define@key{PDF}{Action}{\pdf@addtoks{#1}{Action}}
299 \define@key{PDF}{Border}{\pdf@addtoks{[#1]}{Border}}
300 \define@key{PDF}{Color}{\pdf@addtoks{[#1]}{Color}}
301 \define@key{PDF}{Contents}{\pdf@addtoks{(#1)}{Contents}}
302 \define@key{PDF}{Count}{\pdf@addtoks{#1}{Count}}
303 \define@key{PDF}{CropBox}{\pdf@addtoks{[#1]}{CropBox}}
304 \define@key{PDF}{DOSFile}{\pdf@addtoks{(#1)}{DOSFile}}
305 \define@key{PDF}{DataSource}{\pdf@addtoks{(#1)}{DataSource}}
306 \define@key{PDF}{Dest}{%
309 \expandafter\endgroup
310 \ifx\x\@empty\else\pdf@addtoks{(#1) cvn}{Dest}\fi
312 \define@key{PDF}{DestAnchor}{%
315 \expandafter\endgroup
316 \ifx\x\@empty\else\pdf@addtoks{(#1) cvn}{Dest}\fi
318 \define@key{PDF}{Dir}{\pdf@addtoks{(#1)}{Dir}}
319 \define@key{PDF}{File}{\pdf@addtoks{(#1)}{File}}
320 \define@key{PDF}{Flags}{\pdf@addtoks{#1}{Flags}}
321 \define@key{PDF}{AcroHighlight}{\pdf@addtoks{#1}{H}}
322 \define@key{PDF}{ID}{\pdf@addtoks{[#1]}{ID}}
323 \define@key{PDF}{MacFile}{\pdf@addtoks{(#1)}{MacFile}}
324 \define@key{PDF}{ModDate}{\pdf@addtoks{(#1)}{ModDate}}
325 \define@key{PDF}{Op}{\pdf@addtoks{(#1)}{Op}}
326 \define@key{PDF}{Open}{\pdf@addtoks{#1}{Open}}
327 \define@key{PDF}{Page}{\pdf@addtoks{#1}{Page}}
328 \define@key{PDF}{PageMode}{\pdf@addtoks{#1}{PageMode}}
329 \define@key{PDF}{Params}{\pdf@addtoks{(#1)}{Params}}
330 \define@key{PDF}{Rect}{\pdf@addtoks{[#1]}{Rect}}
331 \define@key{PDF}{SrcPg}{\pdf@addtoks{#1}{SrcPg}}
332 \define@key{PDF}{Subtype}{\pdf@addtoks{#1}{Subtype}}
333 \define@key{PDF}{Title}{\pdf@addtoks{(#1)}{Title}}
334 \define@key{PDF}{Unix}{\pdf@addtoks{(#1)}{Unix}}
335 \define@key{PDF}{UnixFile}{\pdf@addtoks{(#1)}{UnixFile}}
336 \define@key{PDF}{View}{\pdf@addtoks{[#1]}{View}}
337 \define@key{PDF}{WinFile}{\pdf@addtoks{(#1)}{WinFile}}
338 \define@key{PDF}{Author}{\pdf@addtoks{(#1)}{Author}}
339 \define@key{PDF}{CreationDate}{\pdf@addtoks{(#1)}{CreationDate}}
340 \define@key{PDF}{Creator}{\pdf@addtoks{(#1)}{Creator}}
341 \define@key{PDF}{Producer}{\pdf@addtoks{(#1)}{Producer}}
342 \define@key{PDF}{Subject}{\pdf@addtoks{(#1)}{Subject}}
343 \define@key{PDF}{Keywords}{\pdf@addtoks{(#1)}{Keywords}}
344 \define@key{PDF}{ModDate}{\pdf@addtoks{(#1)}{ModDate}}
345 \define@key{PDF}{Base}{\pdf@addtoks{(#1)}{Base}}
346 \define@key{PDF}{URI}{\pdf@addtoks{#1}{URI}}
347 \def\Acrobatmenu#1#2{%
351 AcroHighlight=\@pdfhighlight,%
353 Action=<< /Subtype /Named /N /#1 >>,%
357 \def\PDFNextPage{\@ifnextchar[{\PDFNextPage@}{\PDFNextPage@[]}}
358 \def\PDFNextPage@[#1]#2{%
359 \pdfmark[{#2}]{#1,Border=\@pdfborder,Color=.2 .1 .5,
360 pdfmark=/ANN,Subtype=/Link,Page=/Next}}
361 \def\PDFPreviousPage{%
362 \@ifnextchar[{\PDFPreviousPage@}{\PDFPreviousPage@[]}%
364 \def\PDFPreviousPage@[#1]#2{%
365 \pdfmark[{#2}]{#1,Border=\@pdfborder,Color=.4 .4 .1,
366 pdfmark=/ANN,Subtype=/Link,Page=/Prev}}
368 \pdfmark{#1,pdfmark=/DOCVIEW}%
370 \def\PDFPage{\@ifnextchar[{\PDFPage@}{\PDFPage@[]}}
371 \def\PDFPage@[#1]#2#3{%
372 \let\pageref\simple@pageref
376 AcroHighlight=\@pdfhighlight,%
378 Color=\@pagebordercolor,%
383 \def\simple@pageref#1{%
384 \expandafter\ifx\csname r@#1\endcsname\relax
387 \expandafter\expandafter\expandafter
388 \@secondoffive\csname r@#1\endcsname
390 \def\hyper@linkurl#1#2{%
397 AcroHighlight=\@pdfhighlight,%
399 Color=\@urlbordercolor,%
400 Action={<< /Subtype /URI /URI (#2) >>},%
405 \def\hyper@linkfile#1#2#3{%
411 AcroHighlight=\@pdfhighlight,%
414 Color=\@filebordercolor,%
417 \ifHy@newwindow /NewWindow true \fi
419 /D \ifx\\#3\\[0 \@pdfstartview]\else(#3)\fi
424 \def\@hyper@launch run:#1\\#2#3{%
430 AcroHighlight=\@pdfhighlight,%
433 Color=\@filebordercolor,%
436 \ifHy@newwindow /NewWindow true \fi
438 \ifx\\#3\\\else /Win << /P (#3) /F (#1) >> \fi
443 \long\def\@Form[#1]{%
446 [ /_objdef {pdfDocEncoding}
451 /Differences [ 24 /breve /caron /circumflex /dotaccent
452 /hungarumlaut /ogonek /ring /tilde 39 /quotesingle 96 /grave 128
453 /bullet /dagger /daggerdbl /ellipsis /emdash /endash /florin /fraction
454 /guilsinglleft /guilsinglright /minus /perthousand /quotedblbase
455 /quotedblleft /quotedblright /quoteleft /quoteright /quotesinglbase
456 /trademark /fi /fl /Lslash /OE /Scaron /Ydieresis /Zcaron /dotlessi
457 /lslash /oe /scaron /zcaron 164 /currency 166 /brokenbar 168 /dieresis
458 /copyright /ordfeminine 172 /logicalnot /.notdef /registered /macron
459 /degree /plusminus /twosuperior /threesuperior /acute /mu 183
460 /periodcentered /cedilla /onesuperior /ordmasculine 188 /onequarter
461 /onehalf /threequarters 192 /Agrave /Aacute /Acircumflex /Atilde
462 /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex
463 /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
464 /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash
465 /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
466 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
467 /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex
468 /idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde
469 /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis
470 /yacute /thorn /ydieresis ]
481 /BaseFont /ZapfDingbats
493 /Encoding {pdfDocEncoding}
502 [/BBox [0 0 100 100] /_objdef {Check} /BP pdfmark
503 1 0 0 setrgbcolor /ZapfDingbats 80 selectfont 20 20 moveto (4) show
505 [/BBox [0 0 100 100] /_objdef {Cross} /BP pdfmark
506 1 0 0 setrgbcolor /ZapfDingbats 80 selectfont 20 20 moveto (8) show
508 [/BBox [0 0 250 100] /_objdef {Submit} /BP pdfmark 0.6 setgray 0 0 250
509 100 rectfill 1 setgray 2 2 moveto 2 98 lineto 248 98 lineto 246 96
510 lineto 4 96 lineto 4 4 lineto fill 0.34 setgray 248 98 moveto 248 2
511 lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
512 /Helvetica 76 selectfont 0 setgray 8 22.5 moveto (Submit) show
514 [/BBox [0 0 250 100] /_objdef {SubmitP} /BP pdfmark 0.6 setgray 0 0
515 250 100 rectfill 0.34 setgray 2 2 moveto 2 98 lineto 248 98 lineto 246
516 96 lineto 4 96 lineto 4 4 lineto fill 1 setgray 248 98 moveto 248 2
517 lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
518 /Helvetica 76 selectfont 0 setgray 10 20.5 moveto (Submit) show
523 /DR << /Font << /ZaDb {ZaDb} /Helv {Helv} >> >>
524 /DA (/Helv 10 Tf 0 g )
526 /NeedAppearances true
529 [ \string{Catalog\string}
534 [ /_objdef {corder} /type /array /OBJ pdfmark % dps
539 \def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum
540 \typeout{Sorry, pdfmark drivers do not support FORM gauges}%
542 \def\@TextField[#1]#2{% parameters, label
545 \let\Fld@value\@empty
546 \def\Fld@width{\DefaultWidthofText}%
547 \def\Fld@height{\DefaultHeightofText}%
551 \ifFld@hidden\def\Fld@width{1sp}\fi
552 \ifx\Fld@value\@empty\def\Fld@value{\Fld@default}\fi
554 \def\Fld@height{4\DefaultHeightofText}%
556 \LayoutTextField{#2}{%
557 \pdfmark[\MakeTextField{\Fld@width}{\Fld@height}]{%
558 pdfmark=/ANN,Raw={\PDFForm@Text}%
563 \def\@ChoiceMenu[#1]#2#3{% parameters, label, choices
566 \def\Fld@width{\DefaultWidthofChoiceMenu}%
567 \def\Fld@height{\DefaultHeightofChoiceMenu}%
571 \@for\@curropt:=#3\do{%
572 \expandafter\Fld@checkequals\@curropt==\\%
573 \Hy@StepCount\Fld@menulength
574 \settowidth{\@tempdimb}{\@currDisplay}%
575 \ifdim\@tempdimb>\@tempdima\@tempdima\@tempdimb\fi
577 \advance\@tempdima by 15\p@
580 \ifFld@hidden\def\Fld@width{1sp}\fi
581 \LayoutChoiceField{#2}{%
586 \ifdim\Fld@width<\@tempdima
587 \ifdim\@tempdima<1cm\@tempdima1cm\fi
588 \edef\Fld@width{\the\@tempdima}%
591 \ifFld@combo\def\Fld@flags{/Ff 917504}\fi
592 \ifFld@popdown\def\Fld@flags{/Ff 131072}\fi
593 \ifx\Fld@flags\@empty
594 \@tempdima=\the\Fld@menulength\Fld@charsize
595 \advance\@tempdima by \Fld@borderwidth bp
596 \advance\@tempdima by \Fld@borderwidth bp
597 \edef\Fld@height{\the\@tempdima}%
607 \@for\@curropt:=#1\do{%
608 \expandafter\Fld@checkequals\@curropt==\\%
609 \Hy@StepCount\Fld@listcount
611 \pdfmark[\MakeRadioField{\Fld@width}{\Fld@height}]{%
613 Raw={\PDFForm@Radio /AP <</N <</\@currValue\space {Check}>> >>}%
614 } % deliberate space between radio buttons
617 \newcount\Fld@listcount
621 \@for\@curropt:=#1\do{%
622 \expandafter\Fld@checkequals\@curropt==\\%
623 \Hy@StepCount\Fld@listcount
625 \Choice@toks{\the\Choice@toks [(\@currValue) (\@currDisplay)]}%
628 \pdfmark[\MakeChoiceField{\Fld@width}{\Fld@height}]{%
629 pdfmark=/ANN,Raw={\PDFForm@List}%
632 \def\@PushButton[#1]#2{% parameters, label
637 \ifFld@hidden\def\Fld@width{1sp}\fi
638 \LayoutPushButtonField{%
639 \pdfmark[\MakeButtonField{#2}]{%
640 pdfmark=/ANN,Raw={\PDFForm@Push}%
647 \def\Fld@width{\DefaultWidthofSubmit}%
648 \def\Fld@height{\DefaultHeightofSubmit}%
650 \def\Fld@name{Submit}%
652 \ifFld@hidden\def\Fld@width{1sp}\fi
653 \pdfmark[\MakeButtonField{#2}]{%
655 Raw={\PDFForm@Submit /AP << /N {Submit} /D {SubmitP} >>}%
661 \def\Fld@width{\DefaultWidthofReset}%
662 \def\Fld@height{\DefaultHeightofReset}%
664 \def\Fld@name{Reset}%
666 \ifFld@hidden\def\Fld@width{1sp}\fi
667 \pdfmark[\MakeButtonField{#2}]{%
668 pdfmark=/ANN,Raw={\PDFForm@Reset}%
672 \def\@CheckBox[#1]#2{% parameters, label
676 \def\Fld@width{\DefaultWidthofCheckBox}%
677 \def\Fld@height{\DefaultHeightofCheckBox}%
680 \ifFld@hidden\def\Fld@width{1sp}\fi
681 \LayoutCheckField{#2}{%
682 \pdfmark[\MakeCheckField{\Fld@width}{\Fld@height}]{%
683 pdfmark=/ANN,Raw={\PDFForm@Check}%
690 \ifFld@hidden /F 6 \else /F 4 \fi
693 /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
695 /BC [\Fld@bordercolor]
696 \ifx\Fld@bcolor\@empty
702 /DA (/ZaDb \strip@pt\Fld@charsize\space Tf \Fld@color\space rg)
705 \ifFld@checked /V /Yes \else /V /Off \fi
709 \ifFld@hidden /F 6 \else /F 4 \fi
714 /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
716 /BC [\Fld@bordercolor]
718 /A << /S /JavaScript /JS (\Fld@onclick;) >>
722 \ifFld@hidden /F 6 \else /F 4 \fi
726 /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
728 /BC [\Fld@bordercolor]
729 \ifx\Fld@bcolor\@empty
734 /DA (/Helv \strip@pt\Fld@charsize\space Tf \Fld@color\space rg )
735 /Opt [\the\Choice@toks]
741 \ifFld@hidden /F 6 \else /F 4 \fi
746 /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
748 /BC [\Fld@bordercolor]
749 \ifx\Fld@bcolor\@empty
755 /DA (/ZaDb \strip@pt\Fld@charsize\space Tf \Fld@color\space rg)
756 \ifx\@currValue\Fld@default
757 /V /\Fld@default\space
764 \ifFld@hidden /F 6 \else /F 4 \fi
768 /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
770 /BC [\Fld@bordercolor]
771 \ifx\Fld@bcolor\@empty
776 /DA (/Helv \strip@pt\Fld@charsize\space Tf \Fld@color\space rg )
779 \ifx\Fld@keystroke@code\@empty
781 /K << /S /JavaScript /JS (\Fld@keystroke@code) >>
783 \ifx\Fld@format@code\@empty
785 /F << /S /JavaScript /JS (\Fld@format@code) >>
787 \ifx\Fld@validate@code\@empty
789 /V << /S /JavaScript /JS (\Fld@validate@code) >>
791 \ifx\Fld@calculate@code\@empty
793 /C << /S /JavaScript /JS (\Fld@calculate@code) >>
798 \ifFld@readonly /Ff 4097 \else /Ff 4096 \fi
801 \ifFld@readonly /Ff 8193 \else /Ff 8192 \fi
804 \ifnum\Fld@maxlen>0/MaxLen \Fld@maxlen \fi
806 \def\PDFForm@Submit{%
808 \ifFld@hidden /F 6 \else /F 4 \fi
813 /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
815 /BC [\Fld@bordercolor]
823 \ifForm@html /Flags 4 \fi
828 \ifFld@hidden /F 6 \else /F 4 \fi
832 /DA (/Helv \strip@pt\Fld@charsize\space Tf 0 0 1 rg)
835 /BC [\Fld@bordercolor]
837 /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
838 /A << /S /ResetForm >>
840 \newwrite\@outlinefile
841 \def\Hy@writebookmark#1#2#3#4#5{% section number, text, label, level, file
842 \ifx\WriteBookmarks\relax%
846 \@@writetorep{#1}{#2}{#3}{#4}{#5}%
849 \def\Hy@currentbookmarklevel{0}
850 \def\Hy@numberline#1{#1 }
851 \def\@@writetorep#1#2#3#4#5{%
854 \ifx\Hy@tempa\Hy@bookmarkstype
856 \ifx\Hy@levelcheck Y%
857 \@tempcnta\Hy@level\relax
858 \advance\@tempcnta by -1
859 \ifnum\Hy@currentbookmarklevel<\@tempcnta
860 \advance\@tempcnta by -\Hy@currentbookmarklevel\relax
861 \advance\@tempcnta by 1
863 Difference (\the\@tempcnta) between bookmark levels is %
864 greater \MessageBreak than one, level fixed%
866 \@tempcnta\Hy@currentbookmarklevel
867 \advance\@tempcnta by 1
868 \edef\Hy@level{\the\@tempcnta}%
871 \global\let\Hy@levelcheck Y%
873 \global\let\Hy@currentbookmarklevel\Hy@level
874 \@tempcnta\Hy@level\relax
875 \expandafter\xdef\csname Parent\Hy@level\endcsname{#3}%
876 \advance\@tempcnta by -1
878 \edef\Hy@tempb{\csname Parent\the\@tempcnta\endcsname}%
879 \ifx\Hy@tempa\Hy@tempb
881 The anchor of a bookmark and its parent's must not%
882 \MessageBreak be the same. Added a new anchor%
886 \ifHy@bookmarksnumbered
887 \let\numberline\Hy@numberline
889 \let\numberline\@gobble
891 \pdfstringdef\Hy@tempa{#2}%
892 \protected@write\@outlinefile{}{%
894 [\Hy@level][\@bookmarkopenstatus{\Hy@level}]{#3}%
895 {\Hy@tempa}{\Hy@tempb}%
900 \newcommand{\currentpdfbookmark}{%
901 \pdfbookmark[\Hy@currentbookmarklevel]%
903 \newcommand{\subpdfbookmark}{%
904 \@tempcnta\Hy@currentbookmarklevel
905 \Hy@StepCount\@tempcnta
906 \expandafter\pdfbookmark\expandafter[\the\@tempcnta]%
908 \newcommand{\belowpdfbookmark}[2]{%
909 \@tempcnta\Hy@currentbookmarklevel
910 \Hy@StepCount\@tempcnta
911 \expandafter\pdfbookmark\expandafter[\the\@tempcnta]{#1}{#2}%
912 \advance\@tempcnta by -1
913 \xdef\Hy@currentbookmarklevel{\the\@tempcnta}%
915 \renewcommand\pdfbookmark[3][0]{%
916 \Hy@writebookmark{}{#2}{#3.#1}{#1}{toc}%
917 \hyper@anchorstart{#3.#1}\hyper@anchorend
919 \def\BOOKMARK{\@ifnextchar[{\@BOOKMARK}{\@@BOOKMARK[1][-]}}
920 \def\@BOOKMARK[#1]{\@ifnextchar[{\@@BOOKMARK[#1]}{\@@BOOKMARK[#1][-]}}
924 \let\escapechar\@gobble %
925 \def\@@BOOKMARK [##1][##2]##3##4##5{\calc@bm@number{##5}}%
926 \InputIfFileExists{\jobname.out}{}{}%
927 \ifx\WriteBookmarks\relax
928 \global\let\WriteBookmarks\relax
930 \def\@@BOOKMARK[##1][##2]##3##4##5{%
934 Count=##2\check@bm@number{##3},%
936 Title=\expandafter\strip@prefix\meaning\Hy@temp
940 \def\WriteBookmarks{0}%
941 \InputIfFileExists{\jobname.out}{}{}%
943 %{\escapechar\m@ne\InputIfFileExists{\jobname.out}{}{}}%
944 \ifx\WriteBookmarks\relax\else
945 \if@filesw\immediate\openout\@outlinefile=\jobname.out
947 \immediate\write\@outlinefile{<relaxxml>\relax}%
953 \def\check@bm@number#1{%
954 \expandafter\ifx\csname B_#1\endcsname\relax
957 \csname B_#1\endcsname
960 \def\calc@bm@number#1{%
961 \@tempcnta=\check@bm@number{#1}\relax
962 \advance\@tempcnta by1
963 \expandafter\xdef\csname B_#1\endcsname{\the\@tempcnta}%
970 \global\let\@begindvi\HyPL@EveryPage
972 \expandafter\endinput
974 \let\H@old@ssect\@ssect
975 \def\@ssect#1#2#3#4#5{%
976 \H@old@ssect{#1}{#2}{#3}{#4}{#5}%
979 \let\H@old@schapter\@schapter
983 \let\@mkboth\@gobbletwo
984 \Hy@GlobalStepCount\Hy@linkcounter
985 \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
986 \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
989 \@ifundefined{@chapter}{}{%
990 \let\Hy@org@chapter\@chapter
993 \Hy@GlobalStepCount\Hy@linkcounter
994 \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
995 \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
997 \ifnum\c@secnumdepth>\m@ne
998 \@ifundefined{if@mainmatter}%
999 \iftrue{\csname if@mainmatter\endcsname}
1007 \let\H@old@spart\@spart
1010 \Hy@GlobalStepCount\Hy@linkcounter
1011 \xdef\@currentHref{part*.\the\Hy@linkcounter}%
1012 \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
1014 \let\H@old@sect\@sect
1015 \def\@sect#1#2#3#4#5#6[#7]#8{%
1016 \ifnum #2>\c@secnumdepth
1017 \Hy@GlobalStepCount\Hy@linkcounter
1018 \xdef\@currentHref{section*.\the\Hy@linkcounter}%
1020 \H@old@sect{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}%
1021 \ifnum #2>\c@secnumdepth
1022 \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
1025 \expandafter\def\csname Parent-4\endcsname{}
1026 \expandafter\def\csname Parent-3\endcsname{}
1027 \expandafter\def\csname Parent-2\endcsname{}
1028 \expandafter\def\csname Parent-1\endcsname{}
1029 \expandafter\def\csname Parent0\endcsname{}
1030 \expandafter\def\csname Parent1\endcsname{}
1031 \expandafter\def\csname Parent2\endcsname{}
1032 \expandafter\def\csname Parent3\endcsname{}
1033 \expandafter\def\csname Parent4\endcsname{}
1035 \def\@addchap[##1]##2{%
1042 \addtocontents{lof}{\protect\addvspace{10\p@}}%
1043 \addtocontents{lot}{\protect\addvspace{10\p@}}%
1044 \Hy@GlobalStepCount\Hy@linkcounter
1045 \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
1046 \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
1048 \@topnewpage[\@makeschapterhead{##2}]%
1050 \@makeschapterhead{##2}%
1053 \addcontentsline{toc}{chapter}{##1}%
1056 \@ifclassloaded{scrbook}{%
1057 \@ifclasslater{scrbook}{2001/01/01}{%
1058 \let\Hy@tempa\@empty
1061 \@ifclassloaded{scrreprt}{%
1062 \@ifclasslater{scrreprt}{2001/01/01}{%
1063 \let\Hy@tempa\@empty
1066 \let\Hy@tempa\@empty
1073 \lowercase{\endgroup
1074 \gdef\rem@ptetc#1.#2PT#3!{#1\ifnum#2>\z@.#2\fi}%
1076 \def\strip@pt@and@otherjunk#1{\expandafter\rem@ptetc\the#1!}
1079 %% End of file `pdfmark.def'.