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.def69
1 files changed, 66 insertions, 3 deletions
diff --git a/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def b/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def
index ae67cb5507e..b410a35f099 100644
--- a/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def
+++ b/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def
@@ -9,7 +9,7 @@
%% This is a generated file.
%%
%% Project: bookmark
-%% Version: 2011/04/13 v1.20
+%% Version: 2011/04/21 v1.21
%%
%% Copyright (C) 2007-2011 by
%% Heiko Oberdiek <heiko.oberdiek at googlemail.com>
@@ -37,11 +37,15 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-pdftex.def}%
- [2011/04/13 v1.20 bookmark driver for pdfTeX (HO)]%
+ [2011/04/21 v1.21 bookmark driver for pdfTeX (HO)]%
\def\BKM@DO@entry#1#2{%
\begingroup
\kvsetkeys{BKM@DO}{#1}%
\def\BKM@DO@title{#2}%
+ \ifx\BKM@DO@srcfile\@empty
+ \else
+ \BKM@UnescapeHex\BKM@DO@srcfile
+ \fi
\BKM@UnescapeHex\BKM@DO@title
\expandafter\expandafter\expandafter\BKM@getx
\csname BKM@\BKM@DO@id\endcsname\@empty\@empty
@@ -65,7 +69,9 @@
\ifx\BKM@DO@rawaction\@empty
\ifx\BKM@DO@uri\@empty
\ifx\BKM@DO@page\@empty
- \PackageError{bookmark}{Missing action}\@ehc
+ \PackageError{bookmark}{%
+ Missing action\BKM@SourceLocation
+ }\@ehc
\edef\BKM@action{goto page1{/Fit}}%
\else
\ifx\BKM@DO@view\@empty
@@ -135,6 +141,23 @@
\BKM@EscapeString\BKM@DO@dest
\edef#1{goto name{#2}}%
}
+\def\BKM@SourceLocation{%
+ \ifx\BKM@DO@srcfile\@empty
+ \ifx\BKM@DO@srcline\@empty
+ \else
+ .\MessageBreak
+ Source: line \BKM@DO@srcline
+ \fi
+ \else
+ \ifx\BKM@DO@srcline\@empty
+ .\MessageBreak
+ Source: file `\BKM@DO@srcfile'%
+ \else
+ .\MessageBreak
+ Source: file `\BKM@DO@srcfile', line \BKM@DO@srcline
+ \fi
+ \fi
+}
\RequirePackage{auxhook}
\AddLineBeginMainAux{%
\string\providecommand\string\BKM@entry[2]{}%
@@ -146,8 +169,13 @@
\newcommand*{\bookmark}[2][]{%
\if@filesw
\begingroup
+ \BKM@InitSourceLocation
\def\bookmark@text{#2}%
\BKM@setup{#1}%
+ \ifx\BKM@srcfile\@empty
+ \else
+ \BKM@EscapeHex\BKM@srcfile
+ \fi
\edef\BKM@prev{\the\BKM@id}%
\global\advance\BKM@id\@ne
\BKM@swtrue
@@ -204,6 +232,8 @@
\ifnum\BKM@FLAGS>\z@
,flags=\BKM@FLAGS
\fi
+ \BKM@auxentry{srcline}%
+ \BKM@auxentry{srcfile}%
}{\BKM@title}%
}%
\endgroup
@@ -220,6 +250,37 @@
,#1={\csname BKM@#1\endcsname}%
\fi
}
+\def\BKM@InitSourceLocation{%
+ \edef\BKM@srcline{\the\inputlineno}%
+ \BKM@LuaTeX@InitFile
+ \ifx\BKM@srcfile\@empty
+ \ltx@IfUndefined{currfilepath}{}{%
+ \edef\BKM@srcfile{\currfilepath}%
+ }%
+ \fi
+}
+\ifluatex
+ \ifnum\luatexversion>36 %
+ \def\BKM@LuaTeX@InitFile{%
+ \begingroup
+ \ltx@LocToksA={}%
+ \edef\x{\endgroup
+ \def\noexpand\BKM@srcfile{%
+ \the\expandafter\ltx@LocToksA
+ \directlua{%
+ if status and status.filename then %
+ tex.settoks('ltx@LocToksA', status.filename)%
+ end%
+ }%
+ }%
+ }\x
+ }%
+ \else
+ \let\BKM@LuaTeX@InitFile\relax
+ \fi
+\else
+ \let\BKM@LuaTeX@InitFile\relax
+\fi
\SetupKeyvalOptions{family=BKM@DO,prefix=BKM@DO@}
\DeclareStringOption[0]{id}
\DeclareBoolOption{open}
@@ -232,6 +293,8 @@
\DeclareStringOption{page}
\DeclareStringOption{view}
\DeclareStringOption{rawaction}
+\DeclareStringOption{srcline}
+\DeclareStringOption{srcfile}
\AtBeginDocument{%
\let\BKM@entry\BKM@DO@entry
}