summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def')
-rw-r--r--Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def79
1 files changed, 38 insertions, 41 deletions
diff --git a/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def b/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def
index 1295407ba63..e8fb50f63d4 100644
--- a/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def
+++ b/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def
@@ -30,11 +30,12 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-pdftex.def}%
- [2007/02/20 v0.2 bookmark driver for pdftex (HO)]
+ [2007/02/22 v0.4 bookmark driver for pdftex (HO)]
\def\BKM@DO@entry#1#2{%
\begingroup
\setkeys{BKM@DO}{#1}%
- \edef\BKM@DO@title{\BKM@unescapehex{#2}}%
+ \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
@@ -66,24 +67,29 @@
\edef\BKM@action{goto page\BKM@DO@page{/\BKM@DO@view}}%
\fi
\else
- \edef\BKM@action{user{<</S/URI/URI(%
- \BKM@escapestring{\BKM@unescapehex{\BKM@DO@uri}})>>}}%
+ \BKM@UnescapeHex\BKM@DO@uri
+ \BKM@EscapeString\BKM@DO@uri
+ \edef\BKM@action{user{<</S/URI/URI(\BKM@DO@uri)>>}}%
\fi
\else
+ \BKM@UnescapeHex\BKM@DO@rawaction
\edef\BKM@action{%
user{%
<<%
- \BKM@unescapehex{\BKM@DO@rawaction}%
+ \BKM@DO@rawaction
>>%
}%
}%
\fi
\else
+ \BKM@EscapeName\BKM@DO@named
\edef\BKM@action{%
- user{<</S/Named/N/\BKM@escapename{\BKM@DO@named}>>}%
+ user{<</S/Named/N/\BKM@DO@named>>}%
}%
\fi
\else
+ \BKM@UnescapeHex\BKM@DO@dest
+ \BKM@EscapeString\BKM@DO@dest
\edef\BKM@action{goto name{\BKM@DO@dest}}%
\fi
\else
@@ -98,13 +104,17 @@
\fi
\edef\BKM@action{/D[\BKM@DO@page/\BKM@DO@view]}%
\else
- \edef\BKM@action{/D(\BKM@escapestring{\BKM@DO@dest})}%
+ \BKM@UnescapeHex\BKM@DO@dest
+ \BKM@EscapeString\BKM@DO@dest
+ \edef\BKM@action{/D(\BKM@DO@dest)}%
\fi
+ \BKM@UnescapeHex\BKM@DO@gotor
+ \BKM@EscapeString\BKM@DO@gotor
\edef\BKM@action{%
user{%
<<%
/S/GoToR%
- /F(\BKM@escapestring{\BKM@unescapehex{\BKM@DO@gotor}})%
+ /F(\BKM@DO@gotor)%
\BKM@action
>>%
}%
@@ -163,6 +173,11 @@
}%
\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
@@ -171,42 +186,18 @@
,open%
\fi
\fi
- \ifx\BKM@dest\@empty
- \else
- ,dest={\BKM@dest}%
- \fi
- \ifx\BKM@named\@empty
- \else
- ,named={\BKM@named}%
- \fi
- \ifx\BKM@uri\@empty
- \else
- ,uri={\BKM@escapehex{\BKM@uri}}%
- \fi
- \ifx\BKM@gotor\@empty
- \else
- ,gotor={\BKM@escapehex{\BKM@gotor}}%
- \fi
- \ifx\BKM@page\@empty
- \else
- ,page=\BKM@page
- \fi
- \ifx\BKM@view\@empty
- \else
- ,view={\BKM@view}%
- \fi
- \ifx\BKM@rawaction\@empty
- \else
- ,rawaction={\BKM@escapehex{\BKM@rawaction}}%
- \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
- \ifx\BKM@color\@empty
- \else
- ,color={\BKM@color}%
- \fi
- }{\BKM@escapehex{\BKM@title}}%
+ }{\BKM@title}%
}%
\endgroup
\fi
@@ -216,6 +207,12 @@
\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}