诊断R包构建警告:"创建PDF版本时出现LaTeX错误"

Ari*_*man 46 error-handling r package

在构建包时,我收到以下警告:

* checking PDF version of manual ... WARNING
LaTeX errors when creating PDF version.
This typically indicates Rd problems.
Run Code Online (Sandbox Code Playgroud)

我不知道怎么开始诊断这个.有没有一个工具告诉我问题所在的.Rd文件是什么?

在检查文档步骤中,我没有收到有关任何Rd文件的警告....

Dir*_*tel 57

尝试R CMD Rd2pdf mypackage创建手册,并可能还设置--no-clean保留临时文件的选项.这应该允许您调试触发错误的LaTeX代码.

  • 在我的例子中,构建文档索引需要缺少`texi2dvi`; 我用`sudo apt-get install texinfo`纠正了这个问题 (23认同)
  • 这在我的书中并不完全正确.`inconsolata.sty`只是在另一个texlive字体包中:texlive-fonts-extra.我似乎也添加了`r-base-dev`包的建议. (14认同)
  • 是的,这不是最合乎逻辑的咆哮.当我寻找TexLive安装包含inconsolata的包时,我发现我没有在Ubuntu中安装texlive.当我通过软件包存储库安装它时,我意识到它已经过时了2年多.然后,我变成了一个巨大的食人魔,在互联网上发布了愚蠢的事情. (5认同)
  • 这样做了.谢谢.似乎错误是由于缺少`inconsolata.sty`文件,我将其归因于Ubuntu在其LaTeX更新方面可怕的落后.我手动安装TeX Live,希望能帮助我保持最新状态. (3认同)
  • 我花了一些时间来弄清楚,一旦你运行`R CMD Rd2pdf mypackage --no-clean`,你可以检查`mypackage.Rcheck/mypackage-manual.tex`中的Latex文件是否有错误. (2认同)

Mat*_*ert 18

虽然@Dirk的回答也帮助我解决了这个问题,但我想补充一点,这可能会对最近的更新者有所帮助.也就是说,在3.1.3更新之后还没有遇到过其他LaTeX/R问题的人.问题比仅仅建设更普遍.对我来说,在OS X上的问题是,R CMD Rd2pdf还有R CMD CHECK预计texi2dvi将在/usr/local/bin队则是/usr/bin.符号链接有助于解决问题.在终端类型上:

# to check whether the same issue exists for you
which texi2dvi
# if so
cd /usr/local/bin
ln -s /usr/bin/texi2dvi
Run Code Online (Sandbox Code Playgroud)

当然,如果第一行返回其他内容,则需要在此处调整符号链接.

  • 对于我在Linux Mint 17.1(基于Ubuntu 14.04)上,我需要`texinfo`,而不是`texi2dvi`.感谢您的提示和[this](http://stackoverflow.com/questions/17652698/texi2dvi-command-not-found)问题教我模拟! (2认同)

von*_*njd 5

从评论和我自己的经验得出结论,问题通常似乎是某些TeX字体丢失了,大多数情况下

  • inconsolata.sty
  • upquote.sty

首先,您必须找到存储TeX字体的正确目录-在我的情况下是:

C:\Program Files\R\R-3.3.0\share\texmf\tex\latex
Run Code Online (Sandbox Code Playgroud)

然后,您可以在此处下载它们:

只需将它们复制到相应的文件夹中,在许多情况下,问题就可以解决(在我的情况下也是这样)。这应该适用于所有操作系统。


hac*_*ckR 5

...另一个原因是你还没有安装MikTex。

  1. 从此处下载 MikTex并按照对话框提示进行安装。我发现默认值是合理的并且对我来说效果很好。

  2. 尝试再次构建您的 R 包。现在应该可以了。