diff options
author | Karl Berry <karl@freefriends.org> | 2015-09-17 23:49:24 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-09-17 23:49:24 +0000 |
commit | a7b382b0bdec52e471de64558fd90ab3dd9e2663 (patch) | |
tree | 970087e25f5743b75959d9a09f2e3e8e87da217d /Master/texmf-dist/tex | |
parent | 9fd7d087755d8f3890acd6ca639d5a725ed3b176 (diff) |
dataref (17sep15)
git-svn-id: svn://tug.org/texlive/trunk@38394 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/dataref/dataref.sty | 41 |
1 files changed, 28 insertions, 13 deletions
diff --git a/Master/texmf-dist/tex/latex/dataref/dataref.sty b/Master/texmf-dist/tex/latex/dataref/dataref.sty index adda58c5552..381d57469af 100644 --- a/Master/texmf-dist/tex/latex/dataref/dataref.sty +++ b/Master/texmf-dist/tex/latex/dataref/dataref.sty @@ -22,10 +22,9 @@ %% %% This work consists of the files dataref.dtx and dataref.ins %% and the derived file dataref.sty. - \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{dataref} - [2015/04/21 v0.4 dataref] + [2015/09/17 v0.5 dataref] \ifx\drefloaded\undefined \let\drefloaded=\relax @@ -38,12 +37,10 @@ \def\dref@error#1{\PackageError{dref}{#1}{}}% \fi \RequirePackage{pgf} +\RequirePackage{iftex} \RequirePackage{kvoptions} \usepgflibrary{fpu} \usepackage{etoolbox} -\let\origforlistloop\forlistloop -\usepackage{etextools} -\let\forlistloop\origforlistloop \RequirePackage{xcolor} \SetupKeyvalOptions{ @@ -88,12 +85,6 @@ \immediate\write\@auxout{\noexpand\dref@found{\drefcurrentkey}{\dref@thepage}}% }{% \immediate\write\@auxout{\noexpand\dref@notfound{\drefcurrentkey}{\dref@thepage}}% - \ifdref@ignoremissing% - \typeout{Dref warning: undefined key `\drefcurrentkey'}% - \dref@mkannotate{UNDEFINED: \drefcurrentkey}% - \else% - \dref@error{Dref error: undefined key `\drefcurrentkey'}% - \fi% }% \immediate\write\@auxout{\noexpand\dref@referenced{\drefcurrentkey}{\dref@thepage}}% } @@ -122,8 +113,32 @@ \def\drefref#1{% \dref@unexpandable{#1}% } +%% dref@ifstrmatch is copied from etextools, but etextools is +%% incompatible with etoolbox +%% \ifstrmatch{ pattern }{ string }{ true }{ false } +\ifPDFTeX% +\let\dref@strmatch\pdfmatch +\fi +\ifLuaTeX% +\newcommand{\dref@strmatch}[2]{% + \directlua{% + local match = string.find("\luaescapestring{#2}", "\luaescapestring{#1}");% + if match then + tex.print("1"); + else + tex.print("0"); + end + }% +} +\fi +\long\def\dref@firstoftwo#1#2{\z@#1} %% for romannumeral +\long\def\dref@secondoftwo#1#2{\z@#2}%% for romannumeral +\newcommand{\dref@ifstrmatch}[2]{% + \romannumeral\csname dref@% + \ifnum\dref@strmatch{#1}{#2}=1 first\else second\fi oftwo\endcsname% +} \newcommand{\dref@help@match}[2]{% - \ifstrmatch{#1}{#2}% + \dref@ifstrmatch{#1}{#2}% } \newcommand{\dref@help}[2][]{% \pgfkeysifdefined{#2/help}{% @@ -364,7 +379,7 @@ \expandafter\def\expandafter\dref@usagereport@strippath@\dref@datapath#1\blanktest{#1} \newcommand{\dref@usagereport@strippath}[1]{% - \expandafter\ifstrmatch\expandafter{\expandafter^\dref@datapath.*$}{#1}% + \expandafter\dref@ifstrmatch\expandafter{\expandafter^\dref@datapath.*$}{#1}% {\dref@usagereport@strippath@#1\blanktest}% {#1}% } |