Overleaf 是否可以容纳 xr-hyper 的前缀(例如,\myexternaldocument[ext1-]{path...})

Overleaf 是否可以容纳 xr-hyper 的前缀(例如,\myexternaldocument[ext1-]{path...})

简洁版本:在 Overleaf 上使用xr或时xr-hyper,是否可以向外部文档添加前缀,以避免定义多个标签(如定义这里)?

更长的版本:我正在 Overleaf 上起草一份审查备忘录,其中引用了 Overleaf 上的手稿和附录。审查备忘录引用了其他两份文件中更正/新的图表,所以我习惯引用xr-hyper它们。毫不奇怪,由于我在审查备忘录中复制了一些图表并对其进行了标记,我遇到了“多次定义标签”的问题。通常,我只会删除审查备忘录中复制的图表标题中的标签,但理想情况下,我希望在审查备忘录中包含以下内容:

我们通过添加下面的图 XXX 来回应这条评论,该图在手稿中显示为图 YYY”

每当我尝试将审查备忘录中对外部文件的引用从更改\myexternaldocument{Manuscript}\myexternaldocument[ext-1]{Manuscript}--- 时,都会按照建议这里--- Overleaf 抛出错误label ... multiply defined.当我使用时也会发生同样的事情\externaldocument{...}。除了重新标记审查备忘录中的所有重复图形外,是否可以修改 latexmkrc 脚本(必需的使用 xr 和 xr-hyper 与 Overleaf 来适应前缀的使用?

答案1

在您的评论中,您提到您正在使用来自http://tex.stackexchange.com/a/69832, 其中有:

\newcommand*{\myexternaldocument}[1]{%
    \externaldocument{#1}%
    \addFileDependency{#1.tex}%
    \addFileDependency{#1.aux}%
}

但是这个定义只接受一个参数:没有办法将另一个可选参数传递给\externaldocument。因此,你必须将定义调整为

\newcommand*{\myexternaldocument}[2][]{%
    \externaldocument[#1]{#2}%
    \addFileDependency{#2.tex}%
    \addFileDependency{#2.aux}%
}

然后,如果您有,那么\myexternaldocument[ext-1]{Manuscript}使用应该可以工作。\ref{ext-1Fig1}\label{Fig1}Manuscript.tex

相关内容