Revision f46ac9da
Von Moritz Bunkus vor mehr als 5 Jahren hinzugefügt
SL/Template/LaTeX.pm | ||
---|---|---|
495 | 495 |
my $old_home = $ENV{HOME}; |
496 | 496 |
my $old_openin_any = $ENV{openin_any}; |
497 | 497 |
$ENV{HOME} = $userspath =~ m|^/| ? $userspath : getcwd(); |
498 |
$ENV{openin_any} = "p";
|
|
498 |
$ENV{openin_any} = "r";
|
|
499 | 499 |
|
500 | 500 |
for (my $run = 1; $run <= 2; $run++) { |
501 | 501 |
if (system("${latex} --interaction=nonstopmode $form->{tmpfile} " . |
... | ... | |
549 | 549 |
my $old_home = $ENV{HOME}; |
550 | 550 |
my $old_openin_any = $ENV{openin_any}; |
551 | 551 |
$ENV{HOME} = $userspath =~ m|^/| ? $userspath : getcwd(); |
552 |
$ENV{openin_any} = "p";
|
|
552 |
$ENV{openin_any} = "r";
|
|
553 | 553 |
|
554 | 554 |
for (my $run = 1; $run <= 2; $run++) { |
555 | 555 |
if (system("${latex} --interaction=nonstopmode $form->{tmpfile} " . |
Auch abrufbar als: Unified diff
LaTeX: openin_any weniger restriktiv
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.