GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Definition der TEXINPUTS-Variablen

Sie können Ihre persönlichen Dateien jederzeit in einem geeigneten Unterverzeichnis von ~/texmf ablegen; zum Beispiel Ihren persönlichen .sty Dateien hineingehen könnten

~/texmf/tex/latex/jana/

Dieser "persönliche Baum" wird immer vor den anderen Bäumen für Eingabedateien herangezogen und benötigt kein Hashing (mit texhash auch bekannt als mktexlsr ). Dies ist bei weitem die bevorzugte Methode für persönliche Eingabedateien.

Wenn Sie stattdessen irgendwo einen Ordner haben, können Sie die Variable TEXINPUTS in der Umgebung setzen, indem Sie so etwas wie

sagen
export TEXINPUTS=/path/to/the/local/folder//:

Die // bedeutet, dass TeX-Programme rekursiv in diesem Ordner suchen; der abschließende Doppelpunkt bedeutet "den Standardwert von TEXINPUTS anhängen " (was Sie nicht tun bereitstellen müssen).

Beachten Sie, dass TEXINPUTS ist normalerweise nicht gesetzt; Es nimmt einen Wert an, sobald ein TeX-Programm gestartet wird (durch Lesen eines Satzes von texmf.cnf Dateien). Wenn das Programm es jedoch in der Umgebung findet, folgt es der oben skizzierten Regel.

Wenn Sie möchten, dass das aktuelle Verzeichnis vor dem lokalen nach Eingaben durchsucht wird, dann

export TEXINPUTS=.:/path/to/the/local/folder//:

sollte die beste Wahl sein.


Die Frage fragt nach einer Definition der Umgebungsvariable TEXINPUTS:Sie steuert, wo LaTeX nach Eingabedateien sucht, der Standardwert ist:

  1. Zunächst Ihr aktuelles Verzeichnis.
  2. Zweitens die lokalen ifp-Stile, die in /ifp/latex/ und seinen Unterverzeichnissen gespeichert sind.
  3. Drittens die LaTeX-Verzeichnisse des Standardsystems, die in /usr/share/texmf/tex/latex/ und seinen Unterverzeichnissen gespeichert sind.

TEXINPUTS kann eine Liste von Pfaden enthalten. Ich verwende "xelatex" unter Windows, und in dieser Umgebung müssen Sie die einzelnen Pfadeinträge durch Semikolon trennen. Doppelpunkt wird nicht funktionieren. Wenn Sie möchten, dass LaTeX Dateien im aktuellen Ordner findet, stellen Sie sicher, dass ein "." in als einer der Einträge. Einige Quellen empfehlen vernünftigerweise, Ihren persönlichen Pfad in die vorhandene Umgebung einzufügen, ohne den Rest des Pfads zu betrachten, indem Sie ein Konstrukt wie dieses verwenden:

TEXINPUT=.;/Home/loginname/mystyles/;$TEXINPUTS

Die andere Antwort scheint sich auf das Thema der Verwendung zu beziehen (und es gibt viele Kommentare, die sagen, verwenden Sie es einfach nicht.) In meinem Fall habe ich jedoch eine Sammlung von Inhalten, die in einem entsprechend organisierten Quellverwaltungssystem gespeichert sind an das Team, das die Inhalte pflegt, aber wir müssen ein Buch aus verschiedenen Inhaltsstücken zusammenstellen. Es kommt nicht in Frage, diesen Inhalt in einen bestimmten Ordner auf dem aktuellen Computer zu legen. Wir müssen eine Möglichkeit haben, für jedes Buch festzulegen, wo alle Inhalte zu finden sind. Wir haben keine andere Möglichkeit gefunden, im Build-Skript anzugeben, wo LaTeX alle Teile des Buches finden soll.


Linux
  1. Kopieren Sie Dateien im Linux-Terminal

  2. Verschieben Sie Dateien im Linux-Terminal

  3. 5 Möglichkeiten, den Move-Befehl unter Linux zu verwenden

  4. Wie weist man die Ausgabe eines Befehls einer Shell-Variablen zu?

  5. Wie ändere ich die Erweiterung mehrerer Dateien?

Untersuchen des Linux /proc-Dateisystems

So finden Sie Dateien mit dem fd-Befehl in Linux

Sicheres Kopieren von Dateien mit dem SCP-Befehl

So verwenden Sie den Linux-Befehl find zum Suchen von Dateien

So finden Sie alle Sparse-Dateien in Linux

Was ist die Definition einer Sitzung unter Linux?