From 985a9d981dc301403c0a79353e78499c3365a629 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 7 Mar 2007 18:06:13 +0000 Subject: oberdiek update: bookmark0.6, hypbmsec2.3 (5mar07) git-svn-id: svn://tug.org/texlive/trunk@4010 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/oberdiek/bkm-dvipdfm.def | 5 +- Master/texmf-dist/tex/latex/oberdiek/bkm-dvips.def | 16 +- .../texmf-dist/tex/latex/oberdiek/bkm-dvipsone.def | 276 ++++++++++++++++++++ .../texmf-dist/tex/latex/oberdiek/bkm-pdftex.def | 5 +- .../texmf-dist/tex/latex/oberdiek/bkm-textures.def | 276 ++++++++++++++++++++ Master/texmf-dist/tex/latex/oberdiek/bkm-vtex.def | 289 +++++++++++++++++++++ Master/texmf-dist/tex/latex/oberdiek/bookmark.sty | 150 +++++++++-- Master/texmf-dist/tex/latex/oberdiek/hypbmsec.sty | 25 +- 8 files changed, 1000 insertions(+), 42 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/oberdiek/bkm-dvipsone.def create mode 100644 Master/texmf-dist/tex/latex/oberdiek/bkm-textures.def create mode 100644 Master/texmf-dist/tex/latex/oberdiek/bkm-vtex.def (limited to 'Master/texmf-dist/tex/latex/oberdiek') diff --git a/Master/texmf-dist/tex/latex/oberdiek/bkm-dvipdfm.def b/Master/texmf-dist/tex/latex/oberdiek/bkm-dvipdfm.def index ad3ea1d3260..073e3319b3a 100644 --- a/Master/texmf-dist/tex/latex/oberdiek/bkm-dvipdfm.def +++ b/Master/texmf-dist/tex/latex/oberdiek/bkm-dvipdfm.def @@ -25,12 +25,13 @@ %% This work consists of the main source file bookmark.dtx %% and the derived files %% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv, -%% bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, +%% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def, +%% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def, %% bookmark-example.tex. %% \NeedsTeXFormat{LaTeX2e} \ProvidesFile{bkm-dvipdfm.def}% - [2007/02/22 v0.4 bookmark driver for dvipdfm (HO)] + [2007/03/03 v0.6 bookmark driver for dvipdfm (HO)] \newcount\BKM@id \BKM@id=\z@ \def\BKM@0{000} diff --git a/Master/texmf-dist/tex/latex/oberdiek/bkm-dvips.def b/Master/texmf-dist/tex/latex/oberdiek/bkm-dvips.def index a10ac2f354d..6a5780fb7b2 100644 --- a/Master/texmf-dist/tex/latex/oberdiek/bkm-dvips.def +++ b/Master/texmf-dist/tex/latex/oberdiek/bkm-dvips.def @@ -4,7 +4,7 @@ %% %% The original source files were: %% -%% bookmark.dtx (with options: `dvips') +%% bookmark.dtx (with options: `dvips,pdfmark') %% %% This is a generated file. %% @@ -25,16 +25,20 @@ %% This work consists of the main source file bookmark.dtx %% and the derived files %% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv, -%% bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, +%% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def, +%% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def, %% bookmark-example.tex. %% \NeedsTeXFormat{LaTeX2e} \ProvidesFile{bkm-dvips.def}% - [2007/02/22 v0.4 bookmark driver for dvips (HO)] + [2007/03/03 v0.6 bookmark driver for dvips (HO)] +\def\BKM@PSHeaderFile#1{% + \special{header=#1}% +} \def\BKM@filename{\jobname.out.ps} -\special{header=\BKM@filename} -\AtEndDocument{\BKM@dvips@out} -\def\BKM@dvips@out{% +\BKM@PSHeaderFile\BKM@filename +\AtEndDocument{\BKM@pdfmark@out} +\def\BKM@pdfmark@out{% \newwrite\BKM@file \immediate\openout\BKM@file=\BKM@filename\relax \BKM@write{\@percentchar!}% diff --git a/Master/texmf-dist/tex/latex/oberdiek/bkm-dvipsone.def b/Master/texmf-dist/tex/latex/oberdiek/bkm-dvipsone.def new file mode 100644 index 00000000000..6a24a44847d --- /dev/null +++ b/Master/texmf-dist/tex/latex/oberdiek/bkm-dvipsone.def @@ -0,0 +1,276 @@ +%% +%% This is file `bkm-dvipsone.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% bookmark.dtx (with options: `dvipsone,pdfmark') +%% +%% This is a generated file. +%% +%% Copyright (C) 2007 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 bookmark.dtx +%% and the derived files +%% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv, +%% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def, +%% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def, +%% bookmark-example.tex. +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{bkm-dvipsone.def}% + [2007/03/03 v0.6 bookmark driver for dvipsone (HO)] +\def\BKM@PSHeaderFile#1{% + \special{header=#1}% +} +\def\BKM@filename{\jobname.out.ps} +\BKM@PSHeaderFile\BKM@filename +\AtEndDocument{\BKM@pdfmark@out} +\def\BKM@pdfmark@out{% + \newwrite\BKM@file + \immediate\openout\BKM@file=\BKM@filename\relax + \BKM@write{\@percentchar!}% + \BKM@write{/pdfmark where{pop}}% + \BKM@write{% + {% + /globaldict where{pop globaldict}{userdict}ifelse% + /pdfmark/cleartomark load put% + }% + }% + \BKM@write{ifelse} +} +\def\BKM@write#{% + \immediate\write\BKM@file +} +\def\BKM@DO@entry#1#2{% + \begingroup + \setkeys{BKM@DO}{#1}% + \def\BKM@DO@title{#2}% + \BKM@UnescapeHex\BKM@DO@title + \expandafter\expandafter\expandafter\BKM@getx + \csname BKM@\BKM@DO@id\endcsname\@empty\@empty + \let\BKM@attr\@empty + \ifx\BKM@DO@flags\@empty + \else + \edef\BKM@attr{\BKM@attr/F \BKM@DO@flags}% + \fi + \ifx\BKM@DO@color\@empty + \else + \edef\BKM@attr{\BKM@attr/C[\BKM@DO@color]}% + \fi + \let\BKM@action\@empty + \ifx\BKM@DO@gotor\@empty + \ifx\BKM@DO@dest\@empty + \ifx\BKM@DO@named\@empty + \ifx\BKM@DO@rawaction\@empty + \ifx\BKM@DO@uri\@empty + \ifx\BKM@DO@page\@empty + \PackageError{bookmark}{Missing action}\@ehc + \edef\BKM@action{% + /Action/GoTo% + /Page 1% + /View[/Fit]% + }% + \else + \ifx\BKM@DO@view\@empty + \def\BKM@DO@view{Fit}% + \fi + \edef\BKM@action{% + /Action/GoTo% + /Page \BKM@DO@page + /View[/\BKM@DO@view]% + }% + \fi + \else + \BKM@UnescapeHex\BKM@DO@uri + \BKM@EscapeString\BKM@DO@uri + \edef\BKM@action{% + /Action<<% + /Subtype/URI% + /URI(\BKM@DO@uri)% + >>% + }% + \fi + \else + \BKM@UnescapeHex\BKM@DO@rawaction + \edef\BKM@action{% + /Action<<% + \BKM@DO@rawaction + >>% + }% + \fi + \else + \BKM@EscapeName\BKM@DO@named + \edef\BKM@action{% + /Action<<% + /Subtype/Named% + /N/\BKM@DO@named + >>% + }% + \fi + \else + \BKM@UnescapeHex\BKM@DO@dest + \BKM@EscapeString\BKM@DO@dest + \edef\BKM@action{% + /Action/GoTo% + /Dest(\BKM@DO@dest)cvn% + }% + \fi + \else + \ifx\BKM@DO@dest\@empty + \ifx\BKM@DO@page\@empty + \def\BKM@DO@page{1}% + \fi + \ifx\BKM@DO@view\@empty + \def\BKM@DO@view{Fit}% + \fi + \edef\BKM@action{% + /Page \BKM@DO@page + /View[/\BKM@DO@view]% + }% + \else + \BKM@UnescapeHex\BKM@DO@dest + \BKM@EscapeString\BKM@DO@dest + \edef\BKM@action{% + /Dest(\BKM@DO@dest)cvn% + }% + \fi + \BKM@UnescapeHex\BKM@DO@gotor + \BKM@EscapeString\BKM@DO@gotor + \edef\BKM@action{% + /Action/GoToR% + /F(\BKM@DO@gotor)% + \BKM@action + }% + \fi + \BKM@write{[}% + \BKM@write{/Title(\BKM@DO@title)}% + \ifnum\BKM@x@childs>\z@ + \BKM@write{/Count \ifBKM@DO@open\else-\fi\BKM@x@childs}% + \fi + \ifx\BKM@attr\@empty + \else + \BKM@write{\BKM@attr}% + \fi + \BKM@write{\BKM@action}% + \BKM@write{/OUT pdfmark}% + \endgroup +} +\RequirePackage{auxhook} +\AddLineBeginMainAux{% + \string\providecommand\string\BKM@entry[2]{}% +} +\newcount\BKM@id +\BKM@id=\z@ +\def\BKM@0{000} +\newif\ifBKM@sw +\newcommand*{\bookmark}[2][]{% + \if@filesw + \begingroup + \bookmarksetup{#1}% + \ifBKM@keeplevel + \else + \xdef\BKM@currentlevel{\BKM@level}% + \fi + \edef\BKM@prev{\the\BKM@id}% + \global\advance\BKM@id\@ne + \BKM@swtrue + \@whilesw\ifBKM@sw\fi{% + \ifnum\ifBKM@startatroot\z@\else\BKM@prev\fi=\z@ + \global\BKM@startatrootfalse + \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{% + 0{\BKM@level}0% + }% + \BKM@swfalse + \else + \expandafter\expandafter\expandafter\BKM@getx + \csname BKM@\BKM@prev\endcsname + \ifnum\BKM@level>\BKM@x@level\relax + \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{% + {\BKM@prev}{\BKM@level}0% + }% + \ifnum\BKM@prev>\z@ + \expandafter\xdef\csname BKM@\BKM@prev\endcsname{% + {\BKM@x@parent}{\BKM@x@level}{% + \the\numexpr\BKM@x@childs+1\relax + }% + }% + \fi + \BKM@swfalse + \else + \let\BKM@prev\BKM@x@parent + \fi + \fi + }% + \pdfstringdef\BKM@title{#2}% + \edef\BKM@FLAGS{\printflags{BKM@style}}% + \BKM@EscapeHex\BKM@dest + \BKM@EscapeHex\BKM@uri + \BKM@EscapeHex\BKM@gotor + \BKM@EscapeHex\BKM@rawaction + \BKM@EscapeHex\BKM@title + \immediate\write\@mainaux{% + \string\BKM@entry{% + id=\number\BKM@id + \ifBKM@open + \ifnum\BKM@level<\BKM@openlevel + ,open% + \fi + \fi + \BKM@auxentry{dest}% + \BKM@auxentry{named}% + \BKM@auxentry{uri}% + \BKM@auxentry{gotor}% + \BKM@auxentry{page}% + \BKM@auxentry{view}% + \BKM@auxentry{rawaction}% + \BKM@auxentry{color}% + \ifnum\BKM@FLAGS>\z@ + ,flags=\BKM@FLAGS + \fi + }{\BKM@title}% + }% + \endgroup + \fi +} +\def\BKM@getx#1#2#3{% + \def\BKM@x@parent{#1}% + \def\BKM@x@level{#2}% + \def\BKM@x@childs{#3}% +} +\def\BKM@auxentry#1{% + \expandafter\ifx\csname BKM@#1\endcsname\@empty + \else + ,#1={\csname BKM@#1\endcsname}% + \fi +} +\SetupKeyvalOptions{family=BKM@DO,prefix=BKM@DO@} +\DeclareStringOption[0]{id} +\DeclareBoolOption{open} +\DeclareStringOption{flags} +\DeclareStringOption{color} +\DeclareStringOption{dest} +\DeclareStringOption{named} +\DeclareStringOption{uri} +\DeclareStringOption{gotor} +\DeclareStringOption{page} +\DeclareStringOption{view} +\DeclareStringOption{rawaction} +\AtBeginDocument{% + \let\BKM@entry\BKM@DO@entry +} +\endinput +%% +%% End of file `bkm-dvipsone.def'. diff --git a/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def b/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def index e8fb50f63d4..fc1c27095a3 100644 --- a/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def +++ b/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def @@ -25,12 +25,13 @@ %% This work consists of the main source file bookmark.dtx %% and the derived files %% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv, -%% bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, +%% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def, +%% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def, %% bookmark-example.tex. %% \NeedsTeXFormat{LaTeX2e} \ProvidesFile{bkm-pdftex.def}% - [2007/02/22 v0.4 bookmark driver for pdftex (HO)] + [2007/03/03 v0.6 bookmark driver for pdftex (HO)] \def\BKM@DO@entry#1#2{% \begingroup \setkeys{BKM@DO}{#1}% diff --git a/Master/texmf-dist/tex/latex/oberdiek/bkm-textures.def b/Master/texmf-dist/tex/latex/oberdiek/bkm-textures.def new file mode 100644 index 00000000000..50709643957 --- /dev/null +++ b/Master/texmf-dist/tex/latex/oberdiek/bkm-textures.def @@ -0,0 +1,276 @@ +%% +%% This is file `bkm-textures.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% bookmark.dtx (with options: `textures,pdfmark') +%% +%% This is a generated file. +%% +%% Copyright (C) 2007 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 bookmark.dtx +%% and the derived files +%% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv, +%% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def, +%% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def, +%% bookmark-example.tex. +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{bkm-textures.def}% + [2007/03/03 v0.6 bookmark driver for textures (HO)] +\def\BKM@PSHeaderFile#1{% + \special{prePostScriptfile #1}% +} +\def\BKM@filename{\jobname.out.ps} +\BKM@PSHeaderFile\BKM@filename +\AtEndDocument{\BKM@pdfmark@out} +\def\BKM@pdfmark@out{% + \newwrite\BKM@file + \immediate\openout\BKM@file=\BKM@filename\relax + \BKM@write{\@percentchar!}% + \BKM@write{/pdfmark where{pop}}% + \BKM@write{% + {% + /globaldict where{pop globaldict}{userdict}ifelse% + /pdfmark/cleartomark load put% + }% + }% + \BKM@write{ifelse} +} +\def\BKM@write#{% + \immediate\write\BKM@file +} +\def\BKM@DO@entry#1#2{% + \begingroup + \setkeys{BKM@DO}{#1}% + \def\BKM@DO@title{#2}% + \BKM@UnescapeHex\BKM@DO@title + \expandafter\expandafter\expandafter\BKM@getx + \csname BKM@\BKM@DO@id\endcsname\@empty\@empty + \let\BKM@attr\@empty + \ifx\BKM@DO@flags\@empty + \else + \edef\BKM@attr{\BKM@attr/F \BKM@DO@flags}% + \fi + \ifx\BKM@DO@color\@empty + \else + \edef\BKM@attr{\BKM@attr/C[\BKM@DO@color]}% + \fi + \let\BKM@action\@empty + \ifx\BKM@DO@gotor\@empty + \ifx\BKM@DO@dest\@empty + \ifx\BKM@DO@named\@empty + \ifx\BKM@DO@rawaction\@empty + \ifx\BKM@DO@uri\@empty + \ifx\BKM@DO@page\@empty + \PackageError{bookmark}{Missing action}\@ehc + \edef\BKM@action{% + /Action/GoTo% + /Page 1% + /View[/Fit]% + }% + \else + \ifx\BKM@DO@view\@empty + \def\BKM@DO@view{Fit}% + \fi + \edef\BKM@action{% + /Action/GoTo% + /Page \BKM@DO@page + /View[/\BKM@DO@view]% + }% + \fi + \else + \BKM@UnescapeHex\BKM@DO@uri + \BKM@EscapeString\BKM@DO@uri + \edef\BKM@action{% + /Action<<% + /Subtype/URI% + /URI(\BKM@DO@uri)% + >>% + }% + \fi + \else + \BKM@UnescapeHex\BKM@DO@rawaction + \edef\BKM@action{% + /Action<<% + \BKM@DO@rawaction + >>% + }% + \fi + \else + \BKM@EscapeName\BKM@DO@named + \edef\BKM@action{% + /Action<<% + /Subtype/Named% + /N/\BKM@DO@named + >>% + }% + \fi + \else + \BKM@UnescapeHex\BKM@DO@dest + \BKM@EscapeString\BKM@DO@dest + \edef\BKM@action{% + /Action/GoTo% + /Dest(\BKM@DO@dest)cvn% + }% + \fi + \else + \ifx\BKM@DO@dest\@empty + \ifx\BKM@DO@page\@empty + \def\BKM@DO@page{1}% + \fi + \ifx\BKM@DO@view\@empty + \def\BKM@DO@view{Fit}% + \fi + \edef\BKM@action{% + /Page \BKM@DO@page + /View[/\BKM@DO@view]% + }% + \else + \BKM@UnescapeHex\BKM@DO@dest + \BKM@EscapeString\BKM@DO@dest + \edef\BKM@action{% + /Dest(\BKM@DO@dest)cvn% + }% + \fi + \BKM@UnescapeHex\BKM@DO@gotor + \BKM@EscapeString\BKM@DO@gotor + \edef\BKM@action{% + /Action/GoToR% + /F(\BKM@DO@gotor)% + \BKM@action + }% + \fi + \BKM@write{[}% + \BKM@write{/Title(\BKM@DO@title)}% + \ifnum\BKM@x@childs>\z@ + \BKM@write{/Count \ifBKM@DO@open\else-\fi\BKM@x@childs}% + \fi + \ifx\BKM@attr\@empty + \else + \BKM@write{\BKM@attr}% + \fi + \BKM@write{\BKM@action}% + \BKM@write{/OUT pdfmark}% + \endgroup +} +\RequirePackage{auxhook} +\AddLineBeginMainAux{% + \string\providecommand\string\BKM@entry[2]{}% +} +\newcount\BKM@id +\BKM@id=\z@ +\def\BKM@0{000} +\newif\ifBKM@sw +\newcommand*{\bookmark}[2][]{% + \if@filesw + \begingroup + \bookmarksetup{#1}% + \ifBKM@keeplevel + \else + \xdef\BKM@currentlevel{\BKM@level}% + \fi + \edef\BKM@prev{\the\BKM@id}% + \global\advance\BKM@id\@ne + \BKM@swtrue + \@whilesw\ifBKM@sw\fi{% + \ifnum\ifBKM@startatroot\z@\else\BKM@prev\fi=\z@ + \global\BKM@startatrootfalse + \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{% + 0{\BKM@level}0% + }% + \BKM@swfalse + \else + \expandafter\expandafter\expandafter\BKM@getx + \csname BKM@\BKM@prev\endcsname + \ifnum\BKM@level>\BKM@x@level\relax + \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{% + {\BKM@prev}{\BKM@level}0% + }% + \ifnum\BKM@prev>\z@ + \expandafter\xdef\csname BKM@\BKM@prev\endcsname{% + {\BKM@x@parent}{\BKM@x@level}{% + \the\numexpr\BKM@x@childs+1\relax + }% + }% + \fi + \BKM@swfalse + \else + \let\BKM@prev\BKM@x@parent + \fi + \fi + }% + \pdfstringdef\BKM@title{#2}% + \edef\BKM@FLAGS{\printflags{BKM@style}}% + \BKM@EscapeHex\BKM@dest + \BKM@EscapeHex\BKM@uri + \BKM@EscapeHex\BKM@gotor + \BKM@EscapeHex\BKM@rawaction + \BKM@EscapeHex\BKM@title + \immediate\write\@mainaux{% + \string\BKM@entry{% + id=\number\BKM@id + \ifBKM@open + \ifnum\BKM@level<\BKM@openlevel + ,open% + \fi + \fi + \BKM@auxentry{dest}% + \BKM@auxentry{named}% + \BKM@auxentry{uri}% + \BKM@auxentry{gotor}% + \BKM@auxentry{page}% + \BKM@auxentry{view}% + \BKM@auxentry{rawaction}% + \BKM@auxentry{color}% + \ifnum\BKM@FLAGS>\z@ + ,flags=\BKM@FLAGS + \fi + }{\BKM@title}% + }% + \endgroup + \fi +} +\def\BKM@getx#1#2#3{% + \def\BKM@x@parent{#1}% + \def\BKM@x@level{#2}% + \def\BKM@x@childs{#3}% +} +\def\BKM@auxentry#1{% + \expandafter\ifx\csname BKM@#1\endcsname\@empty + \else + ,#1={\csname BKM@#1\endcsname}% + \fi +} +\SetupKeyvalOptions{family=BKM@DO,prefix=BKM@DO@} +\DeclareStringOption[0]{id} +\DeclareBoolOption{open} +\DeclareStringOption{flags} +\DeclareStringOption{color} +\DeclareStringOption{dest} +\DeclareStringOption{named} +\DeclareStringOption{uri} +\DeclareStringOption{gotor} +\DeclareStringOption{page} +\DeclareStringOption{view} +\DeclareStringOption{rawaction} +\AtBeginDocument{% + \let\BKM@entry\BKM@DO@entry +} +\endinput +%% +%% End of file `bkm-textures.def'. diff --git a/Master/texmf-dist/tex/latex/oberdiek/bkm-vtex.def b/Master/texmf-dist/tex/latex/oberdiek/bkm-vtex.def new file mode 100644 index 00000000000..848a54d0002 --- /dev/null +++ b/Master/texmf-dist/tex/latex/oberdiek/bkm-vtex.def @@ -0,0 +1,289 @@ +%% +%% This is file `bkm-vtex.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% bookmark.dtx (with options: `vtex') +%% +%% This is a generated file. +%% +%% Copyright (C) 2007 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 bookmark.dtx +%% and the derived files +%% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv, +%% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def, +%% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def, +%% bookmark-example.tex. +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{bkm-vtex.def}% + [2007/03/03 v0.6 bookmark driver for VTeX (HO)] +\ifvtexpdf +\else + \PackageWarningNoLine{bookmark}{% + The VTeX driver only supports PDF mode% + }% +\fi +\newcount\BKM@id +\BKM@id=\z@ +\def\BKM@0{00} +\newif\ifBKM@sw +\newcommand*{\bookmark}[2][]{% + \if@filesw + \begingroup + \bookmarksetup{#1}% + \ifBKM@keeplevel + \else + \xdef\BKM@currentlevel{\BKM@level}% + \fi + \edef\BKM@prev{\the\BKM@id}% + \global\advance\BKM@id\@ne + \BKM@swtrue + \@whilesw\ifBKM@sw\fi{% + \ifnum\ifBKM@startatroot\z@\else\BKM@prev\fi=\z@ + \global\BKM@startatrootfalse + \def\BKM@parent{0}% + \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{% + 0{\BKM@level}% + }% + \BKM@swfalse + \else + \expandafter\expandafter\expandafter\BKM@getx + \csname BKM@\BKM@prev\endcsname + \ifnum\BKM@level>\BKM@x@level\relax + \let\BKM@parent\BKM@prev + \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{% + {\BKM@prev}{\BKM@level}% + }% + \BKM@swfalse + \else + \let\BKM@prev\BKM@x@parent + \fi + \fi + }% + \pdfstringdef\BKM@title{#2}% + \BKM@vtex@title + \edef\BKM@FLAGS{\printflags{BKM@style}}% + \let\BKM@action\@empty + \ifx\BKM@gotor\@empty + \ifx\BKM@dest\@empty + \ifx\BKM@named\@empty + \ifx\BKM@rawaction\@empty + \ifx\BKM@uri\@empty + \ifx\BKM@page\@empty + \PackageError{bookmark}{Missing action}\@ehc + \def\BKM@action{!1}% + \else + \edef\BKM@action{!\BKM@page}% + \fi + \else + \BKM@EscapeString\BKM@uri + \edef\BKM@action{% + % + }% + \fi + \else + \edef\BKM@action{}% + \fi + \else + \BKM@EscapeName\BKM@named + \edef\BKM@action{% + % + }% + \fi + \else + \BKM@EscapeString\BKM@dest + \edef\BKM@action{\BKM@dest}% + \fi + \else + \ifx\BKM@dest\@empty + \ifx\BKM@page\@empty + \def\BKM@page{1}% + \fi + \ifx\BKM@view\@empty + \def\BKM@view{Fit}% + \fi + \edef\BKM@action{/D[\BKM@page/\BKM@view]}% + \else + \BKM@EscapeString\BKM@dest + \edef\BKM@action{/D(\BKM@dest)}% + \fi + \BKM@EscapeString\BKM@gotor + \edef\BKM@action{% + >% + }% + \fi + \ifx\BKM@color\@empty + \let\BKM@RGBcolor\@empty + \else + \expandafter\BKM@toRGB\BKM@color\@nil + \fi + \special{% + !outline \BKM@action;% + p=\BKM@parent,% + i=\number\BKM@id,% + s=% + \ifBKM@open + \ifnum\BKM@level<\BKM@openlevel + o% + \else + c% + \fi + \else + c% + \fi,% + \ifx\BKM@RGBcolor\@empty + \else + c=\BKM@RGBcolor,% + \fi + \ifnum\BKM@FLAGS>\z@ + f=\BKM@FLAGS,% + \fi + t=\BKM@title + }% + \endgroup + \fi +} +\def\BKM@getx#1#2{% + \def\BKM@x@parent{#1}% + \def\BKM@x@level{#2}% +} +\def\BKM@toRGB#1 #2 #3\@nil{% + \let\BKM@RGBcolor\@empty + \BKM@toRGBComponent{#1}% + \BKM@toRGBComponent{#2}% + \BKM@toRGBComponent{#3}% +} +\def\BKM@toRGBComponent#1{% + \dimen@=#1pt\relax + \ifdim\dimen@>\z@ + \ifdim\dimen@<\p@ + \dimen@=255\dimen@ + \advance\dimen@ by 32768sp\relax + \divide\dimen@ by 65536\relax + \dimen@ii=\dimen@ + \divide\dimen@ii by 16\relax + \edef\BKM@RGBcolor{% + \BKM@RGBcolor + \BKM@toHexDigit\dimen@ii + }% + \dimen@ii=16\dimen@ii + \advance\dimen@-\dimen@ii + \edef\BKM@RGBcolor{% + \BKM@RGBcolor + \BKM@toHexDigit\dimen@ + }% + \else + \edef\BKM@RGBcolor{\BKM@RGBcolor FF}% + \fi + \else + \edef\BKM@RGBcolor{\BKM@RGBcolor00}% + \fi +} +\def\BKM@toHexDigit#1{% + \expandafter\ifcase\expandafter\@firstofone\expandafter{\number#1} % + 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or + 8\or 9\or A\or B\or C\or D\or E\or F% + \fi +} +\begingroup + \catcode`\|=0 % + \catcode`\\=12 % + |gdef|BKM@vtex@title{% + |@onelevel@sanitize|BKM@title + |edef|BKM@title{|expandafter|BKM@vtex@leftparen|BKM@title\(|@nil}% + |edef|BKM@title{|expandafter|BKM@vtex@rightparen|BKM@title\)|@nil}% + |edef|BKM@title{|expandafter|BKM@vtex@zero|BKM@title\0|@nil}% + |edef|BKM@title{|expandafter|BKM@vtex@one|BKM@title\1|@nil}% + |edef|BKM@title{|expandafter|BKM@vtex@two|BKM@title\2|@nil}% + |edef|BKM@title{|expandafter|BKM@vtex@three|BKM@title\3|@nil}% + }% + |gdef|BKM@vtex@leftparen#1\(#2|@nil{% + #1% + |ifx||#2||% + |else + (% + |@ReturnAfterFi{% + |BKM@vtex@leftparen#2|@nil + }% + |fi + }% + |gdef|BKM@vtex@rightparen#1\)#2|@nil{% + #1% + |ifx||#2||% + |else + )% + |@ReturnAfterFi{% + |BKM@vtex@rightparen#2|@nil + }% + |fi + }% + |gdef|BKM@vtex@zero#1\0#2|@nil{% + #1% + |ifx||#2||% + |else + |noexpand|hv@pdf@char0% + |@ReturnAfterFi{% + |BKM@vtex@zero#2|@nil + }% + |fi + }% + |gdef|BKM@vtex@one#1\1#2|@nil{% + #1% + |ifx||#2||% + |else + |noexpand|hv@pdf@char1% + |@ReturnAfterFi{% + |BKM@vtex@one#2|@nil + }% + |fi + }% + |gdef|BKM@vtex@two#1\2#2|@nil{% + #1% + |ifx||#2||% + |else + |noexpand|hv@pdf@char2% + |@ReturnAfterFi{% + |BKM@vtex@two#2|@nil + }% + |fi + }% + |gdef|BKM@vtex@three#1\3#2|@nil{% + #1% + |ifx||#2||% + |else + |noexpand|hv@pdf@char3% + |@ReturnAfterFi{% + |BKM@vtex@three#2|@nil + }% + |fi + }% +|endgroup +\long\def\@ReturnafterFi#1\fi{\fi#1} +\endinput +%% +%% End of file `bkm-vtex.def'. diff --git a/Master/texmf-dist/tex/latex/oberdiek/bookmark.sty b/Master/texmf-dist/tex/latex/oberdiek/bookmark.sty index cbf01370757..ad62d8cea75 100644 --- a/Master/texmf-dist/tex/latex/oberdiek/bookmark.sty +++ b/Master/texmf-dist/tex/latex/oberdiek/bookmark.sty @@ -25,12 +25,13 @@ %% This work consists of the main source file bookmark.dtx %% and the derived files %% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv, -%% bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, +%% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def, +%% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def, %% bookmark-example.tex. %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{bookmark}% - [2007/02/22 v0.4 PDF bookmarks (HO)] + [2007/03/03 v0.6 PDF bookmarks (HO)] \RequirePackage{pdfescape}% \def\BKM@EscapeName#1{% \ifx#1\@empty @@ -55,15 +56,57 @@ }% \RequirePackage{ifpdf} \RequirePackage{ifxetex} +\RequirePackage{ifvtex} \RequirePackage{hyperref} \RequirePackage{auxhook} \RequirePackage{flags} \RequirePackage{kvoptions} \SetupKeyvalOptions{family=BKM,prefix=BKM@} \newcommand*{\bookmarksetup}{\setkeys{BKM}} -\DeclareBoolOption{open} +\DeclareBoolOption[\ifHy@bookmarksopen true\else false\fi]{open} \DeclareStringOption[\maxdimen]{openlevel} -\DeclareStringOption[\c@tocdepth]{depth} +\edef\BKM@openlevel{\number\@bookmarksopenlevel} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname Hy@bookmarksdepth\endcsname\relax + \def\BKM@depth{\c@tocdepth}% +\else + \let\BKM@depth\Hy@bookmarksdepth +\fi +\define@key{BKM}{depth}[]{% + \edef\BKM@param{#1}% + \ifx\BKM@param\@empty + \def\BKM@depth{\c@tocdepth}% + \else + \@ifundefined{toclevel@\BKM@param}{% + \@onelevel@sanitize\BKM@param + \edef\BKM@temp{\expandafter\@car\BKM@param\@nil}% + \ifcase 0\expandafter\ifx\BKM@temp-1\fi + \expandafter\ifnum\expandafter`\BKM@temp>47 % + \expandafter\ifnum\expandafter`\BKM@temp<58 % + 1% + \fi + \fi + \relax + \PackageWarning{bookmark}{% + Unknown document division name (\BKM@param)% + }% + \else + \BKM@SetDepth\BKM@param + \fi + }{% + \BKM@SetDepth{\csname toclevel@\BKM@param\endcsname}% + }% + \fi +} +\def\BKM@SetDepth#1{% + \begingroup + \setbox\z@=\hbox{% + \count@=#1\relax + \expandafter + }% + \expandafter\endgroup + \expandafter\def\expandafter\BKM@depth\expandafter{\the\count@}% +} \DeclareStringOption[\BKM@currentlevel]{level}[\BKM@currentlevel] \DeclareBoolOption{keeplevel} \DeclareBoolOption{startatroot} @@ -71,6 +114,36 @@ \edef\BKM@level{\number\numexpr#1+\BKM@currentlevel\relax}% } \def\BKM@currentlevel{0} +\DeclareBoolOption[% + \ifHy@bookmarksnumbered true\else false\fi +]{numbered} +\g@addto@macro\BKM@numberedtrue{% + \let\ifHy@bookmarksnumbered\iftrue +} +\g@addto@macro\BKM@numberedfalse{% + \let\ifHy@bookmarksnumbered\iffalse +} +\g@addto@macro\Hy@bookmarksnumberedtrue{% + \let\ifBKM@numbered\iftrue +} +\g@addto@macro\Hy@bookmarksnumberedfalse{% + \let\ifBKM@numbered\iffalse +} +\def\BKM@PatchHyperrefOption#1{% + \expandafter\BKM@@PatchHyperrefOption\csname KV@Hyp@#1\endcsname% +} +\def\BKM@@PatchHyperrefOption#1{% + \expandafter\BKM@@@PatchHyperrefOption#1{##1}\BKM@nil#1% +} +\def\BKM@@@PatchHyperrefOption#1\BKM@nil#2#3{% + \def#2##1{% + #1% + \bookmarksetup{#3={##1}}% + }% +} +\BKM@PatchHyperrefOption{bookmarksopen}{open} +\BKM@PatchHyperrefOption{bookmarksopenlevel}{openlevel} +\BKM@PatchHyperrefOption{bookmarksdepth}{depth} \resetflags{BKM@style} \define@key{BKM}{italic}[true]{% \expandafter\ifx\csname if#1\endcsname\iftrue @@ -103,7 +176,9 @@ \csname @safe@activestrue\endcsname \XC@bordercolor{}{#1}% \expandafter\endgroup - \expandafter\def\expandafter\BKM@color\expandafter{\@bordercolor}% + \expandafter\def\expandafter\BKM@color\expandafter{% + \@bordercolor + }% }% \fi } @@ -284,21 +359,22 @@ \endgroup \fi } -\define@key{BKM}{pdftex}[]{% - \def\BKM@driver{pdftex}% -} -\define@key{BKM}{dvips}[]{% - \def\BKM@driver{dvips}% -} -\define@key{BKM}{dvipdfm}[]{% - \def\BKM@driver{dvipdfm}% -} -\define@key{BKM}{dvipdfmx}[]{% - \def\BKM@driver{dvipdfm}% -} -\define@key{BKM}{xetex}[]{% - \def\BKM@driver{dvipdfm}% +\def\BKM@DefineDriverKey#1{% + \define@key{BKM}{#1}[]{% + \def\BKM@driver{#1}% + }% + \g@addto@macro\BKM@DisableDriverOptions{% + \DisableKeyvalOption{BKM}{#1}% + }% } +\let\BKM@DisableDriverOptions\@empty +\BKM@DefineDriverKey{pdftex} +\BKM@DefineDriverKey{dvips} +\BKM@DefineDriverKey{dvipsone} +\BKM@DefineDriverKey{textures} +\BKM@DefineDriverKey{dvipdfm} +\BKM@DefineDriverKey{xetex} +\BKM@DefineDriverKey{vtex} \InputIfFileExists{bookmark.cfg}{}{} \providecommand*{\BookmarkDriverDefault}{dvips} \ifpdf @@ -307,15 +383,15 @@ \ifxetex \def\BKM@driver{dvipdfm}% \else - \let\BKM@driver\BookmarkDriverDefault + \ifvtex + \def\BKM@driver{vtex}% + \else + \let\BKM@driver\BookmarkDriverDefault + \fi \fi \fi \ProcessKeyvalOptions* -\DisableKeyvalOption{BKM}{pdftex} -\DisableKeyvalOption{BKM}{dvips} -\DisableKeyvalOption{BKM}{dvipdfm} -\DisableKeyvalOption{BKM}{dvipdfmx} -\DisableKeyvalOption{BKM}{xetex} +\BKM@DisableDriverOptions \def\BKM@temp{pdftex}% \ifpdf \ifx\BKM@temp\BKM@driver @@ -343,6 +419,26 @@ }% \let\BKM@driver\BKM@temp \fi + \else + \def\BKM@temp{vtex}% + \ifvtex + \ifx\BKM@temp\BKM@driver + \else + \PackageWarningNoLine{bookmark}{% + Wrong driver `\BKM@driver',\MessageBreak + using `vtex' for VTeX instead% + }% + \let\BKM@driver\BKM@temp + \fi + \else + \ifx\BKM@temp\BKM@driver + \PackageError{bookmark}{% + Wrong driver, VTeX is not running in PDF mode.\MessageBreak + Package loading is aborted% + }\@ehc + \expandafter\expandafter\expandafter\endinput + \fi + \fi \fi \fi \InputIfFileExists{bkm-\BKM@driver.def}{}{% @@ -370,12 +466,12 @@ \global\let\BKM@currentlevel\BKM@gtemp } \renewcommand*{\Hy@writebookmark}[5]{% - \ifnum#4>\Hy@bookmarksdepth\relax + \ifnum#4>\BKM@depth\relax \else \def\BKM@type{#5}% \ifx\BKM@type\Hy@bookmarkstype \begingroup - \ifHy@bookmarksnumbered + \ifBKM@numbered \let\numberline\Hy@numberline \let\partnumberline\Hy@numberline \let\chapternumberline\Hy@numberline diff --git a/Master/texmf-dist/tex/latex/oberdiek/hypbmsec.sty b/Master/texmf-dist/tex/latex/oberdiek/hypbmsec.sty index f5d1ca01c1e..e82e65ba7ab 100644 --- a/Master/texmf-dist/tex/latex/oberdiek/hypbmsec.sty +++ b/Master/texmf-dist/tex/latex/oberdiek/hypbmsec.sty @@ -8,7 +8,7 @@ %% %% This is a generated file. %% -%% Copyright (C) 1998-2000, 2006 by +%% Copyright (C) 1998-2000, 2006, 2007 by %% Heiko Oberdiek %% %% This work may be distributed and/or modified under the @@ -29,7 +29,7 @@ %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{hypbmsec}% - [2006/02/20 v2.2 Bookmarks in sectioning commands (HO)] + [2006/03/05 v2.3 Bookmarks in sectioning commands (HO)] \@ifundefined{hbs@do}{}{% \PackageInfo{hypbmsec}{Package 'hypbmsec' is already loaded} \endinput @@ -75,13 +75,28 @@ \ifx\hbs@bmstring\relax \hbs@seccmd{#1}% \else - \hbs@seccmd{\texorpdfstring{#1}\hbs@bmstring}% + \begingroup + \def\x##1{\endgroup + \hbs@seccmd{\texorpdfstring{#1}{##1}}% + }% + \expandafter\x\expandafter{\hbs@bmstring}% \fi \else \ifx\hbs@bmstring\relax - \hbs@seccmd[\hbs@tocstring]{#1}% + \expandafter\hbs@seccmd\expandafter[% + \expandafter{\hbs@tocstring}% + ]{#1}% \else - \hbs@seccmd[\texorpdfstring\hbs@tocstring\hbs@bmstring]{#1}% + \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 } -- cgit v1.2.3