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

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 4 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Admin Probleme mit Q4os
Thomas Weiss, 30.03.2015 20:27, 6 Antworten
Hallo Leute, ich habe zwei Fragen zu Q4os. Die Installation auf meinem Dell Latitude D600 verl...
eeepc 1005HA externer sound Ausgang geht nicht
Dieter Drewanz, 18.03.2015 15:00, 1 Antworten
Hallo LC, nach dem Update () funktioniert unter KDE der externe Soundausgang an der Klinkenbuc...
AceCad DigiMemo A 402
Dr. Ulrich Andree, 15.03.2015 17:38, 2 Antworten
Moin zusammen, ich habe mir den elektronischen Notizblock "AceCad DigiMemo A 402" zugelegt und m...
Start-Job behindert Bootvorgang, Suse 13.2, KDE,
Wimpy *, 20.02.2015 10:32, 4 Antworten
Beim Bootvorgang ist ein Timeout von 1 Min 30 Sec. weil eine Partition sdb1 gesucht und nicht gef...
Konfiguration RAID 1 mit 2 SSDs: Performance?
Markus Mertens, 16.02.2015 10:02, 6 Antworten
Hallo! Ich möchte bei einer Workstation (2x Xeon E5-2687Wv3, 256GB RAM) 2 SATA-SSDs (512GB) al...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Nvidia X740XL
Gerhard Blaschke, 21.04.2015 01:08
Nachtrag: Am 21.04.2015 um 00:34 schrieb Gerhard Blaschke: > Am 20.04.2015 um 19:59 schrieb Richard Krau...
Re: [EasyLinux-Ubuntu] Nvidia X740XL
Gerhard Blaschke, 21.04.2015 00:34
Am 20.04.2015 um 19:59 schrieb Richard Kraut: > Am Sonntag, den 19.04.2015, 15:59 +0200 schrieb Gerhard Bl...
Re: [EasyLinux-Ubuntu] wie_als_root_ausführen?
Gerhard Blaschke, 20.04.2015 23:03
Am 20.04.2015 um 19:04 schrieb Heiko Ißleib: > Hallo Gerhard. > > Ich vermute,Du weißt schon,wi...
Re: [EasyLinux-Ubuntu] Nvidia X740XL
Gerhard Blaschke, 20.04.2015 23:01
Am 20.04.2015 um 19:59 schrieb Richard Kraut: > Am Sonntag, den 19.04.2015, 15:59 +0200 schrieb Gerhard Bl...
Re: [EasyLinux-Ubuntu] Nvidia X740XL
Richard Kraut, 20.04.2015 19:59
Am Sonntag, den 19.04.2015, 15:59 +0200 schrieb Gerhard Blaschke: > Der eingestellte Treiber funktioniert...