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

Samba-Server für Win-Daten & Linux-Dateirechte
Gerd Grundmann, 12.01.2017 18:25, 0 Antworten
Hallo Gemeinde, ich habe ewig gegooo.. aber nicht wirklich gefunden, was ich suche. Auf mei...
LM Cinnamon 18.1Serena 64 bit
Herwig Ameisbichler, 11.01.2017 13:02, 6 Antworten
Hallo an alle. Bin Linux Neuling.Habe auf meiner SSD neben W10 (finde ich nicht mehr)LM17.2 auch...
Bilder in E-Mail einbinden?
Werner Hahn, 23.12.2016 12:18, 4 Antworten
Dell Latitude E6510, Ubuntu 16.04, Mozilla Firefox Ich bitte um eine leicht verständliche Anle...
Linux Mint 17.2
Herwig Ameisbichler, 17.12.2016 11:19, 4 Antworten
Wer kann mir helfen? Hab seit gestern Linux am Pc.Wie kann ich diese Miniaturschrift im Menü,Lei...
Linux 17.2 Treiber f. PC Drucker installieren
Ernst Malitzki, 11.12.2016 13:04, 7 Antworten
Habe einen PC Drucker von HP. Möchte diesen PC Drucker an meinen PC anschließen. Hierzu benötige...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] adobe_flash_player_für_android
Wolfgang Voelker, 19.01.2017 18:34
Hallo Hartmut, daß du im Playstore dazu was findest, liegt daran, daß es Flash ja mal bis Android Gingerbread...
Re: [EasyLinux-Ubuntu] adobe_flash_player_für_android
Hartmut Haase, 19.01.2017 16:23
Hallo Wolfgang, > klares nein. Hat Google schon lange verboten. verstanden. Spaßig ist nur: wenn man im...
Re: [EasyLinux-Ubuntu] Streams_übertragen
Frank von Thun, 19.01.2017 05:54
Am 18.01.2017 um 19:53 schrieb alfred: > Am 18.01.2017 um 18:02 schrieb Frank von Thun: >> Am 18.0...
Re: [EasyLinux-Ubuntu] Streams_übertragen
Heiko, 18.01.2017 22:48
Am Mittwoch, 18. Januar 2017, 19:53:08 CET schrieb alfred: Hallo Alfred. > > OK, geht und holt die...
Re: [EasyLinux-Ubuntu] adobe_flash_player_für__android
Karl-Heinz, 18.01.2017 18:54
Am Wed, 18 Jan 2017 17:09:23 +0100 schrieb Hartmut Haase : Hallo Hartmut, such einfach mal nach "Fla...