여러 권의 책을 제작하기 위해 xr-hyper 패키지를 사용할 때 스마트 참조를 활성화하는 방법은 무엇입니까?

여러 권의 책을 제작하기 위해 xr-hyper 패키지를 사용할 때 스마트 참조를 활성화하는 방법은 무엇입니까?

저는 xr-hyper@David Carlisle의 패키지와 smartrefGiuseppe Bilotta의 패키지를 사용하여 여러 권의 책을 편집하고 있습니다. xr-hyper다음 코드 청크와 같이 서로 다른 볼륨 간의 상호 참조를 활성화합니다.

\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

그리고 패키지는 smartref설명된 대로 방정식 번호의 일부를 숨기는 데 사용됩니다.상호 참조할 때 방정식 번호의 일부를 어떻게 삭제합니까?

\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}})}

불행하게도 smartref메커니즘은 단일 볼륨 내에서만 작동합니다. 이는 패키지가 파일 의 문자열 xr-hyper만 읽고 실제 파일에서 빌린 다음 예제와 같이 작성된 태그를 무시하기 때문이라고 생각합니다 .\newlabelaux\newsmartlabelsmartrefaux

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

그래서 내 질문은

태그 와 태그를 xr-hyper모두 읽도록 지시하는 방법은 무엇입니까 ?\newlabel\newsmartlabel

아마도 적절한 코드가 새 버전의 xr-hyper패키지에 포함될 수 있습니다.

관련 정보