【问题标题】:Identical rmd files create different latex files when run on two computers相同的 rmd 文件在两台计算机上运行时会创建不同的乳胶文件
【发布时间】:2019-09-05 22:07:27
【问题描述】:

当我和我的同事在各自的计算机上运行相同的 Rmd 文件时,它们会生成不同的 .tex 文件。这是一个问题,因为我的计算机生成的 tex 文件无法编译。显然,我们的计算机之间存在一些不可见的本地设置,但它可能是什么?我更新了我使用的所有 Rpackage,但无济于事。

Rmd 文件以

开头
output:
   bookdown::pdf_document2:
     keep_tex: yes
     toc: false 

我们俩都只需点击 Rstudio 中的 knit 按钮即可编译它。

tex 文件的显着差异是:

  • 不同地方的额外换行符

  • rmd 文件中被注释掉的一行 (<!-- blabla -->) 出现在我的 tex 文件中,而不是在他的文件中,但其他一些被注释掉的行都没有出现(因为它们应该出现)

  • 在表格的行尾有一个\strut 插入到我的 tex 文件中,但没有插入他的

  • 部门负责人在他的文件中读取\hypertaget{blabla},但不是我的

对于所有这些差异,我都无法在 Rmd 文件中找到任何地方,可以对此做出任何选择 - 显然在此过程中使用了一些我不知道的本地设置文件??

如果您需要更多信息,请告诉我。

编辑:我们找到了部分答案和完整解决方案,但我仍然对底层机制感兴趣。原来我使用的是旧版本的 Rstudio。 (我花了很长时间才发现这一点,因为 Rstudio 中的 check for updates 工具一直告诉我我使用的是最新版本,但这是一个单独的问题。)使用相同版本的 Rstudio 我们得到相同的结果。

【问题讨论】:

    标签: r-markdown knitr


    【解决方案1】:

    Rmdtex 的翻译有多个步骤:

    • 通过knitr提取和执行所有代码块,生成md文件。
    • md 文件通过pandoc 转换为tex

    对于大多数人来说,pandoc 与 RStudio 捆绑在一起。所以当你更新它时,你会得到一个更新的pandoc 版本。您可以使用rmarkdown::pandoc_version() 测试使用过的pandoc 版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      • 1970-01-01
      • 1970-01-01
      • 2018-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多