Como definir corretamente TEXINPUTS

Como definir corretamente TEXINPUTS

Existem inúmeras perguntas neste site (e em outros lugares na web) sobre como definir $TEXINPUTS e outras estratégias para incluir locais não padrão a serem pesquisados ​​pelo TeX. Veja, por exemplo, as discussões aqui, aqui (para texmaker), aqui (para Textstudio), aqui, aqui (para MikTeX), aqui (para TeXShop), aqui (macOS), ou aqui. De todas essas discussões (muitas explicações úteis enterradas nos comentários), concluo que existem muitas maneiras diferentes de definir a variável e que isso depende do sistema operacional, da distribuição do TeX e do programa, o que funcionará e o que não funcionará.

Estou no macOS e uso o TeXShop. Eu tenho um local ~/custompath/input/com várias subpastas para graphics, figuresetc., que gostaria que o TeX acessasse sem precisar especificar caminhos explícitos (o que sei que posso fazer via \def\input@path{...}).

Temporariamente, aprendi que posso definir a variável via linha de comando com

export TEXINPUTS=.:~/custompath/input//:

Uma solução mais permanente deveria ser TEXINPUTS = .:~/custompath/input//:adicionar

~/.bashrc

ou

 /usr/local/texlive/YYYY/texmf.cnf

O primeiro método (via export TEXINPUTS=.:~/custompath/input//:) funciona conforme o esperado quando executo pdflatexna mesma janela de linha de comando. Entendo que, por ser temporário, não posso esperar que funcione no TeXShop.

Mas não consigo fazer nenhum dos outros métodos funcionar. Colocar a linha mágica ~/.bashrcnão tem nenhum efeito.

Quando eu adiciono texmf.cnf, posso executar a partir da linha de comando

kpsexpand '$TEXINPUTS'

e isso retorna. .:~/custompath/input//:
No entanto, compilar (novamente na linha de comando pdflatex ~/custompath/testing.tex) me dá:

`! LaTeX Error: File `testinput.tex' not found.`

E, nem é preciso dizer que nada funciona no TeXShop.

Existe uma maneira à prova de balas para definir um local adicional a ser pesquisado pelo TeX que sempre funcionará, não importa se eu estou invocando o LaTeX na linha de comando, usando o TeXShop ou outro front end? Meu palpite é que a resposta é não, mas talvez alguém possa explicar como fazê-lo funcionar para diferentes sistemas/instalações/front-ends. (Estou particularmente interessado no TeXShop, é claro, mas parece que as pessoas em outras plataformas frequentemente enfrentam problemas semelhantes, então talvez valha a pena ter uma resposta confiável para todos os cenários...).

MWE pelo que vale, com testinput.texpelo ~/custompath/input/figures/project1/:)

\documentclass{article}
\begin{document} test document \par
\input{testinput.tex}
%\input{~/custompath/input/figures/project1/testinput.tex} % 
\end{document}

informação relacionada