Die Einstellung openin_any aus texmf.cnf (oder der Umgebungsvariable
gleichen Namens) kontrolliert, aus welchen Pfaden (PDF)LaTeX
Quelldateien liest: a = any liest aus beliebigen Verzeichnissen, r =
restricted nicht aus Dot-Verzeichnissen und p = paranoid nur aus
dem Ausgabeverzeichnis und seinen Unterverzeichnissen.
Bei kivitendo ist das Ausgabeverzeichnis …/users, die Vorlagen liegen
in …/templates/…, sind also keine Unterverzeichnisse. Aktuelle
LaTeX-Versionen (zumindest ab TeXLive 2019.5…) wenden das nun strikt
an, was dazu führt, dass z.B. das Einbinden von Bildern nicht möglich
ist, wenn die Bilder in …/templates/… anstelle von …/users liegen —
sogar obwohl …/templates/… in $TEXINPUTS enthalten ist.
An dieser Stelle ist zu viel Sicherheit falsch bzw. für unser
aktuelles Layout falsch.
Eine andere mögliche Variante wäre, die LaTeX-Abhandlung direkt in
…/templates anstelle von …/users uz machen. Das erfordert aber
potenziell Eingriff durch den SysAdmin, um Verzeichnisrechte anders zu
setzen. Daher wird das erst mal nicht gemacht.
my $old_home = $ENV{HOME};
my $old_openin_any = $ENV{openin_any};
$ENV{HOME} = $userspath =~ m|^/| ? $userspath : getcwd();
- $ENV{openin_any} = "p";
+ $ENV{openin_any} = "r";
for (my $run = 1; $run <= 2; $run++) {
if (system("${latex} --interaction=nonstopmode $form->{tmpfile} " .
my $old_home = $ENV{HOME};
my $old_openin_any = $ENV{openin_any};
$ENV{HOME} = $userspath =~ m|^/| ? $userspath : getcwd();
- $ENV{openin_any} = "p";
+ $ENV{openin_any} = "r";
for (my $run = 1; $run <= 2; $run++) {
if (system("${latex} --interaction=nonstopmode $form->{tmpfile} " .