我有两个独立的文件夹,每个文件夹都包含 LyX 文件和所需的附件(图片……等等),我发现我需要使用 zref-xr 包在这些文件之间建立超级交叉引用(它们都不包含在另一个文件内),我不明白(或找不到答案)的是我应该在 \zexternaldocument{????} 中写什么,它应该是第二个文件夹的完整路径吗?还是别的什么?有些人提到了 .aux 文件,我不明白在哪里可以找到它。
上下文中的另一个小问题是:使用 xr 包和 hyperref 包,还是上面提到的 zref-xr 更好(或应该使用哪个)?
答案1
假设您有以下两个文件:
文件1.tex
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\pagestyle{plain}
\setcounter{page}{1234}% for the example
A sentence with a label.\phantomsection\label{file1label}%
\end{document}
文件2.tex
\documentclass{article}
\usepackage{xr}
\externaldocument{file1}
\usepackage{hyperref}
\begin{document}
A sentence with a refence to the first file (on p.~\pageref{file1label}).
Or you can \href{run:file1.pdf}{open} the file directly;
but I don't think you can't open a specific page via a \verb+\label+ command.
(Compare \href{file:///fake/absolute/path/to/file1.pdf}{this} one.)
% you need to put in your absolute path here
\end{document}
现在“处理”两个文档两次(不过这是用 Lyx 完成的)。我会先对两个文件运行:pdflatex
第一次,标签将被写入;然后当您“处理”时,它还会从中找到标签以获取正确的交叉引用。 file1.tex
file2.tex
file1.aux
file2.tex
file1.aux
我不确定您对 Lyx 文件做了什么来确保包与\label
和 \ref` 命令一起包含在内,但它们需要存在于文件中。
答案2
尝试将第二个文件的 .aux 文件放在第一个文件的目录中,然后再将其发送。(canaaerus:有些问题有简短的答案。)