Programmcode in LibreOffice formatieren

Code Colorizer Formatter
Code Colorizer Formatter
24.09.2012 20:10

Manchmal möchte oder muss man Programm-, HTML- oder XML-Code in ein LibreOffice-Writer-Dokument einfügen. Im Gegensatz zu vielen Texteditoren besitzt LibreOffice jedoch kein Syntaxhighlighting, der Code bleibt eine schwarze unübersichtliche Textmasse. In kurzen Codeschnipseln lassen sich noch von Hand alle Schlüsselwörter oder Tags einfärben oder umformatieren.

Selbsthilfe

Bei mittellangen Codepassagen kann man die Suchen & Ersetzen-Funktion heranziehen. Dazu ruft man Bearbeiten | Suchen & Ersetzen... auf, gibt unter Suchen nach ein Schlüsselwort ein, wie zum Beispiel das HTML-Tag <p> und wiederholt dieses noch einmal unter Ersetzen durch. Jetzt öffnet man Mehr Optionen, klickt auf Format ... und stellt dann im Fenster das Aussehen des <p>-Tags ein. Stimmen die Einstellungen, geht es per OK zurück. Mit Ersetzen Alle formatiert LibreOffice dann automatisch alle <p>-Tags wie gewünscht um.

Suchen und Ersetzen mit Formatierung

Diese Methode ist allerdings recht fehleranfällig: Steht unter Ersetzen durch nicht exakt das Suchwort, erhält man nach dem Ersetzen fehlerhaften Code. Darüber hinaus kann man mit dieser Methode nur einzelne Schlüsselwörter und keine längeren Passagen umgestalten. So ersetzt LibreOffice nur das Tag <p>, nicht aber seinen erweiterten Vetter <p lang="de" >. Man könnte in diesem Fall nur nach <p suchen, womit LibreOffice aber nur genau diesen vorderen Teil umformatieren würde. Alternativ bietet sich der Einsatz regulärer Ausdrücke an [1]. Einen solchen kryptischen Burschen zu formulieren dauert jedoch häufig genau so lange, wie eine Formatierung per Hand.

Erweiterung

Glücklicherweise gibt es noch die Erweiterung Code Colorizer Formatter [2]. Sie färbt Programmcode in den Sprachen Basic, C++, Java, Perl, Python, R, XML, C# und Assembler ein. Um die Erweiterung einzusetzen, lädt man sich unter [2] das oxt-Paket herunter (über den Link Get Code Colorizer Formatter for All platforms im Bereich Current Release). In LibreOffice ruft man den Menüpunkt Extras | Extension Manager... auf, klickt Hinzufügen ... an und wählt die heruntergeladene .oxt-Datei aus. In der Liste sollte jetzt der Makroformatierer von Andrew Pitonyak erscheinen. Mit einem Klick auf Schließen geht es wieder zurück zu LibreOffice, das man einmal beendet und wieder neustartet.

Jetzt lädt man das Dokument mit dem Quellcode, markiert diesen und wählt dann unter Extras | Add-Ons | MacroFormatterADP und im aufklappenden Untermenü den mit Farbe vorgewähltes beginnenden Menüpunkt für die vorliegende Programmiersprache. Hat man beispielsweise gerade ein C++-Programm markiert, wählt man Farbe vorgewähltes C++. Im Fall einer HTML-Seite kann man zu Farbe vorgewähltes XML greifen.

Der Code Colorizer Formatter hat hier HTML-Code formatiert.

Unter Umständen erscheint jetzt ein Fenster, das die fehlende Schriftart Courier New bemeckert. In dieser möchte die Erweiterung den Code setzen. In solch einem Fall klickt man auf Ja, wählt unter Font name eine passende Schriftart und bestätigt mit OK. An das Einrichtungsfenster gelangt man später immer wieder über Extras | Add-Ons | MacroFormatterADP | Configuration.

Infos

[1] Suchen und Ersetzen in LibreOffice mit regulären Ausdrücken:
http://help.libreoffice.org/Common/List_of_Regular_Expressions/de

[2] Code Colorizer Formatter:
http://extensions.libreoffice.org/extension-center/code-colorizer-formatter


Kommentare

Aktuelle Fragen

Scannen nicht möglich
Werner Hahn, 19.08.2016 22:33, 3 Antworten
Laptop DELL Latitude E6510 mit Ubuntu 16,04, Canon Pixma MG5450. Das Drucken funktioniert, Scann...
Wie kann man das berichtigen
Udo Muelle, 17.07.2016 20:39, 1 Antworten
Fehlschlag beim Holen von http://extra.linuxmint.com/dists/rosa/main/binary-i386/Packages Hash-S...
Installation Genimotion
Horst Müller, 15.07.2016 17:00, 1 Antworten
Hallo, ich kann Genimotion nicht installieren. Folgende Fehlermeldung habe ich beim Aufruf erh...
Probleme beim Hochfahren der Terastaion 5400 mit Unix-Distrib
Sheldon Cooper, 10.07.2016 09:32, 0 Antworten
Hallo ihr lieben, habe seit zwei Tagen das Problem, das das NAS (Raid5) nicht mehr sauber hoch...
Mit Firewire Videos improtieren?
Werner Hahn, 09.06.2016 11:06, 5 Antworten
Ich besitze den Camcorder Panasonic NV-GS330, bei dem die Videos in guter Qualität nur über den 4...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Druckeraufträge_werden_angehalten-2
Richard Kraut, 26.08.2016 20:29
Am Mittwoch, den 24.08.2016, 21:31 +0200 schrieb alfred: > in LO ist der Drucker unter Print, General, gen...
Re: [EasyLinux-Ubuntu] GnuCash Finance Management unter Ubuntu LTS 16.04
Richard Kraut, 26.08.2016 20:14
Am Mittwoch, den 24.08.2016, 18:47 +0200 schrieb Karl Bertsche: > Was habe ich da falsch eingegeben? Auf...
Re: [EasyLinux-Suse] Floppy-Laufwerk
Richard Kraut, 26.08.2016 20:09
Am Freitag, den 26.08.2016, 10:28 +0200 schrieb Edgar Dombrowski: > // _2.2 df /dev/fd0_/ Der Gerätename...
Re: [EasyLinux-Suse] Floppy-Laufwerk
Willi Zelinka, 26.08.2016 16:37
Hallo Edgar, Am Fr August 26 2016, 10:28:48 schrieb Edgar Dombrowski: > Hallo, Linuxer. > > S...
Re: [EasyLinux-Suse] Floppy-Laufwerk
Udo Teichmann, 26.08.2016 14:54
Wenn ich von meinen ersten Schritten mit Computern Mitte der 80er das noch richtig zusammen bekomme,...