%% %% This is file `hypdoc.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% hypdoc.dtx (with options: `package') %% %% This is a generated file. %% %% Copyright (C) 2002, 2006 by Heiko Oberdiek %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3 of this license or (at your option) any later %% version. The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% %% This work has the LPPL maintenance status "maintained". %% %% This Current Maintainer of this work is Heiko Oberdiek. %% %% This work consists of the main source file hypdoc.dtx %% and the derived files %% hypdoc.sty, hypdoc.pdf, hypdoc.ins, hypdoc.drv. %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{hypdoc}% [2006/06/02 v1.4 Hyper extensions for doc.sty (HO)] \newif\ifHD@numbered \DeclareOption{numbered}{\HD@numberedtrue} \ProcessOptions*\relax \RequirePackage{doc} \ifx\numexpr\@undefined \RequirePackage{calc} \fi \RequirePackage[% hyperindex=false,% pdfusetitle,% colorlinks,% pdfpagelabels,% ]{hyperref}[2002/05/09]% \hypersetup{% plainpages=false,% bookmarksopen,% bookmarksnumbered,% bookmarksopenlevel=0,% pdfstartview={FitBH \hypercalcbp{% \paperheight-\topmargin-1in-\headheight-\headsep }},% } \RequirePackage{thumbpdf} \newcounter{HD@unique} \renewcommand{\theHD@unique}{% \number\value{HD@unique}% } \g@addto@macro\Hy@UseMaketitleInfos{% \@ifundefined{fileinfo}{}{% \ifx\@pdfsubject\@empty \hypersetup{pdfsubject={\fileinfo}}% \fi }% } \pdfstringdefDisableCommands{% \let\thanks\@gobble \let\footnote\@gobble \def\cs#1{\textbackslash #1}% \let\normalfont\@empty \let\scshape\@empty \def\and{and }% } %%% Bookmarks \def\HD@sectionpatch{% \ifHD@numbered \HD@@sectionpatch{section}% \HD@@sectionpatch{chapter}% \else \let\Hy@writebookmark\HD@disable@writebookmark \fi } \def\HD@@sectionpatch#1{% \expandafter\let\csname HDorg@@#1\expandafter\endcsname \csname #1\endcsname \@namedef{#1}{% \@ifstar{\@nameuse{HDorg@@#1}}{\@nameuse{HDorg@@#1}}% }% } \def\HD@disable@writebookmark#1#2#3#4#5{} \def\HD@guesstoclevel#1{% \expandafter\HD@@guesstoclevel#1\section\HD@end } \def\HD@@guesstoclevel#1#2\HD@end{% \@ifundefined{toclevel@\expandafter\@gobble\string#1\@empty}{% 1% }{% \@nameuse{toclevel@\expandafter\@gobble\string#1\@empty}% }% } \let\HDorg@tableofcontents\tableofcontents \def\tableofcontents{% % As first section the table of contents shouldn't % go into the toc itself. Also a number looks too funny then. % Just a bookmark is enough in this case. \begingroup \@ifundefined{c@section}{% \def\c@section{0}% }{}% \expandafter\endgroup \ifcase\c@section \stepcounter{HD@unique}% \pdfbookmark[\HD@guesstoclevel{\HDorg@tableofcontents}] {\contentsname}{toc\theHD@unique}% \HDorg@tableofcontents \else \ifHD@numbered \else \stepcounter{HD@unique}% \pdfbookmark[\HD@guesstoclevel{\HDorg@tableofcontents}] {\contentsname}{toc\theHD@unique}% \fi \begingroup \HD@sectionpatch \HDorg@tableofcontents \endgroup \fi } \let\HDorg@listoffigures\listoffigures \def\listoffigures{% \ifHD@numbered \else \stepcounter{HD@unique}% \pdfbookmark[\HD@guesstoclevel{\HDorg@listoffigures}] {\contentsname}{toc\theHd@unique}% \fi \begingroup \HD@sectionpatch \HDorg@listoffigures \endgroup } \let\HDorg@listoftables\listoftables \def\listoftables{% \ifHD@numbered \else \stepcounter{HD@unique}% \pdfbookmark[\HD@guesstoclevel{\HDorg@listoftables}] {\contentsname}{toc\theHD@unique}% \fi \begingroup \HD@sectionpatch \HDorg@listoftables \endgroup } \let\HDorg@thebibliography\thebibliography \def\thebibliography{% \ifHD@numbered \else \stepcounter{HD@unique}% \pdfbookmark[\HD@guesstoclevel{\HDorg@thebibliography}] {\@ifundefined{chapter}{\refname}{\bibname}}{bib\theHD@unique}% \fi \HD@sectionpatch \HDorg@thebibliography } \let\HDorg@theindex\theindex \def\theindex{% \let\HDorg@index@prologue\index@prologue \let\HDorg@writebookmark\Hy@writebookmark \HD@sectionpatch \g@addto@macro\IndexParms{% \ifHD@numbered \else \let\Hy@writebookmark\HDorg@writebookmark \fi \let\bfseries\HD@bfseries }% \edef\HD@toclevel@index{\HD@guesstoclevel{\index@prologue}}% \begingroup \count@=\HD@toclevel@index\relax \advance\count@ by 1 % \xdef\HD@toclevel@subindex{\the\count@}% \endgroup \def\index@prologue{% \ifHD@numbered \else \begingroup \stepcounter{HD@unique}% \let\Hy@writebookmark\HDorg@writebookmark \pdfbookmark[\HD@toclevel@index]% {\indexname}{index\theHD@unique}% \endgroup \fi \HDorg@index@prologue }% \HDorg@theindex } \let\HDorg@bfseries\bfseries \def\HD@bfseries{\futurelet\HD@hfil\HD@@bfseries}% \def\HD@@bfseries{% \HDorg@bfseries \ifx\HD@hfil\hfil \expandafter\HD@@@bfseries \fi }% \def\HD@@@bfseries\hfil#1\hfil{% \ifx\\#1\\% \else \raisebox{\baselineskip}[0pt]{% \kern-\HD@margin\relax \pdfbookmark[\HD@toclevel@subindex]{#1}{HD.#1}% \kern\HD@margin\relax }% \fi \hfil#1\hfil }% \def\HD@margin{1mm} \let\HDorg@theglossary\theglossary \def\theglossary{% \let\HDorg@glossary@prologue\glossary@prologue \let\HDorg@writebookmark\Hy@writebookmark \HD@sectionpatch \def\glossary@prologue{% \ifHD@numbered \else \begingroup \let\Hy@writebookmark\HDorg@writebookmark \stepcounter{HD@unique}% \pdfbookmark[\HD@guesstoclevel{\HDorg@glossary@prologue}] {\glossaryname}{glossary\theHD@unique}% \endgroup \fi \HDorg@glossary@prologue }% \HDorg@theglossary } \providecommand*{\glossaryname}{Change History} %%% Index stuff \newcounter{HD@hypercount} \newlength{\HD@helplength} \newif\ifHD@savedest \HD@savedesttrue \AtBeginDocument{% \HD@savedest@init } \begingroup \catcode`\^^M=\active \@firstofone{\endgroup \def\HD@savedest@init{% \ifHD@savedest \let\HDorg@tilde~% \let~\HD@savedest@entry \edef\HDorg@catcodeM{\the\catcode`\^^M}% \catcode`\^^M=\active \def^^M{}% \InputIfFileExists{\jobname.hd}{}{}% \let~\HDorg@tilde \catcode`\^^M=\HDorg@catcodeM\relax \newwrite\HD@savedest@out \immediate\openout\HD@savedest@out=\jobname.hd\relax \AtEndDocument{\immediate\closeout\HD@savedest@out}% \else \let\HD@savedest@add\@gobble \fi }% \def\HD@savedest@entry#1^^M{% \@namedef{HD.#1}{}% }% } \def\HD@savedest@add#1{% \immediate\write\HD@savedest@out{\string~#1}% } \newif\ifHD@targetraise \HD@targetraisetrue \def\HD@target{% \ifHD@targetraise \ifhmode \settoheight{\HD@helplength}{[H]}% \addtolength{\HD@helplength}{0.4ex}% \raisebox{\HD@helplength}{% \HD@maketarget }% \else \HD@maketarget \fi \else \HD@maketarget \fi } \def\HD@maketarget{% \stepcounter{HD@hypercount}% \def\HD@next{% \llap{\hypertarget{HD.\the\c@HD@hypercount}{}\,}% }% \ifHD@savedest \expandafter\ifx\csname HD.\the\c@HD@hypercount\endcsname\@empty \else \let\HD@next\relax \fi \fi \HD@next } \g@addto@macro\CodelineIndex{% \let\special@index\HD@codeline@wrindex } \g@addto@macro\PageIndex{% \let\special@index\HD@page@wrindex } \def\HD@codeline@wrindex#1{% \begingroup \let\HDorg@encapchar\encapchar \def\encapchar##1\encapchar##2\@nil{% \HDorg@encapchar hdclindex{\the\c@HD@hypercount}{##1}% }% \codeline@wrindex{% #1\encapchar\encapchar\@nil }% \endgroup } \def\HD@page@wrindex#1{% \begingroup \let\HDorg@encapchar\encapchar \def\encapchar##1\encapchar##2\@nil{% \HDorg@encapchar hdpindex{##1}% }% \HDorg@index{#1\encapchar\encapchar\@nil}% \endgroup } \def\hdclindex#1#2#3{% \csname\ifx\\#2\\relax\else#2\fi\endcsname{% \hyperlink{HD.#1}{#3}% \HD@savedest@add{#1}% }% } \def\hdpindex#1#2{% \csname\ifx\\#1\\relax\else#1\fi\endcsname{% \hyperpage{#2}% }% } \let\HDorg@PrintDescribeMacro\PrintDescribeMacro \renewcommand\PrintDescribeMacro[1]{% \begingroup \let\HDorg@MacroFont\MacroFont \def\MacroFont{% \HD@target \HDorg@MacroFont }% \HDorg@PrintDescribeMacro{#1}% \endgroup } \let\HDorg@PrintMacroName\PrintMacroName \renewcommand\PrintMacroName[1]{% \begingroup \let\HDorg@MacroFont\MacroFont \def\MacroFont{% \HD@target \HDorg@MacroFont }% \HDorg@PrintMacroName{#1}% \endgroup } \let\HDorg@theCodelineNo\theCodelineNo \renewcommand*\theCodelineNo{% \settowidth{\HD@helplength}{\HDorg@theCodelineNo\ }% \ifdim\HD@helplength<\MacroIndent \addtolength{\HD@helplength}{-\MacroIndent}% \llap{% \begingroup\HD@target\endgroup \hspace*{-\HD@helplength}% }% \else \HD@target \fi \HDorg@theCodelineNo } \AtBeginDocument{% \let\HDorg@index\index } \let\HDorg@SpecialUsageIndex\SpecialUsageIndex \renewcommand*\SpecialUsageIndex[1]{% \@bsphack \begingroup \HD@target \let\index\HDorg@index \let\HDorg@encapchar\encapchar \edef\encapchar usage{% \HDorg@encapchar hdclindex{\the\c@HD@hypercount}{usage}% }% \HDorg@SpecialUsageIndex{#1}% \endgroup \@esphack } \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname autoindex\endcsname\relax \else \let\HDorg@autoindex\autoindex \renewcommand*\autoindex[1]{% \@bsphack \begingroup \HD@target \let\index\HDorg@index \let\HDorg@encapchar\encapchar \edef\encapchar usage{% \HDorg@encapchar hdclindex{\the\c@HD@hypercount}{usage}% }% \HDorg@autoindex{#1}% \endgroup \@esphack } \fi \let\HDorg@SpecialEnvIndex\SpecialEnvIndex \renewcommand*\SpecialEnvIndex[1]{% \@bsphack \begingroup \HD@target \let\HDorg@encapchar\encapchar \edef\encapchar usage{% \HDorg@encapchar hdclindex{\the\c@HD@hypercount}{usage}% }% \HDorg@SpecialEnvIndex{#1}% \endgroup \@esphack } \let\HDorg@SortIndex\SortIndex \renewcommand*{\SortIndex}[2]{% \@bsphack \begingroup \let\index\HD@page@wrindex \HDorg@SortIndex{#1}{#2}% \endgroup \@esphack } %%% glossary stuff \let\HDorg@wrglossary\@wrglossary \def\@wrglossary#1{% \let\HDorg@encapchar\encapchar \def\encapchar##1\encapchar##2\@nil{% \HDorg@encapchar hdpindex{##1}% }% \HDorg@wrglossary{#1\encapchar\encapchar\@nil}% } %%% \MacroIndent automatically calculated \AtEndDocument{% \if@filesw \immediate\write\@auxout{% \noexpand\HD@SetMacroIndent{\number\value{CodelineNo}}% }% \fi } \def\HD@SetMacroIndent#1{% \begingroup \value{CodelineNo}=#1\relax \settowidth{\MacroIndent}{\HDorg@theCodelineNo\ }% \global\MacroIndent\MacroIndent \endgroup } \endinput %% %% End of file `hypdoc.sty'.