¿Cómo puedo acceder a los comandos de LaTeX desde la terminal?

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 pdflatexno 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?

Respuestas (2)

Para que los archivos binarios sean accesibles desde la línea de comandos, sus ubicaciones deben ser parte de la PATHvariable de entorno. Si haces lo siguiente

PATH=$PATH:/usr/local/texlive/2014/.../bin

(completando la ruta correcta), podrá llamar pdflatexdirectamente (así como cualquier otro programa en el mismo directorio. Para hacer que el cambio sea permanente, exportel comando en un archivo generado por el shell, como .bash_logino .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 echocomando al archivo y lo creará si no existe.

El shell busca en los directorios en el PATHorden en que aparecen, por lo que generalmente es una buena idea agregar siempre a menos PATHque 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 pdflatexruta de búsqueda de ejecutables. Para hacer esto, deberá editar el .bash_profilearchivo 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/.../binestá la ruta que escribió en su ejemplo para ejecutar pdflatex?


un aparte

whereissolo devuelve resultados de ejecutables instalados en el sistema. whichmira 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