
Auf dieser Site (und anderswo im Web) gibt es zahlreiche Fragen zur Definition von $TEXINPUTS und anderen Strategien zum Einbeziehen nicht standardmäßiger Orte, die von TeX durchsucht werden sollen. Siehe beispielsweise die Diskussionen Hier, hier (für Texmaker), hier (für Texstudio), Hier, hier (für MikTeX), hier (für TeXShop), hier (macOS), oder Hier. Aus all diesen Diskussionen (viele hilfreiche Erklärungen sind in den Kommentaren vergraben) entnehme ich, dass es viele verschiedene Möglichkeiten gibt, die Variable zu definieren, und dass es vom Betriebssystem, der TeX-Distribution und dem Programm abhängt, was funktioniert und was nicht.
Ich verwende macOS und TeXShop. Ich habe einen Speicherort unter ~/custompath/input/
mit einer Reihe von Unterordnern für usw. graphics
, figures
auf die TeX zugreifen soll, ohne explizite Pfade angeben zu müssen (was ich über tun kann \def\input@path{...}
).
Vorübergehend habe ich gelernt, dass ich die Variable über die Kommandozeile definieren kann mit
export TEXINPUTS=.:~/custompath/input//:
Eine dauerhaftere Lösung sollte darin bestehen, TEXINPUTS = .:~/custompath/input//:
entweder
~/.bashrc
oder
/usr/local/texlive/YYYY/texmf.cnf
Die erste Methode (über export TEXINPUTS=.:~/custompath/input//:
) funktioniert wie erwartet, wenn ich sie pdflatex
aus demselben Befehlszeilenfenster ausführe. Ich verstehe, dass ich nicht erwarten kann, dass dies in TeXShop funktioniert, da es sich um eine temporäre Methode handelt.
Aber ich schaffe es nicht, eine der anderen Methoden zum Laufen zu bringen. Das Einfügen der magischen Linie ~/.bashrc
hat überhaupt keine Wirkung.
Wenn ich es hinzufüge texmf.cnf
, kann ich es von der Befehlszeile aus ausführen
kpsexpand '$TEXINPUTS'
und das gibt zurück. .:~/custompath/input//:
Das Kompilieren (erneut von der Befehlszeile aus pdflatex ~/custompath/testing.tex
) gibt mir jedoch Folgendes:
`! LaTeX Error: File `testinput.tex' not found.`
Und natürlich funktioniert mit TeXShop nichts.
Gibt es eine todsichere Methode, einen zusätzlichen Ort zu definieren, an dem TeX suchen soll und die immer funktioniert, egal, ob ich LaTeX über die Befehlszeile aufrufe, TeXShop oder ein anderes Frontend verwende? Ich vermute, die Antwort lautet nein, aber vielleicht kann jemand erklären, wie man es für verschiedene Systeme/Installationen/Frontends zum Laufen bringt. (Ich bin natürlich besonders an TeXShop interessiert, aber es scheint, dass Leute auf anderen Plattformen häufig auf ähnliche Probleme stoßen, also ist es vielleicht sinnvoll, eine verbindliche Antwort für alle Szenarien zu haben ...).
MWE, was auch immer es wert ist, mit testinput.tex
at ~/custompath/input/figures/project1/
:)
\documentclass{article}
\begin{document} test document \par
\input{testinput.tex}
%\input{~/custompath/input/figures/project1/testinput.tex} %
\end{document}