web-dev-qa-db-fra.com

rmarkdown: pandoc: pdflatex introuvable

Lorsque j'utilise le render {rmarkdown} pour générer un fichier pdf à partir d'un fichier .Rmd sur mon Mac, un message d'erreur indique

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

Cependant, quand je vérifie avec

pdflatex -v

J'ai eu

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

Le pdflatex est installé dans ma machine.

Quelqu'un peut-il aider à dire comment puis-je dire à R où trouver le pdflatex?

Merci beaucoup!

52
askming

Cette réponse sur TexExchange pourrait aider .

J'ai découvert que j’avais des problèmes avec pdflatex "manquant" après la mise à niveau vers OS X Mavericks (par exemple, lors de la vérification des versions de paquet dans RStudio, j’obtenais un error tools::texi2pdf pdflatex missing message).

  1. Regarde ça /usr/texbin existe.
    En terminal:

    cd /usr/texbin
    
  2. Si "Aucun fichier ou répertoire de ce type" n'existe, vous devrez créer un lien symbolique vers la texbin de votre installation. Le mien était à /Library/TeX/Distributions/.DefaultTeX/Contents/Programs/texbin
    En terminal:

    ln -s /Library/TeX/Distributions/.DefaultTeX/Contents/Programs/texbin /usr/texbin
    
  3. En terminal, vérifiez le résultat de echo $PATH. Sois sûr que /usr/texbin est présent. S'il n'est pas présent, vous devez ajouter /usr/texbin à votre variable PATH.

Si vous devez jouer avec la variable PATH, l'installation de la dernière version de MacTex peut constituer une meilleure solution.

UPDATE: OS X 10.11 El Capitan n'autorise plus les écritures sur /usr donc la dernière version de MacTeX (2015) écrit maintenant un lien vers /Library/TeX/texbin au lieu de /usr/texbin sur ce système.

31
Eric

Pour ceux qui utilisent Ubuntu et qui sont bloqués ici, une meilleure option (car elle fait 1/5 de la taille) est d'utiliser:

Sudo apt-get install texlive-latex-base

Ce que j'ai trouvé via https://tex.stackexchange.com/a/128309

33
Dunk

Pour ceux qui utilisent la réponse de Dunk (Pour les personnes utilisant UBUNTU) qui obtiennent une erreur Font <font> at <size> not loadable: Metric (TFM) file not found., vous devez également:

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

Malheureusement, cela augmente considérablement la taille de l’installation de texlive, mais c’est toujours environ la moitié de la taille d’un texlive-latex-extra installer.

17

Pour les personnes qui sont bloquées ici parce que la même erreur se produit dans leur distribution Linux. Obtenez pdflatex dans, par exemple Ubuntu en installant

Sudo apt-get install texlive-latex-extra

c'est trop de logiciel, mais nécessaire par exemple par knitr (rmarkdown-pdf-compilation)

7
dmeu

Cela pourrait aider un peu si vous n'avez pas encore installé de matériel Latex.

env: macOS Sierra

  1. à partir de https://tex.stackexchange.com/questions/307483/setting-up-basictex-homebrew

brew cask install basictex

  1. Vous devez maintenant savoir où se cache pdflatex ...

(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 est ce dont nous avons besoin, vous ne pouvez pas vous référer à la pdftex symlink et/ou utiliser realpath car pandoc veut spécifiquement voir pdflatex

  1. mettez à jour votre ligne de commande pour pointer vers le fichier approprié.

pandoc myfile.md --to=pdf -t latex -o myfile.pdf --latex-engine=/Library/TeX/texbin/pdflatex

6
JL Peyret