在引用的标签/页面打开另一个 pdf 文件

在引用的标签/页面打开另一个 pdf 文件

我有两个文档,分别称为 A 和 B。我想从文件 A 到文件 B 建立几个交叉引用,并通过单击超链接在相应的页面上打开文件 B。

在文件 A 的序言中,我创建了一个简短的命令来制作超链接和引用(分别地)

\usepackage{xr-hyper}
\usepackage{hyperref}
\externaldocument[B-]{B}
\newcommand{\test}[2][Seite]{\href{file:B\#page.#1}{also see in File B S.\pageref{#2}}}

举个例子,在文档中,我有……

\begin{document}
\test[11]{B-sec:aSectionInFileB}
\end{document}

... 一切正常。当我单击链接时,文件 B 会打开第 11 页,如括号 [] 中所示。

但事情是,我不想手动指定每个参考文献的页码,而是“从命令中获取\pageref”,这样对文档 B 所做的任何更改都不需要我手动更改页码。我已经尝试过将其放入\pageref{}括号 [] 中,但显然这行不通。我在这里找到了一个解决方案,但我认为它比手动操作更不方便。

是否有任何简单自动化的方法可以做到这一点?

答案1

也许是这样的?

使用\getpagerefnumber{foo}(package refcount) 将提供标签所在的页码foo。 在我看来,语法的更好方法page.3是使用page=3etc. 作为命令的可选参数的键值\testme

我认为它也应该作为指定目的地!

\documentclass{article}


\usepackage{refcount}
\usepackage{xr-hyper}
\externaldocument[B-]{B}
\usepackage{hyperref}

\newcommand{\testme}[2][B]{%
  \href[pdfnewwindow=true,page=\getpagerefnumber{#2}]{file:#1}{also see in File #1 S.\getpagerefnumber{#2}}%
}

\begin{document}
\testme{B-sec:aSectionInFileB}
\end{document}

B.tex

\documentclass{article}

\usepackage{blindtext}
\begin{document}
\blindtext[10]
\section{A section}\label{sec:aSectionInFileB}
\blindtext[10]

\end{document}

相关内容