LibreOffice: Suchen&Ersetzen – Mit RegEx Hashtags markieren

Da ich meine Notizen nicht direkt in LibreOffice schreibe und ich gerne Hashtags nutze und ich diese etwas anders formatieren muss, habe ich nach einer Möglichkeit gesucht, wie ich in LibreOffice diese suchen und markieren kann, so dass ich sie mit einer Formatvorlage versehen kann. Aber alles der Reihe nach.

Ich schreibe meine Texte normalerweise in Markdown. Weil das extrem schnell, mit jedem Editor und auf jedem Gerät dieser Erde, auf dem Texte eingeben werden können funktioniert. Markdown ist im Prinzip nur Text. Wer mehr darüber wissen will, findet hier in der Wikipedia schon mal einen guten Einstieg.

Kurzer Ablauf in einzelnen Schritten

  1. Ich schreibe meinen Text in Obsidian (Markdown Suite) und versehe ihn mit Hashtags wie z.B. #english #deutsch #himmel und #hölle
  2. Dann exportiere ich den Text mit „Export to“ nach OpenOffice. Wobei OpenOffice hier für das Dateiformat ODT (Open Document Text) steht. Ich benutze aber kein OpenOffice, sondern das modernere LibreOffice
  3. In LibreOffice definiere ich eine neue Zeichenvorlage für meine Hashtags, damit alle Hashtags das gleiche Aussehen haben
  4. Dann öffne ich im LibreOffice Menü „Bearbeiten“ den Dialog „Suchen und Ersetzen“ (Strg+Alt+F)
  5. Dort gebe ich im Suchen Feld \#[:alpha:]+ ein (siehe Screenshot unten)
  6. klicke auf „Reguläre Ausdrücke“
  7. klicke dann auf „Alle suchen“
  8. Jetzt werden alle Hashtags markiert, ohne dass Leerzeichen oder andere Wörter dazwischen mitmarkiert werden.
  9. Ich schließe den Suchen und Ersetzen Dialog und doppelklicke auf die Hashtag Zeichenvorlage
Suchen und Ersetzen Dialog von LibreOffice

RegEx erklärt

Eine kurze Erklärung was der Reguläre Ausdruck genau macht. Dafür zerlege ich ihn in die Einzelteile

\#[:alpha:]+
  • \# definiert das Zeichen # . Das Kreuz ist bei den RegEx normalerweise ein Befehl, so dass ich dem Programm sagen muss, dass es nicht der Befehl ist, den ich hier angebe, sondern nur das Zeichen. Dafür muss ich einen Backslash \ , ein sogenanntes ESCAPE Zeichen vorweg stellen. Mehr weiter unten in den Quellen.
  • [:alpha:] heißt, dass nur alphanumerische Zeichen a-Z und 0-9 vorkommen dürfen
  • + so oft wie sie vorkommen

Ausgeschrieben heißt das

Suche nach einem Wort, das mit einem # anfängt und dann nur noch alphanumerische Zeichen hat und zwar egal wie viele. Und nichts anderes! Folgt danach ein Komma oder ein Leerzeichen oder ein Zeilenumbruch oder ein Tab oder irgendein anderes Zeichen, das nicht in [:alpha:] vor kommt, ist die Suche beendet. Dadurch dass ich im Dialog „Alle suchen“ angeklickt habe, wird diese Suche auf den gesamten Text angewandt.

Quellen

Obsidian – PDF Export mit TOC

Für meine digitalen Notizen und Handbücher verwende ich seit längerer Zeit nur noch Markdown Textdateien. Aus Resilienz Gründen, um mit allen möglichen Programmen an meinen Daten arbeiten zu können und auch noch nach Jahren darauf zugreifen zu können, wenn es diverse Programme nicht mehr gibt.

Dazu benutze ich aktuell die Suite Obsidian unter Linux, weil sie mir eine sehr gute Oberfläche und Suche bietet. Ab und zu exportiere ich dann auch die eine oder andere Datei, oder eine Zusammenstellung als PDF Datei.

Der Export nach PDF ist zwar super, aber leider integriert sie kein Inhaltsverzeichnis (TOC: Table of Content). Gerade bei längeren Texten, die bei mir häufiger vorkommen, empfinde ich das als absolut notwendig.

In den Community Plugins, über das Einstellungsmenü von Obsidian, bin ich auch nicht fündig geworden. Aber glücklicherweise hat jemand dann noch ein Plugin geschrieben, das sich Obsidian Better Export PDF nennt und mit einer kleinen Installationsanleitung beschrieben wird.

Nun kann ich direkt PDFs mit wunderbaren Inhaltsverzeichnissen exportieren, ohne den Umweg über Copy n Paste über LibreOffice zu gehen.