![Como habilitar referências inteligentes ao usar o pacote xr-hyper para produzir livros de vários volumes?](https://rvso.com/image/281499/Como%20habilitar%20refer%C3%AAncias%20inteligentes%20ao%20usar%20o%20pacote%20xr-hyper%20para%20produzir%20livros%20de%20v%C3%A1rios%20volumes%3F.png)
Estou usando xr-hyper
o pacote de @David Carlisle e smartref
o pacote de Giuseppe Bilotta para compilar um livro de vários volumes. xr-hyper
permite referências cruzadas entre diferentes volumes, conforme mostra o seguinte trecho 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
E o pacote smartref
é usado para ocultar uma parte do número da equação, conforme explicado emComo descarto uma parte de um número de equação ao fazer referência 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}})}
Infelizmente, smartref
o mecanismo está funcionando apenas dentro de um único volume. Acho que isso ocorre porque xr-hyper
o pacote lê apenas \newlabel
strings de aux
arquivos e ignora \newsmartlabel
tags escritas por, smartref
como mostra o exemplo a seguir emprestado de um aux
arquivo real:
\newlabel{ch01}{{1}{6}{Общие сведения о плазме}{chapter.4}{}}
\newsmartlabel{ch01}{{1}{1}}
Então minha pergunta é
como instruir
xr-hyper
a ler as tags\newlabel
e\newsmartlabel
?
Talvez o código apropriado possa ser incluído na nova versão do xr-hyper
pacote.