TEXINPUTS를 올바르게 정의하는 방법

TEXINPUTS를 올바르게 정의하는 방법

이 사이트(및 웹의 다른 곳)에는 $TEXINPUTS 및 TeX에서 검색할 비표준 위치를 포함하기 위한 기타 전략을 정의하는 방법에 대한 수많은 질문이 있습니다. 예를 들어 토론을 참조하십시오. 여기, 여기 (texmaker의 경우), 여기 (Texstudio의 경우), 여기, 여기 (MikTeX의 경우), 여기 (TeXShop의 경우), 여기(macOS), 또는 여기. 모든 토론(댓글에 묻혀 있는 많은 유용한 설명)에서 저는 변수를 정의하는 방법이 다양하고 운영 체제, TeX 배포판 및 프로그램에 따라 작동하고 작동하지 않는 방법이 다르다는 사실을 수집했습니다.

저는 macOS를 사용하고 있으며 TeXShop을 사용합니다. 에 등 ~/custompath/input/의 하위 폴더가 있는 위치가 있는데 , 명시적인 경로를 지정하지 않고도 TeX에 액세스할 수 있기를 바랍니다(를 통해 수행할 수 있음을 알고 있음 ).graphicsfigures\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에서는 아무 것도 작동하지 않습니다.

TeXShop 또는 다른 프런트 엔드를 사용하여 명령줄에서 LaTeX를 호출하더라도 항상 작동하는 TeX에서 검색할 추가 위치를 정의하는 방탄 방법이 있습니까? 내 직감으로는 대답은 '아니오'입니다. 하지만 누군가가 다른 시스템/설치/프런트 엔드에서 작동하도록 하는 방법을 설명할 수 있을 것입니다. (물론 저는 특히 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}

관련 정보