Mittwoch, 15. Mai 2019

InDesign für Faule

oder: möglichst schnell möglichst wenig tun.

Diese kleine Lektion hat ihren Ursprung zwar in einer EasyCatalog Aufgabe, ist aber in der Tat nur ein InDesign-Thema, das heißt für jeden InDesign Nutzer interessant.

Wenn man häufig mit importieren Daten zu tun hat und mit mehrseitigen Dokumenten, dann bekommt man oft Inhalte geliefert, die typografisch unschön sind oder einfach nicht gewollt.
Geübte InDesigner haben sich dafür ein Arsenal von Hilfsmitteln angelegt, die sie nach Bedarf einsetzen.
Eines dieser Hilfsmittel möchte ich hier genauer beschreiben.

Ausgangslage:
Ein Datenfeld in EasyCatalog hat Prozentzahlen wie hier abgebildet oder es wird eine Excel Tabelle oder eine Textdatei mit Prozentzahlen eingeladen. 
Die Aufgabe lautet: bringe einen Abstand zwischen das % Zeichen und die davor liegende Zahl.
–––––––––––––––––––––––––––––––––––––––––––––––––––––––

Methode 1.
1.1. Suchen und ersetzen. (Text)

Dies kann einige unerwünschte Folgen haben. Wenn im Ersetzen-Feld ein Leerzeichen vor % eingesetzt wird kann es sowohl doppelte Leerzeichen geben als auch Zeilenumbrüche zwischen Zahl und %


Verfeinern könnte man dies, indem man statt des Leerzeichens ein geschütztes Leerzeichen dazu nimmt, ein Achtelgeviert oder Ähnliches. Dadurch wird die Trennung von Zahl und % zwar vermieden, der zusätzliche Leerraum an anderen Stellen aber immer noch eingefügt. Also ebenfalls unbrauchbar.

–––––––––––––––––––––––––––––––––––––––––––––––––––––––

1.2. Suchen und ersetzen. (GREP)

Bei der GREP Suche kann man diese Suche sinnvoll verfeinern.
Im Beispiel wird eine beliebige Ziffer gesucht (\d), gefolgt von % und ersetzt durch die gefundene Ziffer $1 gefolgt von einem Drittelgeviert ~3 und dem %.
Dabei werden alle Prozentzeichen, die nicht auf eine Zahl folgen, ohne Änderungen stehen gelassen.

Damit könnte man zufrieden sein – außer es gibt Aktualisierungen der importierten Daten. Dann sind alle eingefügten Leerräume wieder weg!
–––––––––––––––––––––––––––––––––––––––––––––––––––––––

Hier hilft Methode 2, der GREP-Stil.

Wie wir wissen, können GREP-Stile ja weder etwas hinzufügen noch etwas wegnehmen, somit auch keinerlei Leerzeichen. Also müssen wir uns anders behelfen. Im konkreten Fall mit der Laufweite.
Zum Testen markiert man eine Ziffer vor dem % und variiert die Laufweite für dieses Zeichen bis es „passt“. Im Screenshot sind das 200 (tausendstel Geviert)

Daraus erzeugt man ein neues Zeichenformat, im Beispiel „Abstand“ genannt, welches als einzige Eigenschaft diese Laufweite hat.

–––––––––––––––––––––––––––––––––––––––––––––––––––––––

Dieses Zeichenformat kann man nun in einem GREP-Stil anwenden. Idealerweise gleich als Eigenschaft eines Absatzformates.
So sieht die Formel dazu aus: \d(?=%)
Übersetzt bedeutet dies: suche eine Ziffer \d die unmittelbar vor einem % steht, aber dieses nicht einschließt (?=%) und gib ihr das Zeichenformat „Abstand“. Man nennt dies Positives Lookahead.


Zur besseren Veranschaulichung habe ich im folgenden Screenshot dem Zeichenformat „Abstand“ noch eine Farbe zugewiesen.
–––––––––––––––––––––––––––––––––––––––––––––––––––––––

Dieses Vorgehen hat noch weitere Vorteile: Wenn sich der Abstand später als zu hoch oder zu niedrig erweist, kann man dies durch einfaches Ändern der Laufweite im Zeichenformat korrigieren. Zudem hält der Abstand die Ziffer und das % Zeichen auf jeden Fall zusammen, dazwischen kann es keinen automatischen Zeilenumbruch geben.

Analog hierzu lassen sich noch eine Menge anderer Zeichenkombinationen finden, die man in gleicher Weise einstellen kann, Z.B. Preise (13,50€) oder Stückangaben (200Stck.) 
Auch ein zu großer Abstand zwischen zwei Zeichen kann durch die Laufweite korrigiert werden. 
Beispiel: der Text enthält Angaben mit Maßen wie „20 mm“ oder „2 l“. Hier hat der Ursprungstext bereits ein Leerzeichen vor der Maßangabe. Im Screenshot sieht man auch, dass zwischen der Maßangabe und der davor stehenden Zahl ein Umbruch entstehen kann, ungewünscht.

Ein Zeichenformat mit einer negativen Laufweite verringert zwar den Abstand, aber verhindert den Umbruch zunächst nicht. Aber auch das lässt sich im Zeichenformat regeln, über die Zeicheneigenschaft „Kein Umbruch“.
„Kein Umbruch“ ist übriges eine der häufig unterschätzten und viel zu selten benutzten Zeicheneigenschaften. Ich nutze es so oft, dass ich sogar ein Tastenkürzel dafür angelegt habe.

Der GREP-Stil für das Absatzformat lautet dann:
(?<=\d) (?=mm|l|€)
Übersetzt bedeutet dies: suche ein Leerzeichen, das unmittelbar nach einer Ziffer steht, aber diese nicht einschließt (?<=\d) (Positives Lookbehind) und unmittelbar vor den Zeichen ‚mm‘ oder dem Zeichen ‚l‘ oder dem Zeichen ‚€‘ steht, aber diese nicht einschließt  (?=mm|l|€) (Positives Lookahead) und gib ihr das Zeichenformat „Enger“. Die Liste der Alternativen, getrennt mit dem Pipe-Zeichen, kann man beliebig erweitern. Wie man im Screenshot sehen kann, lassen sich die GREP-Stile auch in einem Absatzformat kombinieren.


Keine Kommentare:

Kommentar veröffentlichen