Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision f46ac9da

Von Moritz Bunkus vor mehr als 5 Jahren hinzugefügt

  • ID f46ac9daca71a6e0c4ca480a3f826fd2871182a2
  • Vorgänger 193168d5
  • Nachfolger 11ebc439

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.

Unterschiede anzeigen:

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