Projekt

Allgemein

Profil

Fehler #112

Zeilenumbruch falsch konvertiert von 3.1 nach 3.3

Von Jan Büren vor mehr als 8 Jahren hinzugefügt. Vor 7 Monaten aktualisiert.

Status:
Erledigt
Priorität:
Normal
Zugewiesen an:
-
Zielversion:
-
Beginn:
02.12.2015
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

Beschreibung

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?

Historie

#1

Von Jan Büren vor mehr als 8 Jahren aktualisiert

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

Von Moritz Bunkus vor mehr als 8 Jahren aktualisiert

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

Von Jan Büren vor mehr als 8 Jahren aktualisiert

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

Von Moritz Bunkus vor etwa 8 Jahren aktualisiert

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.

#5

Von Bernd Bleßmann vor 7 Monaten aktualisiert

  • Status wurde von Neu zu Erledigt geändert

Den Bug schließe ich mal. Da hat sich einiges getan und die Konvertierung der alten DBs sollte auch schon durch sein.

Auch abrufbar als: Atom PDF