在构建包时,我收到以下警告:
* checking PDF version of manual ... WARNING LaTeX errors when creating PDF version. This typically indicates Rd problems.
我甚至不知道如何开始诊断这个问题。有没有一个工具可以告诉我问题在哪个.Rd文件中?在检查文档的步骤中,我没有收到任何关于Rd文件的警告......
cngwdvgl1#
尝试使用R CMD Rd2pdf mypackage创建手册,也可以设置--no-clean选项来保留临时文件,这样可以调试触发错误的LaTeX代码。
R CMD Rd2pdf mypackage
--no-clean
sycxhyv72#
虽然@Dirk的回答也帮助我解决了这个问题,但我想补充一点,这可能特别有助于最近的更新者。也就是说,那些在更新到3.1.3后还没有遇到其他LaTeX / R问题的人。这个问题比构建更普遍。对我来说,在OS X上,问题是R CMD Rd2pdf和R CMD CHECK预期texi2dvi在/usr/local/bin中,而它在/usr/bin中。符号链接帮助解决了该问题。在终端类型上:
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
当然,如果第一行返回了其他内容,则需要修改这里的符号链接。
am46iovg3#
从评论和我自己的经验得出结论,问题往往似乎是一些TeX字体丢失,最常见的
inconsolata.sty
upquote.sty
首先,你必须找到正确的目录存储TeX字体-在我的情况下,这是:
C:\Program Files\R\R-3.3.0\share\texmf\tex\latex
然后您可以在这里下载:
只要将它们复制到相应的文件夹中,在许多情况下问题就会得到解决(我的情况也是如此)。这应该适用于所有操作系统。
kt06eoxx4#
...另一个原因是您尚未安装MikTex。1.从here下载MikTex并按照对话框提示进行安装。我发现默认设置是合理的,对我来说效果很好。1.尝试重新构建您的R包。现在应该可以了。
ca1c2owp5#
如果你在Ubuntu上,只需通过以下命令安装Tex Live:apt-get install texlive并重新启动Rstudo(如果使用)。
apt-get install texlive
v8wbuo2f6#
在我的例子中,运行devtools::check()和devtools::document()时都没有错误,但运行R CMD check mypackage_version.tar.gz时出现错误:
devtools::check()
devtools::document()
R CMD check mypackage_version.tar.gz
* checking PDF version of manual ... WARNING LaTeX errors when creating PDF version. This typically indicates Rd problems. LaTeX errors found: * checking PDF version of manual without hyperrefs or index ... ERROR
在RStudio Community中的这个问题中,他们指出LATEX安装有问题。我在R markdown cookbook中有建议的LATEX安装:我通过在R控制台中运行修复了这个问题
tinytex::latexmk(file = "../mypackage.Rcheck/mypackage-manual.tex")
这个命令自动更新了我的LATEX安装,所以输出文件mypackage-manual.pdf被创建了。在此之后,我在运行R CMD check时没有得到任何其他与PDF相关的错误:
R CMD check
* checking PDF version of manual ... OK * DONE
qncylg1j7#
首先,@dirk-eddelbuettel的approach in the current question标识了丢失的tex包(在我的例子中是“makeindex”)。
system("R CMD Rd2pdf --no-preview --output=./documentation-peek.pdf ." ) # ... <omitted pages of output> ... # Warning in sys2(makeindex, shQuote(idxfile)) : '"makeindex"' not found # Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet, : # unable to run 'makeindex' on 'Rd2.idx' # Error in running tools::texi2pdf()
然后,https://stackoverflow.com/a/69968791/1082435中的@pedro-lima的答案对我的具体情况有效。
tinytex::tlmgr_install("makeindex")
7条答案
按热度按时间cngwdvgl1#
尝试使用
R CMD Rd2pdf mypackage
创建手册,也可以设置--no-clean
选项来保留临时文件,这样可以调试触发错误的LaTeX代码。sycxhyv72#
虽然@Dirk的回答也帮助我解决了这个问题,但我想补充一点,这可能特别有助于最近的更新者。也就是说,那些在更新到3.1.3后还没有遇到其他LaTeX / R问题的人。这个问题比构建更普遍。对我来说,在OS X上,问题是
R CMD Rd2pdf
和R CMD CHECK
预期texi2dvi
在/usr/local/bin
中,而它在/usr/bin
中。符号链接帮助解决了该问题。在终端类型上:当然,如果第一行返回了其他内容,则需要修改这里的符号链接。
am46iovg3#
从评论和我自己的经验得出结论,问题往往似乎是一些TeX字体丢失,最常见的
inconsolata.sty
和upquote.sty
首先,你必须找到正确的目录存储TeX字体-在我的情况下,这是:
然后您可以在这里下载:
只要将它们复制到相应的文件夹中,在许多情况下问题就会得到解决(我的情况也是如此)。这应该适用于所有操作系统。
kt06eoxx4#
...另一个原因是您尚未安装MikTex。
1.从here下载MikTex并按照对话框提示进行安装。我发现默认设置是合理的,对我来说效果很好。
1.尝试重新构建您的R包。现在应该可以了。
ca1c2owp5#
如果你在Ubuntu上,只需通过以下命令安装Tex Live:
apt-get install texlive
并重新启动Rstudo(如果使用)。v8wbuo2f6#
在我的例子中,运行
devtools::check()
和devtools::document()
时都没有错误,但运行R CMD check mypackage_version.tar.gz
时出现错误:在RStudio Community中的这个问题中,他们指出LATEX安装有问题。我在R markdown cookbook中有建议的LATEX安装:我通过在R控制台中运行修复了这个问题
这个命令自动更新了我的LATEX安装,所以输出文件mypackage-manual.pdf被创建了。在此之后,我在运行
R CMD check
时没有得到任何其他与PDF相关的错误:qncylg1j7#
首先,@dirk-eddelbuettel的approach in the current question标识了丢失的tex包(在我的例子中是“makeindex”)。
然后,https://stackoverflow.com/a/69968791/1082435中的@pedro-lima的答案对我的具体情况有效。