Reply to comment

Nicht nur erste Zeile einrücken

Auf HilfDirSelbst gibt’s heute ein feines Puzzle zum Feierabend.Es geht darum, nicht nur der ersten Zeile eines Absatzes einen Einzug zu geben, sondern auch noch der zweiten, aber nicht den weiteren. Erschwerend kommt hinzu, dass die Absätze die automatische Nummerierung verwenden, die per Tab die erste Zeile austreibt. Weder Nummer noch Tab sind real existierende, also greifbare Buchstaben, solange die Nummerierung dynamisch ist.

Auf HilfDirSelbst gibt’s heute ein feines Puzzle zum Feierabend.

Es geht darum, nicht nur der ersten Zeile eines Absatzes einen Einzug zu geben, sondern auch noch der zweiten, aber nicht den weiteren. Erschwerend kommt hinzu, dass die Absätze die automatische Nummerierung verwenden, die per Tab die erste Zeile austreibt. Weder Nummer noch Tab sind real existierende, also greifbare Buchstaben, solange die Nummerierung dynamisch ist.

Fangen wir mit einem einfachen Text an. Alle Absätze haben das gleiche Absatzformat.

Soll jeder Absatz mit einem bestimmten Wort anfangen, richtet man die Nummerierung so ein.

…und erhält dieses Ergebnis. Das "klein und rot" liegt am Zeichenformat "prefix"

Jetzt müssen wir die zweite Zeile dazu bewegen, auch eingerückt zu sein. Da es keine Einstellung "Zwei Zeilen einrücken" von Haus aus gibt, müssen wir eines der anderen Verfahren nehmen, mit denen man Text in der Gegend rumschubsen kann:

  1. Konturenführung und verankerte Objekte
  2. Harte Zeilenschaltungen und Tabulatoren
  3. Initial
  4. Rahmenform ändern

4. fällt von vornherein raus. Wer die Rahmenform ändert, hat nach der dritten Umbruchänderung keine Haare mehr, da längst alle ausgerupft. Außerdem ist das kompliziert.

2. Hat das gleiche Problem, ist aber wenigstens leicht manuell einzurichten. Aber nicht automatisch. Man kann (mit GREP) nach dem letzten Zeichen im Absatz suchen, aber nicht nach dem letzten Zeichen in einer Zeile. Dieser Ansatz fällt also unter: Favorit, wenn’s nicht mehr als 10 Absätze sind, weil sehr schön einfach zu machen.

1. Man könnte einen Rahmen mit Konturenführung einfügen. Aber wehe, wehe, wenn ich auf das Ende sehe. Nämlich das Ende, dass der Kunde ganz bestimmt die Breite vom Einzug ändern will. Dann zupft man nämlich an Hunderten von eingefügten Rahmen. Ist also auch nicht toll.

Bleibt das Initial.
Wie würde das aussehen?

OK. Der Einzug ist exakt so, wie wir ihn haben wollen, aber das sind ganz schön große Buchstaben!

Man müsste als ersten Buchstaben ein schmales Leerzeichen haben, dann fällt das nicht so auf.

GREP to the rescue!
Is it a cat on the keyboard? Is it a wonky Windows-keyboarddriver? NO, it’s grepman!

Mit dieser Suche wird jedem Absatz mit dem Absatzformat "Nummer" ein 24tel-Geviert vor dem ersten Buchstaben eingefügt, falls dieser nicht bereits ein 24tel-Geviert ist. (Erklärung nur auf Anfrage ;)

Sind wir etwa schon fertig? Ich geb mal dem ersten Buchstaben im Absatz per verschachteltes Format ein Zeichenformat, das den Buchstaben unterstreicht.

Der rote Blob am Fuß der zweiten Zeile zeigt, wie viel breiter der Einzug jetzt ist als eigentlich geplant.

Aber wenn wir dem verschachtelten Zeichenformat auf dem ersten Buchstaben noch eine horizontale Skalierung geben, siehts’s so aus:

Damit kann ich leben :)

Und, wohlgemerkt, wenn der Text sich ändert, einfach den Grep noch mal laufen lassen. Der fügt allen neuen Absätzen ein neues 24tel-Geviert ein, das durch das Absatzformat auf 2 Zeilen ausgetrieben und schmal gemacht wird.

Die Beispieldatei liegt hier.


Und? Hat jemand meine Dusseligkeit bemerkt?
Das Zeichenformat "1st char" kann man natürlich auch direkt dem Initial zuweisen… duh

Reply

Refresh Type the characters you see in this picture. Type the characters you see in the picture; if you can't read them, submit the form and a new image will be generated. Not case sensitive.  Switch to audio verification.