InDesign: grep-Stil, um einzelne i-Wörter in die nächste Zeile zu verschieben

Ich brauche einen Grep-Stil in meinen Absatzstilen in InDesign, der dafür sorgt, dass der Buchstabe inicht alleine am Ende einer Zeile stehen kann, sondern immer an den Anfang der nächsten Zeile wandert. Ich habe einen Client, der mich dazu bringt, es manuell zu tun.

Warum nur "ich"? Aber wie auch immer. Weisen Sie einfach an, zu finden: (\d+)( )(i) zu ersetzen: $1~S$3 Aber ich würde vorschlagen, Skript oder normales ctr+f zu verwenden, da es sich in jedem Fall ändert, nicht nur in denen mit GREP-Stil.
@SZCZERZOKŁY Ich mache es auch mit a/A und manchmal Wörtern mit zwei Buchstaben. Winzige Wörter am Ende einer Zeile können manchmal unordentlich aussehen, und ich verstehe den Impuls, sie an den Anfang der nächsten Zeile zu schieben, vollkommen.
@LaurenIpsum Ich verwende ein Skript namens "UseMyTypo". Es kann geschützte Leerzeichen nach bestimmten Buchstaben oder Wörtern hinzufügen sowie zusätzliche entfernen usw.

Antworten (3)

  • Erstellen Sie einen Zeichenstil und stellen Sie ihn auf "Keine Unterbrechung".
  • Bearbeiten Sie Ihren vorhandenen Absatzstil, gehen Sie zur Registerkarte GREP-Stil, wählen Sie den Zeichenstil, den Sie oben erstellt haben, und geben Sie ihn (?<=\s)i\W+in das Feld "In Text" ein. (Credits gehen an @Tobias Kienzler, der dies vorgeschlagen hat)

keine Pause

grep-Stil

Obwohl Sie keinen separaten Stil für verschiedene Buchstaben benötigen, können Sie die (i|a|a,)Syntax verwenden, um viele Optionen aufzuzählen. Aber das Gute an den Bildern, dieses Zitat wurde viel verdeutlicht (obwohl ich darüber abgestimmt und getestet hatte, bevor Sie sie für mich gepostet hatten, um sie zu sehen).
Richtig, GREP kann verbessert werden, um mehrere Probleme gleichzeitig zu lösen.
Wenn ich das richtig verstehe, könnte es wahrscheinlich auch erweitert werden, um jedes einzelne Wort mit so etwas wie zu behandeln\s[A-Za-z]\s
\w@IMSoP sollte die Klasse besser verwenden als [A-Za-z]in diesem Fall, sie ist ordentlicher und enthält alle Wortzeichen
Sollte also \s\w,?\swahrscheinlich mit jedem Wort mit einem Buchstaben funktionieren, mit oder ohne nachgestelltem Komma?
@joojaa Ja, ich war konservativ, weil ich nicht weiß, welche Art von Regex das Tool verwendet, und [...]Zeichenklassen sind portabler, aber wenn \wverfügbar, ist es definitiv ordentlicher. :)
Sie können auch (?<=\s)i\W+(oder (?<=\s)\w\W+) verwenden. Das Lookbehind (?<=stellt sicher, dass der vorangestellte Leerraum unterbrechbar bleibt , da Ihr GREP-Stil sonst möglicherweise auch die vorherige Silbe nach unten zieht. Und \W+bedeutet mindestens ein Nichtwortzeichen, das sich auch um die Interpunktion kümmert.
@TobiasKienzler ja das ist eigentlich viel besser.
Hoffentlich folgt das OP diesen Kommentaren und kann auswählen, welche Zeichenfolge für sein Dokument am besten geeignet ist. Ich füge dies definitiv meiner eigenen Sammlung von Grep-Saiten hinzu. Sehr nützliche Kommentare, danke! :)
@TobiasKienzler Verwenden Sie das \s\w,?\sWort, bevor Sie auch nach unten springen. (?<=\s)i\W+Lief wie am Schnürchen! Danke vielmals!
Groß. Wenn Sie der Meinung sind, dass dies geholfen hat, nehmen Sie sich bitte einen Moment Zeit, um die obige Antwort zu genehmigen und positiv abzustimmen. Tnx
@Lucian Es wäre sinnvoll, die Antwort so zu bearbeiten, dass sie enthält, was Christina geholfen hat. Andernfalls wäre das Akzeptieren der Antwort irreführend - und ich möchte keine weitere Antwort posten, nur um das Häkchen zu stehlen;)
Übrigens, ein nettes Tool, um GREP-Stile (und RegEx im Allgemeinen) zu überprüfen und zu verstehen, ist regex101.com
Du hast Recht und ich habe meinen Beitrag editiert. Ich habe anfangs gezögert, weil ich langfristig darüber nachgedacht habe, ob Leute dies über die Google-Suche besuchen, und mir nicht sicher war, ob sie nach der einfachen oder der erweiterten Zeichenfolge suchen werden. Auf jeden Fall löst Ihre Zeichenfolge das Problem besser, daher habe ich sie in meinen Beitrag aufgenommen. Danke noch einmal!

Erstellen Sie zuerst einen No-Break-Zeichenstil wie in Lucians Antwort, und probieren Sie dann diesen Grep-Stil in Ihrem Absatzstil aus. Es hat für mich funktioniert.(?<=[!\?\.]\s)[^\s]{1,3}\s

Was ist ein „kaputter Charakterstil“?
Entschuldigung, "keine Pause"
Ich habe mir erlaubt, das ein wenig zu präzisieren. Beachten Sie, dass Antworten aufgrund von Up/Downvotes nicht immer in der gleichen Reihenfolge angezeigt werden. Wenn Sie mehr über das Stack Exchange-Modell und speziell über diese Website erfahren möchten, werfen Sie einen Blick auf die Tour und das Hilfezentrum . Ach und herzlich willkommen! :D

Diese Lösung funktioniert hervorragend: (?<=\s)\w{1,3}\W+nur dass sie nicht funktioniert, wenn mehr als ein Wort mit 1-3 Buchstaben nebeneinander stehen, in diesem Fall wird jedes zweite Wort übersprungen. Ich schlage vor, einen zweiten grep-Stil hinzuzufügen, um dies zu berücksichtigen, (?<=\s)\w{1,3}\W+\w{1,3}\W+und kann weiterhin Wörter mit 3,4,5 ... 1-3 Buchstaben zusammen finden. Es gibt wahrscheinlich eine intelligentere DRY-Lösung dafür, aber ich bin nicht schlau.