knitr/rmarkdown/Latex:如何在两个不同的pdf文件中交叉引用图形和表格?

knitr/rmarkdown/Latex:如何在两个不同的pdf文件中交叉引用图形和表格?,latex,r-markdown,pandoc,bookdown,Latex,R Markdown,Pandoc,Bookdown,我正试图用rmarkdown的RStudio语言写一篇科学文章和相关的补充材料 很明显,BookDown是实现文件间交叉引用()的方法,但我也希望能够在另一个pdf中引用一个pdf中生成的数字 虽然随着时间的推移,我的乳胶已经生锈了,但我认为可以实现如下目标: 使用rmarkdown::render()首次编译文章tex和SuppMat tex 从命令行编译这些tex文件,以保留相应的.aux文件及其引用(此时将不会解决缺少的引用) 再次从命令行重新编译2 tex文件,此时应解析所有引用 这样做

我正试图用rmarkdown的RStudio语言写一篇科学文章和相关的补充材料

很明显,BookDown是实现文件间交叉引用()的方法,但我也希望能够在另一个pdf中引用一个pdf中生成的数字

虽然随着时间的推移,我的乳胶已经生锈了,但我认为可以实现如下目标:

  • 使用rmarkdown::render()首次编译文章tex和SuppMat tex
  • 从命令行编译这些tex文件,以保留相应的.aux文件及其引用(此时将不会解决缺少的引用)
  • 再次从命令行重新编译2 tex文件,此时应解析所有引用
  • 这样做合理吗?我是否忽略了更简单的事情? 无论如何,它要求:

    • 每个pdf文件中数字的不同编号(包括)
    • 为了防止rmarkdown破坏.aux文件(pandoc似乎不允许这样做,因此需要使用独立的latex创建aux文件)
    • 如果找到附加的.aux文件,告诉latex使用它(可能使用
      头,包括:YAML头中的
      )。我怎样才能做到这一点

    非常感谢你的帮助

    事实证明,xr软件包是一种方法:

    这是从R开始的:

    rmarkdown::render("myarticle_ms.Rmd", 
                      bookdown::pdf_book(base_format=rticles::plos_article),
                      clean=FALSE)
    
    rmarkdown::render("myarticle_SM.Rmd", 
                      bookdown::pdf_book(base_format=rticles::plos_article),
                      clean=FALSE)
    
    tinytex::pdflatex("myarticle_ms.tex", clean=FALSE)
    tinytex::pdflatex("myarticle_SM.tex", clean=FALSE)
    
    tinytex::pdflatex("myarticle_ms.tex")
    tinytex::pdflatex("myarticle_SM.tex")
    
    myarticle_ms.Rmd的YAML头中有以下内容(对应的是SuppMat文件头):


    希望它能让其他一些人的生活变得更轻松:)

    在做了一点修改后,我让它全部正常工作,但最后一步:使用当前正在编译的文件中另一个aux文件的引用…我想这已经变成了一个TeX问题…
    header-includes:
      \usepackage{xr} \externaldocument{myarticle_SM}