
Ich verwende openin_any = p
(in einem benutzerdefinierten festgelegt TEXMFCNF
) als zusätzliche Verteidigungslinie in einer Anwendung, die auf (teilweise) vom Benutzer bereitgestelltem LaTeX-Code ausgeführt wird. Dies hat früher einwandfrei funktioniert, aber nach dem Update auf das neueste Texlive 2020 schlägt das Erstellen praktisch aller Dokumente jetzt fehl:
/opt/texlive/bin/x86_64-linux/xelatex: Not reading from /opt/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse-generic.tex (openin_any = p).
! LaTeX3 Error: File 'xparse-generic.tex' not found.
So wie ich das verstanden habe, sollte es auch mit openin_any = p
Dateien in TEXMFDIST
einwandfreiem Zustand sein. Ist das ein Fehler oder eine beabsichtigte Änderung? Auf jeden Fall suche ich nach einer Lösung, die Zugriff auf alles in TEXMFDIST
zusätzlich zum Verzeichnis mit meiner Tex-Datei ermöglicht.
Antwort1
Dies war in der Tat ein Fehler in Texlive; nachdem ich auf der Mailingliste gefragt hatte,behoben.
Details (auch aus derMailingliste) dazu, warum genau dies passiert ist:
Mit
openin_any=p
können Sie die meisten LaTeX-Pakete normal laden. Das spezifische Problem bei xparse(-generic.tex) besteht darin, dass es einen\pdffilesize
-basierten (erweiterbaren) Test verwendet, um zu prüfen, ob eine Datei vorhanden ist, und wie ich in meiner vorherigen E-Mail sagte, schlägt \pdffilesize mit fehlopenin_any=p
:export openin_any=p && pdftex '\pdffilesize{sample2e.tex}\bye'
Und genau darum geht es im Patch von Akira-san.
Dieses „alte Verhalten“, das Sie erwähnen, besteht darin, dass bis vor einigen Monaten xparse in xparse.sty vollständig geladen wurde, wie die meisten Pakete (und wie immer funktionierten), jetzt aber in den „Loader“ (und veraltete – nicht verwendende – Schnittstellen) und den Großteil des Codes in aufgeteilt ist
xparse-generic.tex
. Da letzterer verwendet\pdffilesize
, schlägt er mit fehlopenin_any=p
.