使用 LyX 中的 xr 包(用于交叉引用外部 LyX 文档)

使用 LyX 中的 xr 包(用于交叉引用外部 LyX 文档)

问题xr:为了引用其他独立的 LyX 文档中的项目,使用 LyX 中的包需要哪些步骤?

已采取的措施

  1. tools包(包含该xr包)已安装在 MikTeX 中。
  2. xr包已在引用文档中使用(通过添加\usepackage{xr}到引用文档的序言中)。
  3. 已在引用文档中设置指向引用文档的指针(通过添加\externaldocument{referenced.lyx}到引用文档的序言中)。
  4. 所引用文档中的标签已在使用该标签的引用文档中被交叉引用\ref

观察到的(不良)行为:LyX 编辑器中,该引用显示为“BROKEN”。PDF 输出中,应显示引用编号的位置显示为“??”。

相关链接

  1. 关于 LyX 使用组的一个帖子
  2. 关于 LyX 使用组的另一个主题

使用的软件:Windows 7 上的 LyX + MiKTeX + BibTeX

我的 Lyx/LaTeX 熟练程度: 初学者+

答案1

过去几天我一直在尝试使用xrLyX ,这篇文章及其引用的链接几乎是我能找到的所有参考资料。由于目前的答案没有完全解释 LyX 中发生了什么,我将给出使用LyX 的方法(或):xcitexrxcite

  1. \usepackage{xr}
    \externaldocument{referenced}
    

    进入参考文档 (我将称之为referencing.lyx) 的 Document->Settings 中的 LaTeX 前言中。

  2. 构建参考文档以获取referenced.aux

    您可以执行文件->导出来导出referenced.tex并运行latex以生成referenced.aux,也可以使用查看命令在 LyX 中正常构建文档。如果使用查看命令,则需要找到运行 latex 的 LyX 临时目录。此目录应为 LyXTemporary directory首选项的路径部分下列出的子目录。LyX 子目录(可能有多个,具体取决于您在会话期间打开和渲染的文档数量)的名称以 开头,lyx_tmpdir并包含名称以 开头的子目录lyx_tmpbuf。其中一个lyx_tmpbuf目录应包含referenced.aux(如果您启动新的 LyX 会话并查看referenced.lyx,应该很容易找到,因为应该没有太多额外的 LyX 目录)。(Itai,LyX 的临时目录通常位于系统临时目录中,该目录不会显示在典型的文件搜索中,所以这可能是您找不到任何.aux文件的原因)。

  3. 一旦拥有它referenced.aux,只需将其保存在与 相同的目录中referencing.lyx,LyX 在渲染时就会找到它referencing.pdf

其他使用说明:

  • LyX 本身不支持xrxcite。最初, 中的标签referenced.lyx不会作为选项出现在 LyX 的交叉引用对话框中。要引用 中的项目(referenced.lyx例如 )referenced_label1,您可以执行“插入->TeX 代码”并\ref{referenced_label1}手动输入,也可以保持referenced.lyx打开状态,右键单击要引用的标签并选择“复制为引用”,然后将其粘贴到referencing.lyx要引用的位置。

  • 由于 LyX 不支持xr,粘贴的标签将在 LyX 中显示,BROKEN:标签前面带有前缀。但是,它们仍应在生成的 pdf 中正确呈现。BROKEN:前缀只是意味着 LyX 找不到 中定义的标签referencing.lyx。解决此问题的一种方法是将其referencing.lyx作为子文档(插入 -> 文件 -> 子文档)放在 LyX 注释中。然后它的标签将显示在 LyX 中的交叉引用对话框中,但由于包含在 LyX 注释中,因此它不会在 .pdf 中呈现。

  • 粘贴的标签将出现在 LyX 的交叉引用对话框中(作为BROKEN:引用)。但不要尝试从那里引用它们,因为最终你会得到一个引用的引用。

  • 使用xcite,如果您有一个单独的.bib文件referenced.lyx(称为referenced.bib),您可以将其添加到 的参考书目referenced.bibreferencing.lyx并正常引用项目(而不是从 中复制和粘贴参考文献referenced.lyx)。然后,当您想要呈现 时referencing.pdf,将其从参考书目中删除referenced.bib。这应该会破坏 中的所有引用referencing.lyx,但仍应能被 找到xcite

  • 在搜索如何xr与 LyX 一起使用时,我看到 LyX 中提到了组合文档选项,该选项允许它将同一个临时目录用于两个 LyX 文件(在这种情况下,referenced.aux文件可以使用,referencing.lyx而不必像上面描述的那样将其放在工作目录中)。据我所知,此功能在 LyX 2.0 之前已被删除,不再是一个选项。

答案2

的文档xr告诉你如何编写

\externaldocument{referenced}

没有扩展,因为它需要查看referenced.aux而不是referenced.tex(或.lyx文件)。显然,.aux编译后的文件referenced.tex必须存在才能被查阅(与主文档位于同一文件夹中,或者在 LaTeX 可以找到的其他地方)。

相关内容