X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FTemplate%2FLaTeX.pm;h=6a5d8e4a9be7ab1a63f03ba6005ebc7dd7db7eaf;hb=606510ade9fe97cb9ca64878f1ed19326e65c50c;hp=c85529ced77f617d392275ec594f1ea23a822803;hpb=4cf756d3ded26399ffb0cda5689479d0f13f4cf0;p=kivitendo-erp.git diff --git a/SL/Template/LaTeX.pm b/SL/Template/LaTeX.pm index c85529ced..6a5d8e4a9 100644 --- a/SL/Template/LaTeX.pm +++ b/SL/Template/LaTeX.pm @@ -98,6 +98,8 @@ sub _format_html { $content =~ s{ ^ ( \\newline \ )+ }{ _lb_to_space($1) }gxe; # convert line breaks at the start of the text to vertical space $content =~ s{ ( \n\n+ ) ( \\newline \ )+ }{ $1 . _lb_to_space($2) }gxe; # convert line breaks at the start of a paragraph to vertical space $content =~ s{ ( \\end\{ [^\}]+ \} \h* ) ( \\newline \ )+ }{ $1 . _lb_to_space($2) }gxe; # convert line breaks after LaTeX environments like lists to vertical space + $content =~ s{ ^ \h+ \\newline }{\\newline}gmx; + $content =~ s{ \n\n \h* \\newline \h* }{\n\n}gmx; return $content; } @@ -123,6 +125,9 @@ sub format_string { // $formatters{ $self->{default_content_type} } // $formatters{ text }; + $content =~ s{[^\p{Print}\n]|\p{Cf}}{}g; + $variable =~ s{[^\p{Print}\n]|\p{Cf}}{}g; + return $formatter->($self, $content, variable => $variable); } @@ -490,7 +495,7 @@ sub convert_to_postscript { 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} " . @@ -544,7 +549,7 @@ sub convert_to_pdf { 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} " .