From 4af01ce416458581a85d5a836c147bd214eb03bd Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Tue, 26 Jun 2018 13:57:04 +0200 Subject: [PATCH] =?utf8?q?LaTeX-Escaping:=20gewisse=20Formen=20von=20?= =?utf8?q?=C2=BBno=20line=20to=20end=20here=C2=AB=20vermeiden?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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. --- SL/Template/LaTeX.pm | 2 ++ 1 file changed, 2 insertions(+) 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; } -- 2.20.1