Archiv des LibreOffice- und OpenOffice.org-Wiki

[ÜberSicht] [TitelIndex] [WortIndex] [SeiteFinden

Editieren

Das Problem

Im Gegensatz zu Absatzenden () werden Zeilenschaltungen (?) bislang nur teilweise von Suchen-Ersetzen-Vorgängen durch reguläre Ausdrücke unterstützt.

So gibt es innerhalb von Writer keine Möglichkeit den Zeichencode (Unicode U+00B6) des Absatzende (harter Umbruch=Return) durch den Zeichencode der Zeilenschaltung (weicher Umbruch=Shift+Return) (Unicode U+00AC) zu ersetzen, da die Suche über die regulären Ausdrücke \x00B6 (ersetzen durch) \x00AC nicht funktioniert. Einzig ein externer Hex-Editor wäre in der Lage 0D0A gegen 0A auszutauschen, sofern man den einzufügenden Text in den Hex-Editor kopiert, 0D0A gegen 0A ersetzt und wieder in Writer zurück kopiert, womit das Problem dann aber auch gelöst wäre.

Lösung 1

Die einfachst Variante ist daher, ein (leeres) HTML-Dokument zu öffnen, den Text dort hinein zu kopieren und in der 'HTML-Quelltext' Ansicht 'Suchen und Ersetzen' durchführen, wobei dort alle '<p>' gegen (Leerzeichen) und alle '</p>' gegen '<br><br>' ausgetauscht bzw. ersetzt werden müssen. Danach wechselt man wieder in die 'Weblayout' Ansicht und kopiert den Text zurück in das Writer Dokument.

Lösung 2

Um dennoch automatisiert Zeilenschaltungen einfügen zu können, muss man beide Module benutzen, d.h., die betreffenden Textbereiche müssen hin- und herkopiert werden. Auch wenn dieser Umweg ein wenig kompliziert ist, kann dieses Vorgehen beispielsweise bei der Bearbeitung von Rohtexten aus CSV-Dateien eine interessante Alternative sein.

Egal, ob die Zeilenschaltungen schlußendlich in einem TextDokument oder einem TabellenDokument benötigt werden, man braucht in jedem Fall beide Module.

Der Trick dabei ist, dass OpenOffice.org Absatzenden, die sich in einer Zelle einer WriterTabelle befinden, als Zeilenschaltungen interpretiert, wenn man sie in eine Calc-Tabelle kopiert. Umgekehrt bleiben Zeilenschaltungen aus einer Calc-Tabelle auch Zeilenschaltungen, wenn man die Tabelle mit der Option Formatierter Text [RTF] in ein Writer-Dokument kopiert (Bearbeiten ? Inhalte einfügen).

1. Beispiel Calc, Zeilenschaltungen in Tabellenzellen einfügen

Das Beispiel geht von einer Textspalte in einer Calc-Tabelle aus, in der an einer eindeutig zu identifizierenden Stelle (einem Doppelpunkt gefolgt von einem Leerzeichen) eine Zeilenschaltung eingefügt werden soll.

SE010.png

Dazu wird die Textspalte im Tabellendokument kopiert und als Formatierter Text [RTF] in ein Writer-Dokument eingefügt, wobei eine einspaltige WriterTabelle erzeugt wird.

SE011.png

Mit Bearbeiten ? Suchen&Ersetzen wird der Doppelpunkt mit einem Absatzende ergänzt:

SE012.png

eins.png

Suchen nach
Nach dem Doppelpunkt steht noch ein Leerzeichen, damit dieses nicht am Anfang der neu zu erzeugenden Zeile landet.

zwei.png

Ersetzen durch
Mit dem & weisen wir das Programm an, die gefundene Zeichenkette nicht zu ersetzen sondern zu ergänzen; \n wird als Absatzende interpretiert, wenn es im Feld Ersetzen durch verwendet wird.

drei.png

Regulärer Ausdruck
Damit reguläre Ausdrücke verarbeitet werden, muss diese Option aktiviert werden.

Nun werden in die WriterTabelle zwar Absatzenden statt Zeilenschaltungen eingefügt, aber nachdem man die Spalte markiert, kopiert und in das Tabellendokument eingefügt hat, werden daraus nun doch noch Zeilenschaltungen

SE013.png

Wenn man in der WriterTabelle ausser dem Absatzende auch noch gleich eine Formatierung per Suchen&Ersetzen hinzugefügt hat, bleibt auch diese bei der Übertragung in die Calc-Tabelle erhalten

SE014.png

2. Beispiel Writer, Zeilenschaltungen einfügen

2.1. Textzeilen in Tabelle übernehmen

Zunächst muss der gesamte Text in eine einspaltige WriterTabelle. Dazu wird der Text markiert und via Tabelle ? Umwandeln ? Text in Tabelle in eine Tabelle überführt. Als Spaltentrennzeichen muss man etwas wählen, was nicht im Text vorkommt, damit nur eine Spalte entsteht.

2.2. Absatzenden einfügen

An den Textstellen, an denen später Zeilenschaltungen stehen sollen, werden zunächst Absatzenden eingefügt, siehe Beispiel im vorigen Abschnitt.

2.3. Writer-Tabelle kopieren

Die so vorbereitete Writer-Tabelle muss nun nach Calc kopiert werden. Um die Tabellenstruktur beizubehalten, muss man folgendermaßen vorgehen:

Zunächst eine zusätzliche (leere) Zelle einfügen. Dann die Zelle mit dem Inhalt so markieren, dass nicht mur der Text markiert, sondern die gesamte Zelle schwarz hinterlegt ist (das ist nur möglich, wenn die Tabelle aus mehr als einer Zelle besteht, daher die angefügte Zusatzzelle). Man kann auch einfach die gesamte Tebelle markieren und kopieren.-

2.4. Tabelle in Calc-Dokument einfügen und zurück in den Writer kopieren

Beim Einfügen der Writer-Tabellenzelle in ein Calc-Dokument muss der Zellinhalt der Writer-Tabelle in einer einzigen Calc-Zelle landen. Wird er stattdessen auf mehrere Zeilen verteilt, muss der Kopiervorgang wiederholt werden (genau wie oben beschrieben vorgehen).

Nun muss diese Zelle wieder markiert und kopiert werden. Auch hier muss eine zusätzlichew Zelle mit markiert und kopiert werden, sonst wird die Tabellenstruktur nicht mit übernommen.

Den Inhalt mit der Option formatierter Text (Einfüge-Icon aufklappen) in das Writer-Dokument übernehmen.

2.5. Text aus der Tabelle lösen

Wenn das Ergebnis keine Tabelle sonder normaler Fliesstext sein soll, kann man nun die WriterTabelle noch markieren und mittels Tabelle ? Umwandeln ? Tabelle in Text die Tabellenstruktur entfernen. Übrig bleibt normaler Text mit Zeilenschaltungen an den gewünschten Stellen.

3. Siehe auch

Suchen und Ersetzen von:




KategorieCalc KategorieWriter KategorieHowto


LizenzBedingungen | AnbieterKennzeichnung | DatenschutzErklärung | Stand: 2013-04-28