Project

General

Profile

Fehler #112

Zeilenumbruch falsch konvertiert von 3.1 nach 3.3

Added by Jan Büren about 6 years ago. Updated almost 6 years ago.

Status:
Neu
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
12/02/2015
Due date:
% Done:

0%

Estimated time:

Description

In der Sicherungsdatei VOR dem Upgrade sehe ich folgende longdescriptions in orderitems:


for:\r\n\r\nFPGA/ 24

Die mir vorher wie folgt gedruckt wurden:

for:

FPGA/ 24

Nach dem Update hab ich in derselben Tabellenspalte folgendes stehen:

for:</p><p>FPGA/ 24

und bekomme hierbei, logischerweise folgendes ausgedruckt:

for:
FPGA/ 24

Lustigerweise sehe ich in der HTML-Form des Langtextes folgendes:

 for:<br></p><p>FPGA/ 24

Zwei Fragen:
a) Ich hab die Stelle noch nicht gefunden, wo diese Konvertierung durchgeführt wird.
b) Die Formatierung im Langtext ist ja mehr im ursprünglichen Sinne des Erfinders, wobei scheinbar das <br> innerhalb einer p-Direktive nicht an das Template-System übergeben wird.

Kann ich mit der Info von b) aus der Form irgendwas Sinnvolles mit Hilfe des Latex-Parser machen, sodass ich die Leerzeile wieder reinbekomme?

History

#1

Updated by Jan Büren about 6 years ago

Wenn ich händisch Umbrüche in die Position hinzufüge, wird die Druckwelt erstmal auch nicht besser:

Langtext in der Oberfläche sieht aus wie: per Mail kommuniziert.<br></p><p><br></p><p><br></p><p>1.12.

In der DB:

kommuniziert.&lt;/p&gt;&lt;p&gt;&nbsp;&lt;/p&gt;&lt;p&gt;1.12.

Und im PDF mit LaTeX:

kommuniziert.
11.12.
#2

Updated by Moritz Bunkus about 6 years ago

Bei der Umwandlung von Text nach HTML im DB-Upgradescript musste ich irgend etwas als Absatz identifizieren, und das ist normalerweise eine leere Zeile. Daher die jetzige Implementation.

Wie das von LaTeX im PDF gesetzt wird, hängt letztlich nicht von kivitendo ab, sondern einzig von der LaTeX-Druckvorlage, genauer dem Parameter \parskip, wenn ich mich jetzt nicht irre. Wenn der auf 0pt steht, dann gibt's halt keinen Platz zwischen Absätzen.

Das ist kein Bug in kivitendo, das ist einzig und alleine eine Frage der Templates.

#3

Updated by Jan Büren about 6 years ago

Danke für die schnelle Rückmeldung.

a) Danke für den Tipp mit parskip. Das funktioniert für das Dokument aber nicht in der table umgebung (hier longtable)

b) Ich find das ist schon ein Konvertierungsbug. Vorher hatte ich zwei Umbrüche in der longdescription des Items:

for:\r\n\r\nFPGA/ 24

Und nach der Konvertierung wurde daraus ein Paragraph:

for:</p><p>FPGA/ 24
#4

Updated by Moritz Bunkus almost 6 years ago

Nein, das ist ein Fehler der Konvertierung.

In einem reinen Text-Format gibt es keine Unterscheidung zwischen Zeilenumbruch und Absatz, wie es sie bei HTML gibt. Nun konvertieren wir von Text zu HTML und müssen ungefähr das aus dem Text machen, was auch der HTML-Editor macht.

Wenn ich im HTML-Editor Return drücke, so wird das als neuer Absatz gewertet. Daher sollte auch »eine Leerzeile zwischen zwei Textblöcken« im reinen Text als Absatz gewertet werden.

In 066cdac habe ich eh die Umwandlung von Zeilenumbrüchen im HTML-Editor (Shift+Return) zu LaTeX-Code geändert. Vielleicht genügt das schon, um Leerzeilen auch in LaTeX zu erzwingen.

Also available in: Atom PDF