rmarkdown:pandoc:未找到pdflatex

时间:2014-02-27 22:30:18

标签: r macos pandoc pdflatex r-markdown

当我使用渲染{rmarkdown}从我的Mac上的.Rmd文件生成pdf文件时,会显示一条错误消息

pandoc: pdflatex not found. pdflatex is needed for pdf output. Error: pandoc document conversion failed

但是当我用

检查时
pdflatex -v

我得到了

pdfTeX 3.1415926-2.4-1.40.13 (TeX Live 2012)
kpathsea version 6.1.0
Copyright 2012 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
There is NO warranty.  Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
Compiled with libpng 1.5.10; using libpng 1.5.10
Compiled with zlib 1.2.7; using zlib 1.2.7
Compiled with xpdf version 3.03

pdflatex安装在我的机器上。

任何人都可以帮忙告诉我如何告诉R在哪里找到pdflatex?

非常感谢!

7 个答案:

答案 0 :(得分:31)

This answer on TexExchange might help

我升级到OS X Mavericks后发现我遇到pdflatex“丢失”的问题(例如,在检查RStudio中的包构建时,我收到了error tools::texi2pdf pdflatex missing消息)。

  1. 检查/usr/texbin是否存在 在终端:

    cd /usr/texbin
    
  2. 如果“没有此类文件或目录”,则需要创建指向安装的texbin的符号链接。我在/Library/TeX/Distributions/.DefaultTeX/Contents/Programs/texbin 在终端:

    ln -s /Library/TeX/Distributions/.DefaultTeX/Contents/Programs/texbin /usr/texbin
    
  3. 在终端中,检查echo $PATH的结果。确保/usr/texbin存在。如果不存在,则需要将/usr/texbin添加到PATH变量中。

  4. 如果您发现自己不得不使用PATH变量,安装最新版本的MacTex可能是更好的解决方案。

    更新:OS X 10.11 El Capitan不再允许写入/usr,因此最新版本的MacTeX(2015)现在会将链接写入/Library/TeX/texbin而不是{{ 1}}在这个系统上。

答案 1 :(得分:31)

对于使用ubuntu而被困在这里的人来说,更好的选择(因为它的大小是1/5)是使用:

sudo apt-get install texlive-latex-base

我通过https://tex.stackexchange.com/a/128309找到了

答案 2 :(得分:17)

对于那些使用Dunk的答案(对于使用UBUNTU的人),如果出现Font <font> at <size> not loadable: Metric (TFM) file not found.错误,您还需要:

sudo apt-get install texlive-fonts-recommended texlive-latex-recommended

遗憾的是,这大大扩展了texlive安装的大小,但它仍然是texlive-latex-extra安装大小的一半。

答案 3 :(得分:7)

对于那些滞留在这里的人,因为同样的错误出现在他们的 Linux 发行版中。获取pdflatex例如通过安装Ubuntu

sudo apt-get install texlive-latex-extra

它太多的软件,但需要例如knitr(rmarkdown-pdf-compilation)

答案 4 :(得分:4)

如果您还没有安装任何Latex内容,这可能会有所帮助。

环境:macOS Sierra

  1. 来自https://tex.stackexchange.com/questions/307483/setting-up-basictex-homebrew
  2. brew cask install basictex

    1. 现在你需要找出pdflatex隐藏的位置......
    2. (env) jluc@texbin$ pwd /Library/TeX/texbin (env) jluc@texbin$ ls | grep pdfla lrwxr-xr-x 1 user wheel 6 13 Mar 10:36 pdflatex -> pdftex (env) jluc@texbin$ ls /Library/TeX/texbin/pdflatex lrwxr-xr-x 1 user wheel 6 13 Mar 10:36 /Library/TeX/texbin/pdflatex -> pdftex

      / Library / TeX / texbin / pdflatex 是我们需要的,您不能参考 pdftex 符号链接和/或使用realpath因为pandoc特别希望看到pdflatex

      1. 更新命令行以指向相应的文件。
      2. pandoc myfile.md --to=pdf -t latex -o myfile.pdf --latex-engine=/Library/TeX/texbin/pdflatex

答案 5 :(得分:0)

我遇到了类似的问题,因为我无法编织pdf文件,无法通过使用控制台中的这些命令安装和运行tinitex软件包来解决它-而不是终端

enter code here

install.packages(“ tinytex”)

tinytex :: install_tinytex()

答案 6 :(得分:0)

截至2020年(MacOS Catalina)JL Peyret的答案是最适用的。应该稍作更新,因为不建议使用Pandoc中的--latex-engine选项,而推荐使用新的--pdf-engine选项

$ brew cask install basictex
$ pandoc myfile.md --to=pdf -t latex -o myfile.pdf --pdf-engine=/Library/TeX/texbin/pdflatex