%% %% This is file `zref-xr.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% zref.dtx (with options: `xr') %% %% This is a generated file. %% %% Project: zref %% Version: 2023-09-14 v2.35 %% %% Copyright (C) %% 2006-2012 Heiko Oberdiek %% 2016-2023 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/zref/issues %% %% This work consists of the main source file zref.dtx %% and the derived files %% zref.sty, zref.pdf, zref.ins, zref.drv, zref-base.sty, %% zref-abspage.sty, zref-abspos.sty, zref-counter.sty, %% zref-dotfill.sty, zref-env.sty, zref-hyperref.sty, %% zref-lastpage.sty, zref-marks.sty, zref-nextpage.sty, %% zref-pageattr.sty, zref-pagelayout.sty, zref-perpage.sty, %% zref-runs.sty, zref-savepos.sty, zref-thepage.sty, %% zref-titleref.sty, zref-totpages.sty, zref-user.sty, %% zref-xr.sty, zref-example.tex, zref-example-lastpage.tex, %% zref-example-nextpage.tex, zref-test1.tex, %% zref-test-base.tex, zref-test-runs.tex, %% zref-test-titleref-memoir.tex. %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-xr}% [2023-09-14 v2.35 Module xr for zref (HO)]% \RequirePackage{zref-base}[2019/11/29] \ifx\ZREF@base@ok Y% \else \expandafter\endinput \fi \RequirePackage{keyval} \RequirePackage{kvoptions}[2010/02/22] \zref@newprop{url}{}% \zref@newprop{urluse}{}% \zref@newprop{externaldocument}{}% \providecommand*{\zref@xr@ext}{% \ltx@ifundefined{XR@ext}{pdf}{\XR@ext}% }% \newif\ifZREF@xr@zreflabel \SetupKeyvalOptions{% family=ZREF@XR,% prefix=ZREF@xr@% } \DeclareBoolOption[true]{tozreflabel} \DeclareBoolOption[false]{toltxlabel} \DeclareBoolOption{verbose} \define@key{ZREF@XR}{ext}{% \def\zref@xr@{#1}% } \DeclareBoolOption[false]{urluse} \newcommand*{\zxrsetup}{% \kvsetkeys{ZREF@XR}% }% \newcount\ZREF@xr@URL \ZREF@xr@URL=\ltx@zero \def\ZREF@xr@AddURL#1{% \begingroup \def\ZREF@temp{#1}% \count@=\ltx@one \ZREF@xr@@AddUrl \endgroup } \def\ZREF@xr@@AddUrl{% \ifnum\count@>\ZREF@xr@URL \global\advance\ZREF@xr@URL by\ltx@one \xdef\ZREF@xr@theURL{\romannumeral\ZREF@xr@URL}% \global\expandafter\let \csname Z@U@\ZREF@xr@theURL\endcsname\ZREF@temp \@PackageInfo{zref-xr}{% \ltx@backslashchar Z@U@\ZREF@xr@theURL:\MessageBreak \ZREF@temp\MessageBreak }% \else \expandafter \ifx\csname Z@U@\romannumeral\count@\endcsname\ZREF@temp \xdef\ZREF@xr@theURL{\romannumeral\count@}% \else \expandafter\expandafter\expandafter\ZREF@xr@@AddUrl \fi \fi } \ZREF@IfDefinable\zexternaldocument\def{% {% \ZREF@NewPropAnchor \ZREF@NewPropTitle \begingroup \csname @safe@actives@true\endcsname \makeatletter \@ifstar{% \ZREF@xr@zreflabelfalse \@testopt\ZREF@xr@externaldocument{}% }{% \ZREF@xr@zreflabeltrue \@testopt\ZREF@xr@externaldocument{}% }% }% }% \def\ZREF@xr@externaldocument[#1]#2{% \def\ZREF@xr@prefix{#1}% \let\ZREF@xr@filelist\ltx@empty \edef\ZREF@xr@externalfile{#2}% \edef\ZREF@xr@file{\ZREF@xr@externalfile.aux}% \filename@parse{#2}% \@testopt\ZREF@xr@graburl{#2.\zref@xr@ext}% }% \def\ZREF@xr@graburl[#1]{% \edef\ZREF@xr@url{#1}% \ifZREF@xr@urluse \expandafter\ZREF@xr@AddURL\expandafter{\ZREF@xr@url}% \expandafter\def\expandafter\ZREF@xr@url \expandafter{\csname Z@U@\ZREF@xr@theURL\endcsname}% \fi \ZREF@xr@checkfile \endgroup }% \def\ZREF@xr@checkfile{% \openin\@inputcheck\ZREF@xr@file\relax \ifeof\@inputcheck \PackageWarning{zref-xr}{% File `\ZREF@xr@file' not found or empty,\MessageBreak labels not imported% }% \else \PackageInfo{zref-xr}{% Label \ifZREF@xr@zreflabel (zref) \fi import from `\ZREF@xr@file'% }% \def\ZREF@xr@found{0}% \def\ZREF@xr@ignored@empty{0}% \def\ZREF@xr@ignored@zref{0}% \def\ZREF@xr@ignored@ltx{0}% \ZREF@xr@processfile \closein\@inputcheck \begingroup \let\on@line\ltx@empty \PackageInfo{zref-xr}{% Statistics for `\ZREF@xr@file':\MessageBreak \ZREF@xr@found\space \ifZREF@xr@zreflabel zref\else LaTeX\fi\space label(s) found% \ifnum\ZREF@xr@ignored@empty>0 % ,\MessageBreak \ZREF@xr@ignored@empty\space empty label(s) ignored% \fi \ifnum\ZREF@xr@ignored@zref>0 % ,\MessageBreak \ZREF@xr@ignored@zref\space duplicated zref label(s) ignored% \fi \ifnum\ZREF@xr@ignored@ltx>0 % ,\MessageBreak \ZREF@xr@ignored@ltx\space duplicated latex label(s) ignored% \fi }% \endgroup \fi \ifx\ZREF@xr@filelist\ltx@empty \else \edef\ZREF@xr@file{% \expandafter\ltx@car\ZREF@xr@filelist\@nil }% \edef\ZREF@xr@filelist{% \expandafter\ltx@cdr\ZREF@xr@filelist\ltx@empty\@nil }% \expandafter\ZREF@xr@checkfile \fi }% \def\ZREF@xr@processfile{% \read\@inputcheck to\ZREF@xr@line \expandafter\ZREF@xr@processline\ZREF@xr@line..\ZREF@nil \ifeof\@inputcheck \else \expandafter\ZREF@xr@processfile \fi }% \long\def\ZREF@xr@processline#1#2#3\ZREF@nil{% \def\x{#1}% \toks@{#2}% \ifZREF@xr@zreflabel \ifx\x\ZREF@xr@zref@newlabel \expandafter \ZREF@xr@process@zreflabel\ZREF@xr@line...\ZREF@nil \fi \else \ifx\x\ZREF@xr@newlabel \expandafter \ZREF@xr@process@label\ZREF@xr@line...[]\ZREF@nil \fi \fi \ifx\x\ZREF@xr@@input \edef\ZREF@xr@filelist{% \etex@unexpanded\expandafter{\ZREF@xr@filelist}% {\filename@area\the\toks@}% }% \fi }% \def\ZREF@xr@process@zreflabel\zref@newlabel#1#2#3\ZREF@nil{% \edef\ZREF@xr@refname{Z@R@\ZREF@xr@prefix#1}% \edef\ZREF@xr@found{\the\numexpr\ZREF@xr@found+1\relax}% \def\x{#2}% \edef\ZREF@xr@tempname{$temp$}% \edef\ZREF@xr@temprefname{Z@R@\ZREF@xr@tempname}% \let\ZREF@xr@list\x \ifx\ZREF@xr@list\ltx@empty \PackageWarningNoLine{zref-xr}{% Label `#1' without properties ignored\MessageBreak in file `\ZREF@xr@file'% }% \edef\ZREF@xr@ignored@empty{% \the\numexpr\ZREF@xr@ignored@empty+1\relax }% \else \expandafter\ZREF@xr@checklist\x\ZREF@nil \expandafter\let\csname\ZREF@xr@temprefname\endcsname\x \expandafter\ltx@LocalAppendToMacro \csname\ZREF@xr@temprefname\expandafter\endcsname \expandafter{% \expandafter\externaldocument\expandafter{% \ZREF@xr@externalfile }% }% \ZREF@xr@urlcheck\ZREF@xr@tempname \ifZREF@xr@tozreflabel \@ifundefined{\ZREF@xr@refname}{% \ifZREF@xr@verbose \PackageInfo{zref-xr}{% Import to zref label `\ZREF@xr@tempname#1'% }% \fi \global\expandafter \let\csname\ZREF@xr@refname\expandafter\endcsname \csname\ZREF@xr@temprefname\endcsname }{% \ZREF@xr@zref@ignorewarning{\ZREF@xr@prefix#1}% }% \fi \ifZREF@xr@toltxlabel \ZREF@xr@tolabel{\ZREF@xr@tempname}{\ZREF@xr@prefix#1}% \fi \fi }% \def\ZREF@xr@process@label\newlabel#1#2#3[#4]#5\ZREF@nil{% \def\ZREF@xr@refname{Z@R@\ZREF@xr@prefix#1}% \edef\ZREF@xr@found{\the\numexpr\ZREF@xr@found+1\relax}% \def\x{#2}% \edef\ZREF@xr@tempname{$temp$}% \edef\ZREF@xr@temprefname{Z@R@\ZREF@xr@tempname}% \expandafter\ZREF@xr@scanparams \csname\ZREF@xr@temprefname\expandafter\endcsname \x{}{}{}{}{}\ZREF@nil \ifx\\#4\\% \else % ntheorem knows an optional argument at the end of \newlabel \ZREF@NewPropTheotype \expandafter\ltx@LocalAppendToMacro \csname\ZREF@xr@temprefname\endcsname{\theotype{#4}}% \fi \expandafter\ltx@LocalAppendToMacro \csname\ZREF@xr@temprefname\expandafter\endcsname\expandafter{% \expandafter\externaldocument\expandafter{% \ZREF@xr@externalfile }% }% \ZREF@xr@urlcheck\ZREF@xr@tempname \ifZREF@xr@tozreflabel \@ifundefined{\ZREF@xr@refname}{% \ifZREF@xr@verbose \PackageInfo{zref-xr}{% Import to zref label `\ZREF@xr@prefix#1'% }% \fi \global\expandafter \let\csname\ZREF@xr@refname\expandafter\endcsname \csname\ZREF@xr@temprefname\endcsname }{% \ZREF@xr@zref@ignorewarning{\ZREF@xr@prefix#1}% }% \fi \ifZREF@xr@toltxlabel \ZREF@xr@tolabel{\ZREF@xr@tempname}{\ZREF@xr@prefix#1}% \fi } \def\ZREF@xr@zref@newlabel{\zref@newlabel}% \def\ZREF@xr@newlabel{\newlabel}% \def\ZREF@xr@@input{\@input}% \def\ZREF@xr@relax{\relax}% \def\ZREF@xr@tolabel#1#2{% \ifZREF@xr@verbose \PackageInfo{zref-xr}{% Import to LaTeX label `#2'% }% \fi \zref@wrapper@unexpanded{% \expandafter\xdef\csname r@#2\endcsname{% {% \ltx@ifundefined{M@TitleReference}{% \ltx@ifundefined{TR@TitleReference}{% \zref@extractdefault{#1}{default}{}% }{% \noexpand\TR@TitleReference {\zref@extractdefault{#1}{default}{}}% {\zref@extractdefault{#1}{title}{}}% }% }{% \noexpand\M@TitleReference {\zref@extractdefault{#1}{default}{}}% {\zref@extractdefault{#1}{title}{}}% }% }% {\zref@extractdefault{#1}{page}{}}% \ltx@ifpackageloaded{nameref}{% {\zref@extractdefault{#1}{title}{}}% {\zref@extractdefault{#1}{anchor}{}}% \zref@ifrefcontainsprop{#1}{urluse}{% {\zref@extractdefault{#1}{urluse}{}}% }{% {\zref@extractdefault{#1}{url}{}}% }% }{}% }% }% } \def\ZREF@xr@zref@ignorewarning#1{% \PackageWarningNoLine{zref-xr}{% Zref label `#1' is already in use\MessageBreak in file `\ZREF@xr@file'% }% \edef\ZREF@xr@ignored@zref{% \the\numexpr\ZREF@xr@ignored@zref+1% }% }% \def\ZREF@xr@ltx@ignorewarning#1{% \PackageWarningNoLine{zref-xr}{% LaTeX label `#1' is already in use\MessageBreak in file `\ZREF@xr@file'% }% \edef\ZREF@xr@ignored@ltx{% \the\numexpr\ZREF@xr@ignored@ltx+1% }% }% \def\ZREF@xr@checklist#1#2#3\ZREF@nil{% \ifx\@undefined#1\relax \expandafter\ZREF@xr@checkkey\string#1\@nil \fi \ifx\\#3\\% \else \ltx@ReturnAfterFi{% \ZREF@xr@checklist#3\ZREF@nil }% \fi }% \def\ZREF@xr@checkkey#1#2\@nil{% \zref@ifpropundefined{#2}{% \zref@newprop{#2}{}% }{}% }% \def\ZREF@xr@scanparams#1#2#3#4#5#6#7\ZREF@nil{% \let#1\ltx@empty \ZREF@foundfalse \ZREF@xr@scantitleref#1#2\TR@TitleReference{}{}\ZREF@nil \ifZREF@found \else \ltx@LocalAppendToMacro#1{\default{#2}}% \fi % page \ltx@LocalAppendToMacro#1{\page{#3}}% % nameref title \ifZREF@found \else \ifx\\#4\\% \else \def\ZREF@xr@temp{#4}% \ifx\ZREF@xr@temp\ZREF@xr@relax \else \ltx@LocalAppendToMacro#1{\title{#4}}% \fi \fi \fi % anchor \ifx\\#5\\% \else \ltx@LocalAppendToMacro#1{\anchor{#5}}% \fi \ifx\\#6\\% \else \ifZREF@xr@urluse \ZREF@xr@AddURL{#6}% \expandafter\ltx@LocalAppendToMacro\expandafter#1% \expandafter{% \expandafter\urluse\expandafter{% \csname Z@U@\ZREF@xr@theURL\endcsname }% }% \else \ltx@LocalAppendToMacro#1{\url{#6}}% \fi \fi }% \def\ZREF@xr@scantitleref#1#2\TR@TitleReference#3#4#5\ZREF@nil{% \ifx\\#5\\% \else \ltx@LocalAppendToMacro#1{% \default{#3}% \title{#4}% }% \ZREF@foundtrue \fi }% \def\ZREF@xr@urlcheck#1{% \zref@ifrefcontainsprop{#1}{anchor}{% \zref@ifrefcontainsprop{#1}{url}{% }{% \expandafter \ltx@LocalAppendToMacro\csname Z@R@#1\expandafter\endcsname \expandafter{% \csname url\ifZREF@xr@urluse use\fi \expandafter\endcsname\expandafter{\ZREF@xr@url}% }% }% }{% }% }% \endinput %% %% End of file `zref-xr.sty'.