
Ich habe fast zwei Tage damit verbracht, herauszufinden, warum mein Ubuntu-Linux-System (eigentlich zwei verschiedene Systeme) plötzlich keine .cls- und .sty-Dateien aus meiner Texlive-Distribution mehr findet. Ich hatte ursprünglich das Ubuntu-Texlive verwendet, und dort tauchte es auf. Also habe ich alle meine Texlive-Pakete gelöscht und das 2020er Texlive wie beschrieben über das TUG-Installationsskript installiert.Hier. Aber ich habe immer noch das gleiche Problem. Folgendes habe ich bisher getan:
- wenn man als Texlive-Benutzer angemeldet ist, scheint alles in Ordnung zu sein. Insbesondere
$ kpsewhich article.cls
/usr/local/texlive/2020/texmf-dist/tex/latex/base/article.cls
Aber wenn ich es mit meinem normalen Benutzernamen ausführe, erhalte ich nichts und einen Exitcode von 1.
- Wenn ich als ich oder Texlive angemeldet bin, erhalte ich Folgendes für die Variable TEXMF:
$ kpsewhich --expand-var='$TEXMF'
{{}/home/ded/.texlive2020/texmf-config,/home/ded/.texlive2020/texmf-var,/home/ded/texmf,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2020/texmf-config,!!/usr/local/texlive/2020/texmf-var,!!/usr/local/texlive/2020/texmf-dist}
was in beiden Fällen richtig aussieht.
- Ich habe die Dateiberechtigungen überprüft und alle Texlive-Dateien haben die Leseberechtigung „andere“. Nur um sicherzugehen, kann ich dies tun, wenn ich als ich selbst angemeldet bin:
$ cat $(find /usr/local/texlive/2020/texmf-dist -name article.cls | head -n 1)
und ich bekomme den Inhalt von artlicle.cls auf meinen Bildschirm angezeigt.
Ich habe ein ~/texmf-Verzeichnis und es sieht alles koscher aus. Ich habe kein ~/.texlive2020-Verzeichnis.
Ich habe kpsewhich mit verschiedenen Debug-Flags ausgeführt und kann sehen, wo es das richtige Verzeichnis durchsucht, aber trotzdem nicht den Pfad für article.cls zurückgibt. Ich sehe diese Zeile in der Ausgabe:
$ kpsewhich --debug=13 --must-exist --path=/usr/local/texlive/2020/texmf-dist// article.cls 2>~/tmp/kps-out
...
kdebug:dir_links(/usr/local/texlive/2020/texmf-dist/tex/latex/base) => 2
...
aber article.cls wird immer noch nicht angezeigt.
Ich hoffe, dass mir jemand etwas anderes vorschlagen kann, das ich ausprobieren könnte, oder eine Lösung vorschlagen kann.
Antwort1
Ok. Ich habe endlich herausgefunden, wo das Problem lag. Durch die Einstellung von TEXINPUTS in meinem Shell-Umgebungs-Setup wurden diese Verzeichnisse unter Ausschluss der Systemverzeichnisse verwendet. Nachdem ich ein Endzeichen (':') hinzugefügt hatte, funktionierte alles wie erwartet. Ich hoffe, diese Antwort hilft jemand anderem.
Nachdem ich nun das Problem kenne, ist dies eine bessere Antwort:TEXINPUTS festlegen