
Hay numerosas preguntas en este sitio (y en otros lugares de la web) sobre cómo definir $TEXINPUTS y otras estrategias para incluir ubicaciones no estándar para que TeX busque. Véanse, por ejemplo, las discusiones aquí, aquí (para texmaker), aquí (para Texstudio), aquí, aquí (para MikTeX), aquí (para TeXShop), aquí (macOS), o aquí. De todas esas discusiones (muchas explicaciones útiles enterradas en los comentarios) deduzco que hay muchas formas diferentes de definir la variable y que depende del sistema operativo, la distribución de TeX y el programa qué funcionará y qué no.
Estoy en macOS y uso TeXShop. Tengo una ubicación ~/custompath/input/
con un montón de subcarpetas para graphics
, figures
etc., a las que me gustaría que TeX acceda sin tener que especificar rutas explícitas (lo cual sé que puedo hacer a través de \def\input@path{...}
).
Temporalmente, aprendí que puedo definir la variable a través de la línea de comando con
export TEXINPUTS=.:~/custompath/input//:
Una solución más permanente debería ser agregar TEXINPUTS = .:~/custompath/input//:
a
~/.bashrc
o
/usr/local/texlive/YYYY/texmf.cnf
El primer método (a través de export TEXINPUTS=.:~/custompath/input//:
) funciona como se esperaba cuando lo ejecuto pdflatex
desde la misma ventana de línea de comando. Entiendo que, dado que es temporal, no puedo esperar que esto funcione en TeXShop.
Pero no logro que ninguno de los otros métodos funcione. Colocar la línea mágica ~/.bashrc
no tiene ningún efecto.
Cuando lo agrego texmf.cnf
, puedo ejecutarlo desde la línea de comando
kpsexpand '$TEXINPUTS'
y eso regresa. .:~/custompath/input//:
Sin embargo, la compilación (nuevamente desde la línea de comando pdflatex ~/custompath/testing.tex
) me da:
`! LaTeX Error: File `testinput.tex' not found.`
Y no hace falta decir que nada funciona en TeXShop.
¿Existe una forma segura de definir una ubicación adicional para buscar en TeX que siempre funcione, sin importar si invoco LaTeX desde la línea de comandos, usando TeXShop u otra interfaz? Mi corazonada es que la respuesta es no, pero tal vez alguien pueda explicar cómo hacerlo funcionar para diferentes sistemas/instalaciones/front-ends. (Estoy particularmente interesado en TeXShop, por supuesto, pero parece que las personas en otras plataformas frecuentemente tienen problemas similares, por lo que tal vez valga la pena tener una respuesta autorizada para todos los escenarios...).
MWE por lo que vale, con testinput.tex
en ~/custompath/input/figures/project1/
:)
\documentclass{article}
\begin{document} test document \par
\input{testinput.tex}
%\input{~/custompath/input/figures/project1/testinput.tex} %
\end{document}