Я только что установил MacTeX на Yosemite, и он установил все вusr/local/texlive
Однако, если я нахожусь в терминале и пытаюсь скомпилировать файл LaTeX с помощью pdflatex foo.tex
, он не может найти инструменты LaTeX. Дальнейшее whereis pdflatex
не возвращает никаких результатов.
Если я укажу весь путь pdflatex
(например, /usr/local/texlive/2014/.../bin/pdflatex
), все будет работать хорошо.
Как я могу заставить инструменты LaTeX работать с терминала, не указывая весь путь?
Чтобы двоичные файлы были доступны из командной строки, их расположение должно быть частью PATH
переменной среды. Если вы сделаете следующее
PATH=$PATH:/usr/local/texlive/2014/.../bin
(указав правильный путь), вы сможете вызывать pdflatex
напрямую (а также любую другую программу в том же каталоге. Чтобы сделать изменение постоянным, export
команда в файле, полученном из оболочки, например .bash_login
или .profile
(при условии, что вы используете bash). Либо используйте редактор, либо запустите
echo "export PATH=$PATH:/usr/local/texlive/2014/.../bin" >> ~/.bash_login
Что добавит вывод команды echo
в файл и создаст его, если он не существует.
Оболочка ищет каталоги в том PATH
порядке, в котором они перечислены, поэтому обычно рекомендуется всегда добавлять к , PATH
если вы точно не знаете, что находится в добавленном каталоге. Он может содержать другие исполняемые файлы с тем же именем, что и у других программ, которые уже находятся в PATH
. Их затенение иногда может привести к сюрпризам.
Чтобы инструменты LaTeX запускались из командной строки, вам нужно добавить путь к вашему pdflatex
исполняемому пути поиска. Для этого вам нужно отредактировать .bash_profile
файл в вашем домашнем каталоге. Откройте файл в обычном текстовом редакторе (например, vi, emacs, bbedit) и добавьте эту строку внизу:
PATH=/usr/local/texlive/2014/.../bin:$PATH
где /usr/local/texlive/2014/.../bin
путь, который вы ввели в своем примере, чтобы запустить pdflatex.
В стороне
whereis
возвращает результаты только из установленных в системе исполняемых файлов. which
смотрит на весь путь. например на моей машине:
~ 503 🎵 whereis ruby
/usr/bin/ruby
~ 504 🎵 which ruby
/Users/steve/.rvm/rubies/ruby-2.1.2/bin/ruby