Как правильно определить TEXINPUTS

Как правильно определить TEXINPUTS

На этом сайте (и в других местах в сети) есть множество вопросов о том, как определить $TEXINPUTS и другие стратегии для включения нестандартных местоположений для поиска TeX. См., например, обсуждения здесь, здесь (для texmaker), здесь (для Texstudio), здесь, здесь (для MikTeX), здесь (для TeXShop), здесь (macOS), или здесь. Из всех этих обсуждений (множество полезных объяснений, зарытых в комментариях) я понял, что существует множество различных способов определения переменной и что то, что будет работать, а что нет, зависит от операционной системы, дистрибутива TeX и программы.

Я работаю на macOS и использую TeXShop. У меня есть местоположение ~/custompath/input/с кучей подпапок для graphicsи figuresт. д., к которым я хотел бы, чтобы TeX имел доступ без указания явных путей (что, как я знаю, можно сделать через \def\input@path{...}).

Временно я узнал, что можно определить переменную через командную строку с помощью

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

Более постоянным решением должно быть добавление TEXINPUTS = .:~/custompath/input//:либо к

~/.bashrc

или

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

Первый метод (через export TEXINPUTS=.:~/custompath/input//:) работает как и ожидалось, когда я запускаю pdflatexиз того же окна командной строки. Я понимаю, что поскольку это временно, я не могу ожидать, что это будет работать в TeXShop.

Но мне не удаётся заставить работать ни один из других методов. Вставка магической линии ~/.bashrcне даёт никакого эффекта.

Когда я добавлю его в texmf.cnf, тогда я смогу запустить из командной строки

kpsexpand '$TEXINPUTS'

и это действительно возвращает .:~/custompath/input//:
Однако компиляция (снова из командной строки pdflatex ~/custompath/testing.tex) дает мне:

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

И, само собой разумеется, из TeXShop ничего не работает.

Есть ли надежный способ определить дополнительное местоположение для поиска TeX, который будет работать всегда, независимо от того, вызываю ли я LaTeX из командной строки, используя TeXShop или другой интерфейс? По моим догадкам, ответ — нет, но, возможно, кто-то сможет объяснить, как заставить его работать для разных систем/установок/интерфейсов. (Меня особенно интересует TeXShop, конечно, но, похоже, люди на других платформах часто сталкиваются с похожими проблемами, так что, возможно, стоит иметь авторитетный ответ для всех сценариев...).

MWE, чего бы это ни стоило, testinput.texс ~/custompath/input/figures/project1/:)

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

Связанный контент