From: Moritz Bunkus Date: Tue, 26 Jun 2018 11:57:04 +0000 (+0200) Subject: LaTeX-Escaping: gewisse Formen von »no line to end here« vermeiden X-Git-Tag: release-3.5.4~388 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;ds=sidebyside;h=4af01ce416458581a85d5a836c147bd214eb03bd;p=kivitendo-erp.git LaTeX-Escaping: gewisse Formen von »no line to end here« vermeiden Passiert, wenn im HTML so ein Konstrukt existert: …Text

 
Das wird zu einem Paragraphen, einem Leerzeichen und einem forcierten Zeilenumbruch: ----schipp---- Text \newline ----schipp---- Durch die Leerzeile fängt für LaTeX dann dort ein neuer Absatz an. Der ist soweit leer. Das Leerzeichen am Anfang der Zeile ist kein Inhalt. Also gibt es aus Sicht von LaTeX dann keinen Zeileninhalt, sobald es das `\newline` trifft. --- diff --git a/SL/Template/LaTeX.pm b/SL/Template/LaTeX.pm index ba310a9d4..130a42484 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; }