%% %% This is file `interfaces-hypbmsec.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% interfaces.dtx (with options: `hypbmsec') %% %% This is a generated file. %% %% interfaces : 2011/02/19 v3.1 - interfaces : interfaces with keys for other packages (FC) %% %% 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 %% %% This work consists of the main source file interfaces.dtx %% and the derived files %% interfaces.sty, interfaces.pdf, interfaces.ins, %% interfaces-base.sty, %% interfaces-LaTeX.sty, %% interfaces-tikz.sty, %% interfaces-titlesec.sty, %% interfaces-hyperref.sty, %% interfaces-bookmark.sty, %% interfaces-hypbmsec.sty, %% interfaces-fancyhdr.sty, %% interfaces-marks.sty, %% interfaces-tocloft.sty, %% interfaces-makecell.sty, %% interfaces-enumitem.sty, %% interfaces-truncate.sty, %% interfaces-appendix.sty, %% interfaces-embedfile.sty, %% interfaces-environ.sty, %% interfaces-umrand.sty, %% interfaces-scrlfile.sty, %% interfaces-pgfkeys.sty, %% interfaces-etoolbox.sty %% %% interfaces: interfaces with keys for other packages (FC) %% Copyright (C) 2010 by Florent Chervet %% \ProvidesPackage{interfaces-hypbmsec} [2011/02/19 v3.1 lastsection,title,anchor, etc. (FC)] \RequirePackage{interfaces-base} \RequirePackage{gettitlestring} \itf@Check@Package{hypbmsec} \def\itf@hbs@do#1{% \xdef\itf@hbs@currentname{\expandafter\itf@strip@at\string#1}% \let\hbs@tocstring\relax % \let\hbs@bmstring\relax % \@ifstar {\itf@hbs@ssect#1}% {\let\hbs@seccmd=#1\hbs@checkarg}% }% \itf@hbs@do \let\hbs@do\itf@hbs@do \itf@patch\pretocmd\hbs@process{% \itf@hbs@process{#1}% }% {\@PackageInfoNoLine{interfaces-hypbmsec} {\string\hbs@process\space successfully patched}} {\@PackageWarningNoLine{interfaces-hypbmsec} {Command \string\hbs@process\space could not be patched \MessageBreak loading of `interfaces-hypbmsec` aborted \MessageBreak \string\lastsection\space will not work}% \endinput}% \long\def\itf@hbs@ssect#1#2{% starred section \itf@Not@titlesec#1 {\expandafter\itf@hbs@last@starred\expandafter{\itf@hbs@currentname}{#2}} {\let\itf@hbs@last\itf@hbs@last@starred@ttl}% #1*{#2}% }% \itf@hbs@ssect \long\def\itf@hbs@process#1{% not starred \itf@Not@titlesec \hbs@seccmd {% \ifdefined\hyper@anchor \expandafter\itf@hbs@last@nostar@nottl@Hy\expandafter{\itf@hbs@currentname}{#1}% \else \expandafter\itf@hbs@last@nostar@nottl\expandafter{\itf@hbs@currentname}{#1}% \fi }% {\let\itf@hbs@last \itf@hbs@last@nostar@ttl}% }% \itf@hbs@process \long\def\itf@hbs@last@starred#1#2{% \GetTitleString{#2}\let\itf@hbs@currenttitle\GetTitleStringResult \begingroup \let\@elt \itf@resetlastsections \globaldefs \@ne \expandafter\let\csname last#1title\endcsname\itf@hbs@currenttitle \expandafter\let\csname last#1toc\endcsname\@empty \expandafter\let\csname last#1bookmark\endcsname\@empty \expandafter\let\csname last#1anchor\endcsname\relax \let\lastsectionname \itf@hbs@currentname \csname cl@#1\endcsname \endgroup }% \itf@hbs@last@starred \def\itf@hbs@last@starred@ttl{% \global\let\itf@hbs@last \@empty \expandafter\itf@hbs@last@starred \expandafter\itf@hbs@currentname \expandafter{\ttl@savetitle}% }% \itf@hbs@last@starred@ttl \long\def\itf@hbs@last@nostar#1#2{% \GetTitleString{#2}\let\itf@hbs@currenttitle\GetTitleStringResult \begingroup \let\@elt \itf@resetlastsections \globaldefs \@ne \expandafter\let\csname last#1title\endcsname\itf@hbs@currenttitle \expandafter\let\csname last#1toc\expandafter\endcsname \csname \ifx\hbs@tocstring\relax itf@hbs@currenttitle\else hbs@tocstring\fi \endcsname \expandafter\let\csname last#1bookmark\expandafter\endcsname \csname \ifx\hbs@bmstring\relax last#1toc\else hbs@bmstring\fi \endcsname \expandafter\let\csname last#1anchor\endcsname\HyperLocalCurrentHref \let\lastsectionname \itf@hbs@currentname \csname cl@#1\endcsname \endgroup }% \itf@hbs@last@starred \def\itf@hbs@last@nostar@ttl{% \global\let\itf@hbs@last \@empty \expandafter\itf@hbs@last@nostar \expandafter\itf@hbs@currentname \expandafter{\ttl@savetitle}% }% \itf@hbs@last@nostar@ttl \long\def\itf@hbs@last@nostar@nottl#1#2{% \expandafter\let\expandafter\itf@hbs@cl@ORI\csname cl@#1\endcsname \expandafter\def\csname cl@#1\endcsname{% \expandafter\let\csname cl@#1\endcsname\itf@hbs@cl@ORI \itf@hbs@cl@ORI \itf@hbs@last@nostar {#1}{#2}}% }% \itf@hbs@last@nostar@nottl \long\def\itf@hbs@last@nostar@nottl@Hy#1#2{% \begingroup \toks@\expandafter{% \expandafter\def\expandafter\hyper@anchorend \expandafter{\hyper@anchorend}% \itf@hbs@last@nostar{#1}{#2}}% \edef\x{\endgroup \def\noexpand\hyper@anchorend{\the\toks@}% }\x }% \itf@hbs@last@nostar@nottl@Hy \def\itf@Not@titlesec#1{\@firstoftwo} \AfterPackage*{titlesec}{% \def\itf@Not@titlesec#1{\begingroup \@onelevel@sanitize#1% \edef\@tempa{\noexpand\in@ {\noexpand\@nil \string\ttl@} {\noexpand\@nil #1}% }\@tempa \expandafter\endgroup \ifin@ \expandafter\@secondoftwo \else \expandafter\@firstoftwo \fi }% \itf@Not@titlesec }% AfterPackage titlesec \AfterPackage*{titlesec}{% \expandafter\def\expandafter\ttl@finmarks\expandafter{% \expandafter\itf@hbs@last \ttl@finmarks}% \let\itf@hbs@last \@empty }% AfterPackage \def\itf@resetlastsections#1{% \expandafter\let\csname last#1title\endcsname\relax \expandafter\let\csname last#1toc\endcsname\relax \expandafter\let\csname last#1bookmark\endcsname\relax \expandafter\let\csname last#1anchor\endcsname\relax \csname cl@#1\endcsname }% \itf@resetlastsections \let\lastsectionname\relax \@for\itf@tp:=part,section,subsection,subsubsection,paragraph,subparagraph% \do{\expandafter\let\csname last\itf@tp title\endcsname\relax \expandafter\let\csname last\itf@tp toc\endcsname\relax \expandafter\let\csname last\itf@tp bookmark\endcsname\relax \expandafter\let\csname last\itf@tp anchor\endcsname\relax }% \AtBeginDocument{\ifundef\chapter{} {\let\lastchaptertitle\relax \let\lastchaptertoc\relax \let\lastchapterbookmark\relax \let\lastchapteranchor\relax}% }% \endinput %% %% End of file `interfaces-hypbmsec.sty'.