Acabo de instalar MacTeX en Yosemite e instaló todo enusr/local/texlive
Sin embargo, si estoy en Terminal e intento compilar un archivo LaTeX con pdflatex foo.tex
, no puede encontrar las herramientas LaTeX. Además whereis pdflatex
no devuelve resultados.
Si especifico la ruta completa de pdflatex
(por ejemplo, /usr/local/texlive/2014/.../bin/pdflatex
) todo funciona bien.
¿Cómo puedo hacer que las herramientas de LaTeX funcionen desde la terminal sin especificar la ruta completa?
Para que los archivos binarios sean accesibles desde la línea de comandos, sus ubicaciones deben ser parte de la PATH
variable de entorno. Si haces lo siguiente
PATH=$PATH:/usr/local/texlive/2014/.../bin
(completando la ruta correcta), podrá llamar pdflatex
directamente (así como cualquier otro programa en el mismo directorio. Para hacer que el cambio sea permanente, export
el comando en un archivo generado por el shell, como .bash_login
o .profile
(suponiendo que use bash). Utilice un editor o ejecute
echo "export PATH=$PATH:/usr/local/texlive/2014/.../bin" >> ~/.bash_login
Lo que agregará la salida del echo
comando al archivo y lo creará si no existe.
El shell busca en los directorios en el PATH
orden en que aparecen, por lo que generalmente es una buena idea agregar siempre a menos PATH
que sepa exactamente qué hay en el directorio agregado. Puede contener otros ejecutables con el mismo nombre que otros programas que ya están en el archivo PATH
. Tener estos sombreados a veces puede llevar a sorpresas.
Para que las herramientas de LaTeX se ejecuten desde la línea de comandos, debe agregar la ruta a su pdflatex
ruta de búsqueda de ejecutables. Para hacer esto, deberá editar el .bash_profile
archivo en su directorio de inicio. Abra el archivo en un editor de texto sin formato (por ejemplo, vi, emacs, bbedit) y agregue esta línea en la parte inferior:
PATH=/usr/local/texlive/2014/.../bin:$PATH
¿Dónde /usr/local/texlive/2014/.../bin
está la ruta que escribió en su ejemplo para ejecutar pdflatex?
un aparte
whereis
solo devuelve resultados de ejecutables instalados en el sistema. which
mira en todo el camino. por ejemplo en mi máquina:
~ 503 🎵 whereis ruby
/usr/bin/ruby
~ 504 🎵 which ruby
/Users/steve/.rvm/rubies/ruby-2.1.2/bin/ruby