123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- %
- % This package complements the thesul class and is aimed to replace
- % the hyperref package in this context. The hyperref package does not
- % address the intricacies of thesul and this is what we are doing here.
- % This package load hyperref and passes its options so that one can write
- % \usepackage[pdftex]{tulhypref} or whatever.
- %
- % Versions:
- \def\fileversion{0.11}
- \def\filedate{2013/10/06}
- \NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{tulhypref}[\filedate\space\fileversion\space
- thesul wrapper for hyperref package (D. Roegel)]
- \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{hyperref}}
- \ProcessOptions
- \RequirePackage{hyperref}
- % We cancel modifications from hyperref (in hpdftex.def and pdftex.def).
- \let\@sect\H@old@sect
- \let\@schapter\H@old@schapter
- \let\@spart\H@old@spart
- \let\refstepcounter\H@refstepcounter
- % Now, \@part, \@chapter, \@sect and \refstepcounter have the good values
- % of thesul.
- % Addition of \TULtopbookmark in front of \tableofcontents
- % in order to make sure that the bookmark entry for the table of contents
- % is at the top level. Works with the chapter hook.
- \let\@old@tableofcontents\tableofcontents
- \def\tableofcontents{\TULtopbookmark\@old@tableofcontents}
- % These definitions are for the purpose of comparisons in \refstepcounter:
- \def\@partcountername{part}
- \def\@chaptercountername{chapter}
- \def\@annexcountername{annex}
- % \refstepcounter is redefined so that \@currentHref is uptodate
- % in each chapter, section, etc.
- \def\refstepcounter#1{%
- \H@refstepcounter{#1}%
- \edef\This@name{#1}%
- \ifx\This@name\name@of@slide
- \else
- \if@skiphyperref
- \else
- \if@hyper@item
- \stepcounter{Item}%
- \hyper@refstepcounter{Item}%
- \else
- % \hyper@refstepcounter is only performed when it is neither a part,
- % nor a chapter/annex; the \hyper@refstepcounter is done
- % in the hook of thesul with \hyper@refstepcounter{division}.
- \def\@countername{#1}%
- \ifx\@countername\@partcountername
- \else
- \ifx\@countername\@chaptercountername
- \else
- \ifx\@countername\@annexcountername
- \else
- \hyper@refstepcounter{#1}%
- \fi
- \fi
- \fi
- \fi
- \fi
- \fi
- }
- % We add \hyper@refstepcounter{division} to the division counter hook
- \let\@old@division@inc@hook\@division@inc@hook
- \renewcommand{\@division@inc@hook}{%
- \@old@division@inc@hook
- \hyper@refstepcounter{division}
- }
- \newcommand\theHdivision {\arabic{division}}
- \renewcommand\theHfigure {\theHdivision.\arabic{figure}}
- \renewcommand\theHtable {\theHdivision.\arabic{table}}
- \renewcommand\theHsection {\theHdivision.\arabic{section}}
- % This boolean forces a bookmark to be at the topmost level;
- % it is only taken into account at the level of chapters (\chapter & \chapter*)
- % and it will thus act on the next \chapter(*).
- \newif\if@top@bookm@rk
- \@top@bookm@rkfalse
- \newcommand{\TULtopbookmark}{\@top@bookm@rktrue}
- % We input the file \jobname.flg in order to get the value of
- % `@there@were@p@rts':
- \InputIfFileExists{\jobname.flg}{}{}%
- % Numerical equivalent of `@there@were@p@rts':
- \if@there@were@p@rts
- \newcommand{\TUL@topbookmarkpos}{-1}
- \else
- \newcommand{\TUL@topbookmarkpos}{0}
- \fi
- \newcommand{\TUL@bookmarkpos}{0}
- % needed by \addcontentsline :
- \newcommand{\toclevel@tulstarchapter}{0}
- \newcommand{\toclevel@starpart}{-1}
- \newcommand{\toclevel@spsection}{\TUL@topbookmarkpos}
- % Changes of various hooks in thesul:
- \renewcommand{\@tulann@hook}[1]{%
- \@division@inc@hook
- \if@top@bookm@rk
- \renewcommand{\toclevel@tulstarchapter}{\TUL@topbookmarkpos}
- \fi
- }
- \renewcommand{\@tulann@lasthook}[1]{\renewcommand{\toclevel@tulstarchapter}{0}}
- \renewcommand\@generic@schapter@hook[2]{%
- \if@top@bookm@rk
- \renewcommand{\toclevel@tulstarchapter}{\TUL@topbookmarkpos}%
- \fi
- }
- \renewcommand\@generic@schapter@lasthook[2]{%
- \renewcommand{\toclevel@tulstarchapter}{0}%
- }
- \renewcommand\@generic@chapter@hook[3]{%
- \@generic@schapter@hook{#1}{#2}%
- }
- \renewcommand\@generic@chapter@lasthook[3]{%
- \@generic@schapter@lasthook{#1}{#2}%
- }
- \renewcommand{\@acknowledgment@hook}{%
- \@division@inc@hook
- \pdfbookmark[\TUL@topbookmarkpos]{\AcknowledgmentName}%
- {acknowledgment.\theHdivision}%
- }
- \newcommand{\DedicationName}{D\'edicace}
- \renewcommand{\@dedication@hook}{%
- \@division@inc@hook
- \pdfbookmark[\TUL@topbookmarkpos]{\DedicationName}{dedication.\theHdivision}%
- }
- \renewcommand{\@abstract@hook}[1]{%
- \@division@inc@hook
- \pdfbookmark[\TUL@topbookmarkpos]{#1}{abstract.\theHdivision}%
- }
- \newcommand{\CoverName}{Couverture}
- \renewcommand{\@cover@hook}{%
- \@division@inc@hook
- \pdfbookmark[\TUL@topbookmarkpos]{\CoverName}{cover.\theHdivision}%
- }
- \renewcommand{\@toc@hook}{%
- \pdfbookmark[\TUL@topbookmarkpos]{\contentsname}{}%
- }
- \endinput
- % end of file tulhypref.sty
|