Es gibt Situationen, in denen (pdf)latex Fontdateien für bestimmte
Schriftgrößen on the fly erzeugen muss. Diese werden in ~/.texmf-var
gespeichert. Deshalb muss das Verzeichnis, das (pdf)latex für HOME
hält, vom Webserver schreibbar sein.
Verhält sich analog zur Situation mit Umwandlung von
OpenDocument-Vorlagen nach PDF; da muss OpenOffice nach
~/.openoffice.org schreiben.
sub new {
my $type = shift;
sub new {
my $type = shift;
$form->{tmpfile} =~ s/\Q$userspath\E\///g;
my $latex = $self->_get_latex_path();
$form->{tmpfile} =~ s/\Q$userspath\E\///g;
my $latex = $self->_get_latex_path();
+ my $old_home = $ENV{HOME};
+ $ENV{HOME} = $userspath =~ m|^/| ? $userspath : getcwd() . "/" . $userspath;
for (my $run = 1; $run <= 2; $run++) {
system("${latex} --interaction=nonstopmode $form->{tmpfile} " .
"> $form->{tmpfile}.err");
if ($?) {
for (my $run = 1; $run <= 2; $run++) {
system("${latex} --interaction=nonstopmode $form->{tmpfile} " .
"> $form->{tmpfile}.err");
if ($?) {
+ $ENV{HOME} = $old_home;
$self->{"error"} = $form->cleanup();
$self->cleanup();
return 0;
$self->{"error"} = $form->cleanup();
$self->cleanup();
return 0;
$form->{tmpfile} =~ s/tex$/dvi/;
system("dvips $form->{tmpfile} -o -q > /dev/null");
$form->{tmpfile} =~ s/tex$/dvi/;
system("dvips $form->{tmpfile} -o -q > /dev/null");
+ $ENV{HOME} = $old_home;
+
if ($?) {
$self->{"error"} = "dvips : $!";
$self->cleanup();
if ($?) {
$self->{"error"} = "dvips : $!";
$self->cleanup();
$form->{tmpfile} =~ s/\Q$userspath\E\///g;
my $latex = $self->_get_latex_path();
$form->{tmpfile} =~ s/\Q$userspath\E\///g;
my $latex = $self->_get_latex_path();
+ my $old_home = $ENV{HOME};
+ $ENV{HOME} = $userspath =~ m|^/| ? $userspath : getcwd() . "/" . $userspath;
for (my $run = 1; $run <= 2; $run++) {
system("${latex} --interaction=nonstopmode $form->{tmpfile} " .
"> $form->{tmpfile}.err");
if ($?) {
for (my $run = 1; $run <= 2; $run++) {
system("${latex} --interaction=nonstopmode $form->{tmpfile} " .
"> $form->{tmpfile}.err");
if ($?) {
+ $ENV{HOME} = $old_home;
$self->{"error"} = $form->cleanup();
$self->cleanup();
return 0;
}
}
$self->{"error"} = $form->cleanup();
$self->cleanup();
return 0;
}
}
+ $ENV{HOME} = $old_home;
$form->{tmpfile} =~ s/tex$/pdf/;
$self->cleanup();
$form->{tmpfile} =~ s/tex$/pdf/;
$self->cleanup();