¿Cómo habilitar referencias inteligentes cuando se utiliza el paquete xr-hyper para producir libros de varios volúmenes?

¿Cómo habilitar referencias inteligentes cuando se utiliza el paquete xr-hyper para producir libros de varios volúmenes?

Estoy usando xr-hyperel paquete de @David Carlisle y smartrefel paquete de Giuseppe Bilotta para compilar un libro de varios volúmenes. xr-hyperpermite referencias cruzadas entre diferentes volúmenes como se muestra en el siguiente fragmento de código:

\newcommand{Volume}{1}% put this is PlasmaBook1.tex 

% This is the code shared by all volumes
\usepackage{xr-hyper}
\usepackage{hyperref}

\ifnum\Volume=1
    \externaldocument{PlasmaBook2}
    \externaldocument{PlasmaBook3}
\else\ifnum\Volume=2
    \externaldocument{PlasmaBook1}
    \externaldocument{PlasmaBook3}
\else\ifnum\Volume=3
    \externaldocument{PlasmaBook1}
    \externaldocument{PlasmaBook2}
\fi\fi\fi

Y el paquete smartrefse utiliza para ocultar una parte del número de ecuación como se explica en¿Cómo descarto una parte de un número de ecuación cuando hago una referencia cruzada?

\usepackage{smartref}
\addtoreflist{chapter}
\newcommand*{\srefaux}[1]{%
    \ischapterchanged{#1}% checks if section number has changed
    \ifchapterchanged% if current chapter is different
        \chapterref{#1}.% put the section reference
    \fi% else do nothing
    \ref*{#1}%  <- we changed this to ref*
}

\makeatletter
\renewcommand \theequation {\@arabic\c@equation}
\renewcommand \thefigure   {\@arabic\c@figure}
\renewcommand \thetable    {\@arabic\c@table}
\makeatother

\newcommand*\sref[1]{\hyperref[#1]{\srefaux{#1}}}
\newcommand*\seqref[1]{(\hyperref[#1]{\srefaux{#1}})}

Desafortunadamente, smartrefel mecanismo funciona sólo dentro de un único volumen. Creo que esto se debe a que xr-hyperel paquete solo lee \newlabelcadenas de auxarchivos e ignora \newsmartlabellas etiquetas escritas por, smartrefcomo muestra el siguiente ejemplo tomado de un auxarchivo real:

\newlabel{ch01}{{1}{6}{Общие сведения о плазме}{chapter.4}{}}
\newsmartlabel{ch01}{{1}{1}}

Entonces mi pregunta es

¿Cómo dar instrucciones xr-hyperpara leer ambas etiquetas \newlabely ?\newsmartlabel

Quizás se podría incluir el código apropiado en la nueva versión del xr-hyperpaquete.

información relacionada