Почему Knitr не может найти framed.sty или kpsewhat?

knit('test2.rnw')


processing file: test2.rnw
  |>>>>>>>>>>>>>                                                    |  20%
  |>>>>>>>>>>>>>>>>>>>>>>>>>>                                       |  40%
label: setup (with options) 
List of 2
 $ include: logi FALSE
 $ cache  : logi FALSE

sh: kpsewhich: command not found
  |>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                          |  60%
  |>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>             |  80%
  |>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| 100%
  ordinary text without R code


output file: /Users/xxx/Desktop/R_meetup/documentation/test2.tex

Warning message:
In test_latex_pkg("framed", system.file("misc", "framed.sty", package = "knitr")) :
  unable to find LaTeX package 'framed'; will use a copy from knitr
 >

У меня OS X Lion 10.7.3.

Путь для kpsewhat:

   $ which kpsewhich
    /usr/texbin/kpsewhich


$ which pdflatex
/usr/texbin/pdflatex

Оба пути находятся в моем каталоге .bash_profile в моем каталоге home. У меня есть пакет с фреймами в моей установке Tex.

PATH=$PATH:/usr/texbin/pdflatex
PATH=$PATH:/usr/texbin/kpsewhich
export PATH

Решение

Добавление этого к моему .rprofile исправило это:

Sys.setenv("PATH" = paste(Sys.getenv("PATH"),"/usr/texbin",sep=":"))


person Maiasaura    schedule 06.03.2012    source источник
comment
каков результат kpsewhich framed.sty, если вы запустите его прямо в терминале?   -  person Yihui Xie    schedule 07.03.2012
comment
нет нет, вы должны запустить эту команду в другом месте, так как framed.sty находится в текущем каталоге   -  person Yihui Xie    schedule 07.03.2012
comment
о верно. kpsewhich framed.sty /usr/local/texlive/2011/texmf-dist/tex/latex/framed/framed.sty   -  person Maiasaura    schedule 07.03.2012
comment
Решение: добавление этого к моему .rprofile исправило: Sys.setenv("PATH" = paste(Sys.getenv("PATH"),"/usr/texbin",sep=":"))   -  person Maiasaura    schedule 07.03.2012
comment
да, это действительно решение, но мне интересно, почему R не уважает ваш профиль bash; Я помню, что это ~/.bashrc (по крайней мере, я использую этот файл для изменения моего PATH в Ubuntu), но ~/.bash_profile тоже может работать; Я не знаю   -  person Yihui Xie    schedule 07.03.2012
comment
У меня тоже именно эта проблема в OSX Sierra, но решение @Maiasaura не сработало.   -  person Nancy    schedule 22.01.2017


Ответы (2)


К вашему сведению, теперь knitr автоматически добавит /tex/texbin к PATH для Mac OS, если его еще нет в PATH.

person Yihui Xie    schedule 06.08.2013

Установка texlive-latex-extra решена для меня. Исходный ответ (https://stackoverflow.com/a/25517332/1169233) предназначен для Ubuntu, но, насколько я знаю, это должен работать дословно и на Mac OS.

person Waldir Leoncio    schedule 10.04.2015