You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
161 lines
4.3 KiB
161 lines
4.3 KiB
%%
|
|
%% This is file `hypbmsec.sty',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% hypbmsec.dtx (with options: `package')
|
|
%%
|
|
%% This is a generated file.
|
|
%%
|
|
%% Project: hypbmsec
|
|
%% Version: 2016/05/16 v2.5
|
|
%%
|
|
%% Copyright (C)
|
|
%% 1998-2000, 2006, 2007 Heiko Oberdiek
|
|
%% 2016-2019 Oberdiek Package Support Group
|
|
%%
|
|
%% This work may be distributed and/or modified under the
|
|
%% conditions of the LaTeX Project Public License, either
|
|
%% version 1.3c of this license or (at your option) any later
|
|
%% version. This version of this license is in
|
|
%% https://www.latex-project.org/lppl/lppl-1-3c.txt
|
|
%% and the latest version of this license is in
|
|
%% https://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".
|
|
%%
|
|
%% The Current Maintainers of this work are
|
|
%% Heiko Oberdiek and the Oberdiek Package Support Group
|
|
%% https://github.com/ho-tex/oberdiek/issues
|
|
%%
|
|
%%
|
|
%% This work consists of the main source file hypbmsec.dtx
|
|
%% and the derived files
|
|
%% hypbmsec.sty, hypbmsec.pdf, hypbmsec.ins, hypbmsec.drv.
|
|
%%
|
|
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesPackage{hypbmsec}%
|
|
[2016/05/16 v2.5 Bookmarks in sectioning commands (HO)]
|
|
\@ifundefined{hbs@do}{}{%
|
|
\PackageInfo{hypbmsec}{Package 'hypbmsec' is already loaded}%
|
|
\endinput
|
|
}
|
|
\def\hbs@do#1{%
|
|
\@ifstar{#1*}{%
|
|
\let\hbs@tocstring\relax
|
|
\let\hbs@bmstring\relax
|
|
\let\hbs@seccmd#1%
|
|
\hbs@checkarg
|
|
}%
|
|
}
|
|
\def\hbs@checkarg{%
|
|
\@ifnextchar[\hbs@getsquare{%
|
|
\@ifnextchar(\hbs@getbookmark\hbs@process
|
|
}%
|
|
}
|
|
\long\def\hbs@getsquare[#1]{%
|
|
\ifx\hbs@tocstring\relax
|
|
\def\hbs@tocstring{#1}%
|
|
\else
|
|
\hbs@bmdef{#1}%
|
|
\fi
|
|
\hbs@checkarg
|
|
}
|
|
\def\hbs@getbookmark(#1){%
|
|
\hbs@bmdef{#1}%
|
|
\hbs@checkarg
|
|
}
|
|
\def\hbs@bmdef#1{%
|
|
\ifx\hbs@bmstring\relax
|
|
\def\hbs@bmstring{#1}%
|
|
\else
|
|
\PackageError{hypbmsec}{%
|
|
Sectioning command with too many parameters%
|
|
}{%
|
|
You can only give one outline entry.%
|
|
}%
|
|
\fi
|
|
}
|
|
\long\def\hbs@process#1{%
|
|
\ifx\hbs@tocstring\relax
|
|
\ifx\hbs@bmstring\relax
|
|
\hbs@seccmd{#1}%
|
|
\else
|
|
\begingroup
|
|
\def\x##1{\endgroup
|
|
\hbs@seccmd{\texorpdfstring{#1}{##1}}%
|
|
}%
|
|
\expandafter\x\expandafter{\hbs@bmstring}%
|
|
\fi
|
|
\else
|
|
\ifx\hbs@bmstring\relax
|
|
\expandafter\hbs@seccmd\expandafter[%
|
|
\expandafter{\hbs@tocstring}%
|
|
]{#1}%
|
|
\else
|
|
\expandafter\expandafter\expandafter
|
|
\hbs@seccmd\expandafter\expandafter\expandafter[%
|
|
\expandafter\expandafter\expandafter
|
|
\texorpdfstring
|
|
\expandafter\expandafter\expandafter{%
|
|
\expandafter\hbs@tocstring\expandafter
|
|
}\expandafter{%
|
|
\hbs@bmstring
|
|
}%
|
|
]{#1}%
|
|
\fi
|
|
\fi
|
|
}
|
|
\AtBeginDocument{%
|
|
\@ifundefined{texorpdfstring}{%
|
|
\@ifundefined{ifbookmark}{%
|
|
\let\texorpdfstring\@firstoftwo
|
|
\@ifpackageloaded{hyperref}{%
|
|
\PackageInfo{hypbmsec}{%
|
|
\ifx\hy@driver\@empty
|
|
Default driver %
|
|
\else
|
|
'\hy@driver' %
|
|
\fi
|
|
of hyperref not supported,\MessageBreak
|
|
bookmark parameters will be ignored%
|
|
}%
|
|
}{%
|
|
\PackageInfo{hypbmsec}{%
|
|
Package hyperref not loaded,\MessageBreak
|
|
bookmark parameters will be ignored%
|
|
}%
|
|
}%
|
|
}%
|
|
{%
|
|
\newcommand\texorpdfstring[2]{\ifbookmark{#2}{#1}}%
|
|
\PackageWarningNoLine{hypbmsec}{%
|
|
Old hyperref version found,\MessageBreak
|
|
update of hyperref recommended%
|
|
}%
|
|
}%
|
|
}{}%
|
|
\let\hbs@part \part
|
|
\let\hbs@section \section
|
|
\let\hbs@subsection \subsection
|
|
\let\hbs@subsubsection\subsubsection
|
|
\let\hbs@paragraph \paragraph
|
|
\let\hbs@subparagraph \subparagraph
|
|
\renewcommand\part {\hbs@do\hbs@part}%
|
|
\renewcommand\section {\hbs@do\hbs@section}%
|
|
\renewcommand\subsection {\hbs@do\hbs@subsection}%
|
|
\renewcommand\subsubsection{\hbs@do\hbs@subsubsection}%
|
|
\renewcommand\paragraph {\hbs@do\hbs@paragraph}%
|
|
\renewcommand\subparagraph {\hbs@do\hbs@subparagraph}%
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname chapter\endcsname\relax\else
|
|
\let\hbs@chapter \chapter
|
|
\renewcommand\chapter {\hbs@do\hbs@chapter}%
|
|
\fi
|
|
}
|
|
\endinput
|
|
%%
|
|
%% End of file `hypbmsec.sty'.
|
|
|