Internet-Adressen in InDesign aufspüren

gravatar
 · 
20.02.2024
 ·   · 
3 min read
Featured Image

In diesem Eintrag beschäftigen wir uns mit Mustern. Genaugenommen mit Textmustern – im speziellen mit Internet- und E-Mail-Adressen und wie man diese automatisch findet. Mehr dazu später.

InDesign unterstützt schon seit langer Zeit die sogenannte GREP-Suche sowie GREP-Stile. Falls Sie sich fragen, was GREP überhaupt ist, werden Sie erfreut sein, welche Möglichkeiten InDesign Ihnen hier zur Bearbeitung von Dokumenten bietet.

GREP an sich bedeutet »Global Regular Expression Print«. Dabei handelt es sich ursprünglich um ein UNIX-Tool, das die Suche nach bestimmten Code-Mustern erlaubt. Viele Texteditoren bieten heute in ihrer Suchen-/Ersetzen-Funktion dieses Werkzeug an – so auch InDesign.

Screenshot InDesign Suchen-/Ersetzen-Dialog im GREP-Modus

Auszeichnung und Silbentrennung

Hier beginnt es nun interessant zu werden. Sie können sich anhand von Platzhaltern (beliebige Zeichen, beliebige Ziffern) und einer Kombination aus zusätzlichen GREP-Befehlen verschiedenste Dinge einer »Art« in einem Dokument suchen lassen. Im konkreten Fall hier: Internet- (URLs) und E-Mail-Adressen.

Wenn Sie an einem Dokument arbeiten, in dem viele solcher Adressen vorkommen, möchten Sie diese vielleicht besonders auszeichnen: kursiv, farbig oder unterstrichen etc. Noch wichtiger ist bei diesen Adressen, dass sie keiner Silbentrennung unterliegen. Denn eine URL an der falschen Stelle zu trennen, führt sie unweigerliche auf eine Fehlerseite (404 – Seite nicht gefunden). Das erreichen Sie am einfachsten, wenn Sie dieser Adresse ein Zeichenformat mit der Spracheinstellung »Keine Sprache« zuweisen.

Screenshot Zeichenformatdialog InDesign

Tobias Wantzen hat dazu einen sehr interessanten und ausführlichen Blog-Eintrag geschrieben.

Die Frage ist nun, wie finden Sie eine beliebige Internet-Adresse? Da kommen wir wieder auf den Begriff »Muster« zu sprechen. Solche Adressen enthalten Elemente, die immer wieder (oder auch nicht) vorkommen. Wie zum Beispiel: »www«, »https://«, Punkte, Schrägstriche oder auch Domain-Endungen (.com, .at etc.)

Über die Jahre hinweg habe ich immer wieder an einem GREP-Ausdruck getüftelt, der eine beliebige Internet-Adresse in InDesign aufspüren kann. Dankenswerterweise habe ich dazu von Gregor Fellenz immer wieder sehr hilfreiche Tipps erhalten. Sein Artikel über automatisiertes GREP-Suchen/Ersetzen mit einem von ihm entwickelten Skript sollten Sie unbedingt lesen.

Erst vor nicht allzu langer Zeit war ich auch mit Tobias Wantzen darüber im Austausch und wir haben ein paar sehr nützliche Ergänzungen für einen GREP-Ausdruck gefunden, der nun scheinbar (fast) alle Vorkommen von Internet- und E-Mail-Adressen zuverlässig aufspüren kann:

(http|ftp)?(s?://)?[@a-zA-Z0-9.-]{1,256}\.[a-z]{1,6}\S*[^ \)\}\]!?.,;:\r(")(')]

Wenn Sie den oben angezeigten »Code« in das »Suchen nach:«-Feld (in der Abteilung GREP des Suchen/Ersetzen-Dialogs) einfügen und die Suche starten, sollte InDesign jede beliebige Internet- und E-Mail-Adresse für Sie finden. Es kann sein, dass URLs auch Klammern am Ende nutzen, dann müssten Sie den Ausdruck entsprechend anpassen.

Screenshot InDesign Suchen-/Ersetzen-Dialog im GREP-Modus

Um nicht jedes Mal aufs Neue diesen langen Ausdruck eingeben zu müssen, können Sie ihn im Suchen/Ersetzen-Dialog speichern.

Screenshot InDesign Suchen-/Ersetzen-Dialog im GREP-Modus

Noch nützlicher ist es, diesen Ausdruck im Rahmen eines Absatzformates in einen GREP-Stil zu verpacken, um oben erwähnte Auszeichnung und/oder Silbentrennungs-Regel automatisch von InDesign anwenden zu lassen.

Screenshot InDesign Absatzformat-Dialog

Zugegeben sieht der Ausdruck recht kompliziert aus, ist im Grunde aber nur eine Aneinanderreihung einzelner einfacher Abfragen. Mit dem Skript »WhatTheGREP« von Jongware (Theunis de Jong) können Sie direkt in InDesign den Aufbau solcher Ausdrücke sichtbar machen:

Screenshot GREP-Ausdruck Erklärung

Leider ist Herr de Jong 2020 verstorben. Er zählte zu den besten Skript-Entwicklern für InDesign und eine Vielzahl seiner Skripte sind zum Glück auf der Website von Kasyan Servetsky erreichbar.

Wenn Sie tiefer in die Materie der GREP-Suche eintauchen wollen, empfehle ich Ihnen das E-Book von Peter Kahrel – einem weiteren Skript-Veteranen für InDesign: »GREP in InDesign«, das Sie bei CreativePro.com beziehen können.

Jetzt wünsche ich Ihnen viel Spaß beim Auffinden von Internet- und E-Mail-Adressen! Falls Sie über einen Fall stolpern sollten, der von diesem Ausdruck nicht erkannt wird, lassen Sie es mich wissen. Dann kann ich die GREP-Abfrage entsprechend anpassen. Eine hundertprozentige Trefferquote ist bei der Suche nach Internetadressen schwer zu erreichen, aber damit sind wir schon recht knapp dran.

Einen weiteren Artikel zum Thema GREP finden Sie unter »Wo ist das Zeichenformat« und ein hilfreiches Skript zum gleichzeitigen Blättern von geöffnetes PDF-Dokumenten (ebenfalls von Tobias Wantzen) beschreibe ich im Artikel »Unterschiede in PDFs erkennen«.

Blog-Foto © René Andritsch

Tagged: GREP · Scripts · Tutorial · Workflow
Comments
[…] Gemeinsam mit Tobias Wantzen habe ich auch an einem GREP-Ausdruck gearbeitet, um URLs in InDesign-Texten leicht und automatisch aufspüren zu können. Lesen Sie dazu den Artikel »Internetadressen in InDesign aufspüren«. […]
Patrice
Lieber René
Vielen Dank für die ausführliche Erklärung und den GREP-Ausdruck.
Ich bin vor Kurzem an die Herausforderung gestossen, die Internet-Adressen im Dokument auch zu verlinken. Dabei war das Problem, dass die Adressen im Text sehr unterschiedlich daher kommen – manche mit http, manche mit https und manche auch ganz ohne etwas, also z.B. bloss reneandritsch.com.
Verlinkt sollen sie alle mit https werden und zudem die Hyperlinks alle mit einem UTM-Parameter für Google Analytics versehen.
Dabei dachte ich mir, es wär praktisch, wenn es eine «Suchen und Verlinken»-Funktion geben würde, die alle URLs findet und dabei noch die Möglichkeit offen lässt, das Hyperlink-Ziel manuell zu bearbeiten.
Mein Versuch: https://github.com/patricedaniel/FindAndLink/blob/main/FindAndLink.jsx
Mein Problem ist tatsächlich, dass mein Regex nicht ganz alle Fälle korrekt abdeckt.
Ich versuch’s bei Gelegenheit mit deinem vielversprechenden GREP-Ausdruck.
Beste Grüsse
René Andritsch
Lieber Patrice! Ein interessantes Projekt. Lass mich wissen, ob dieser GREP-Ausdruck in deinem Skript gut funktioniert. Würde mich freuen! Liebe Grüße, René

Leave a replyReply to

*