[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe

kamiko
Beiträge gesamt: 101

10. Okt 2013, 09:37
Beitrag # 1 von 14
Bewertung:
(7492 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo liebe Durchblicker,

Viel Text in der Maschine. Die Satzzeichen sollen immer so ausgezeichnet werden wie der Buchstabe der direkt anschließt oder davorsteht.

Also z.B. kursives (Komma, Punkt, Anführungszeichen, Klammern, Divis etc.) nach kursivem Buchstaben.
+ (Divis, Klammer, Anführungszeichen) sollen natürlich auch so ausgezeichnet sein, wie der Buchstabe danach.

Mit GREP krieg ich das nicht hin.
Gibt es für diese Anforderung schon irgendwo ein Skript das ich nicht finde? (Ist ja eigentlich eine klassische Typografieidee).

Danke für Tip
Kamiko
MacOSX 10.6.8, CS 4 bis CS 6
X

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe

Martin Fischer
  
Beiträge gesamt: 12778

10. Okt 2013, 10:02
Beitrag # 2 von 14
Beitrag ID: #518273
Bewertung:
(7480 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kamiko,

Marco hat in Suchen & Ersetzen ID 4CS: Klammern zur Kursivierung hinzufügen eine entsprechende Anleitung zur Behandlung von Klammern in REGULAR um Text, der nicht REGULAR ist, mit einem GREP gegeben.


Für Komma, Punkt, Anführungszeichen, Klammern, Divis etc. nach kursivem Zeichen versuche mal folgendes:

GREP-Suchen nach: (?<!.)[,;:\!\?\)\]"-]
Format: Regular (Grundschrift)

1. negatives Lookbehind nach jedem Zeichen,
2. Liste der Zeichen in REGULAR, welchen kein Zeichen in REGULAR vorangeht, in eckigen Klammern.

Wenn z.B. nur kursiv als in Frage kommende Auszeichnung möglich ist (und nicht etwa auch fett oder hochgestellt), sollte das passen.
Wenn weitere Auszeichnungen möglich sind, braucht's ein interaktives Ersetzen – oder ein Skript.


als Antwort auf: [#518272]
(Dieser Beitrag wurde von Martin Fischer am 10. Okt 2013, 10:10 geändert)

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe

kamiko
Beiträge gesamt: 101

10. Okt 2013, 10:08
Beitrag # 3 von 14
Beitrag ID: #518276
Bewertung:
(7472 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

das Problem ist in diesem Fall ja, dass ich verschiedene Auszeichnungsmöglichkeiten habe. Es gibt Worte in kursiv, aber auch in hf oder in hf-kursiv (theoretisch wären auch Farben möglich).
Und jeweils soll das davor oder danach angehängte Satzzeichen entsprechend formatiert sein.

Wenn ich nach regular-ausgezeichneten Satzzeichen suche, kann ich doch nicht gleichzeitig anders formatierte Buchstaben mittels Lookbehind abfragen und die Formatierung übergeben?

Kamiko


als Antwort auf: [#518273]
(Dieser Beitrag wurde von kamiko am 10. Okt 2013, 10:12 geändert)

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe

Martin Fischer
  
Beiträge gesamt: 12778

10. Okt 2013, 10:13
Beitrag # 4 von 14
Beitrag ID: #518278
Bewertung:
(7466 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kamiko,

ja, da hast Du recht.
Und auf diese Einschränkung habe ich oben hingewiesen.

Das geht dann wohl nur per Skript.
Ein Skript müsste
a) diese Suche ausführen und in einer Schleife
b) bei jedem Treffer die Auszeichnung des vorangehenden Zeichens ermitteln und
c) diese Auszeichnung für das gefundene (Satz-)Zeichen übernehmen.


als Antwort auf: [#518276]
(Dieser Beitrag wurde von Martin Fischer am 10. Okt 2013, 10:16 geändert)

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe

kamiko
Beiträge gesamt: 101

10. Okt 2013, 10:24
Beitrag # 5 von 14
Beitrag ID: #518280
Bewertung:
(7454 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

ja genau (wir hatten uns mit unseren jeweiligen Beitragsänderungen wohl überschnitten ;-) .

bei b) noch ergänzend: des vorangehenden und/oder bei Klammer, Anführungszeichen und Divis des nachfolgenden Buchstaben

so ein Skript suche ich.

Kamiko


als Antwort auf: [#518278]
(Dieser Beitrag wurde von kamiko am 10. Okt 2013, 10:25 geändert)

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe

Martin Fischer
  
Beiträge gesamt: 12778

10. Okt 2013, 10:33
Beitrag # 6 von 14
Beitrag ID: #518286
Bewertung:
(7437 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hier ein Ansatz auf o.g. Basis für Schriftstile.
Die gesuchten Satzzeichen sind in REGULAR.

Code
app.findGrepPreferences = NothingEnum.nothing; 
app.findGrepPreferences.findWhat = '(?<!.)[,;:\\!\\?\\)\\]"-]';
app.findGrepPreferences.fontStyle = 'Regular';
var result = app.activeDocument.findGrep();
for (var i = 0; i < result.length; i++)
result[i].fontStyle = result[i].parent.characters.item(result[i].index-1).fontStyle;


Flexibler, d.h. unabhängig vom Schriftstil REGULAR des Satzzeichens, könnte man das handhaben, indem man tatsächlich alle Satzzeichen sucht (unabhängig vom Schriftstil) und ihnen in jedem Fall (auch wenn sie bereits den Schnitt des vorangehenden Zeichens haben), den Schnitt des vorangehenden Zeichens zuweist (oder in einer Zwischenprüfung feststellt, ob die Schnitte sich unterscheiden und nur im Falle der Differenz die Zuweisung vornimmt).

Das könnte ich später noch genauer unter die Lupe nehmen und skizzieren.
Aber vielleicht fällt jemand Anderem noch eine einfachere Alternative dazu ein.

P.S.: Ich habe just heute Morgen die mir wiederstrebende Aufgabe, alle kursiven Kommata, Semikolon und Klammern am Ende einer Kursiv-Auszeichnung geradezustehen. ;-)

GREP-Suchen nach: (?<=.)[,;:\)\]] ?(?!.)
Format: Italic



als Antwort auf: [#518280]
(Dieser Beitrag wurde von Martin Fischer am 15. Aug 2017, 11:39 geändert)

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe

kamiko
Beiträge gesamt: 101

10. Okt 2013, 10:46
Beitrag # 7 von 14
Beitrag ID: #518289
Bewertung:
(7426 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

herzlichen Dank für den umgehenden Lösungsansatz.

Er klappt prima für alle Satzzeichen NACH einem Buchstaben und ist damit schon mal eine deutliche Arbeitsersparnis.

Für meinem vorliegenden Fall reicht die Abfrage der Satzzeichen in regular, soweit hat der Autor das hinbekommen.

Leider sind meine Skriptkenntnisse zu mickrig, um mir aus Deinem Code die Abfrage für Anführungszeichen/Klammer/Divis VOR einem Buchstaben abzuleiten.
Geht das komplikationslos und darf ich dich in diesem Fall darum bitten?

kamiko
(zu deinem PS: ja, die Typografenwelt wird immer unübersichtlicher! gg)


als Antwort auf: [#518286]
(Dieser Beitrag wurde von kamiko am 10. Okt 2013, 10:50 geändert)

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe

Martin Fischer
  
Beiträge gesamt: 12778

10. Okt 2013, 10:54
Beitrag # 8 von 14
Beitrag ID: #518290
Bewertung:
(7417 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
quick & dirty:

Code
app.findGrepPreferences = NothingEnum.nothing; 
app.findGrepPreferences.findWhat = '[\\(\\["-](?!.)';
app.findGrepPreferences.fontStyle = 'Regular';
var result = app.activeDocument.findGrep();
for (var i = 0; i < result.length; i++)
result[i].fontStyle = result[i].parent.characters.item(result[i].index+1).fontStyle;
app.findGrepPreferences = NothingEnum.nothing;


Antwort auf: (zu deinem PS: ja, die Typografenwelt wird immer unübersichtlicher! gg)

Ist am Ende eine Frage der Gewichtung:
Der Autor gewichtet nach Inhalt (gehört das Satzzeichen sinngemäß noch zum vorangehenden Wort), der Typograph nach Aussehen (Zeichenpaarung, Unterschneidung), unabhängig vom Inhalt.


als Antwort auf: [#518289]
(Dieser Beitrag wurde von Martin Fischer am 15. Aug 2017, 11:49 geändert)

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe

kamiko
Beiträge gesamt: 101

10. Okt 2013, 11:08
Beitrag # 9 von 14
Beitrag ID: #518295
Bewertung:
(7391 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

auch der zweite "quick+dirty"-Code klappt prima.

Zusammengehängt ergibt das ganze genau das, was ich gesucht habe.

Warmen Dank für die Hilfe!!

(Die Sache mit der Gewichtung bei der Satzzeichenformatierung wäre mein Traum. Würde allerdings zum Albtraum, wenn dann nach diesen Kriterien doch händisch die Textmassen abgesucht werden müssten.)

Kamiko


als Antwort auf: [#518290]

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe

Martin Fischer
  
Beiträge gesamt: 12778

10. Okt 2013, 11:24
Beitrag # 10 von 14
Beitrag ID: #518297
Bewertung:
(7377 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Achtung!
Oben haben ich eines unterschlagen:
Diese Code-Schnippsel funktionieren nur in "normalen" Textabschnitten, nicht jedoch in Fußnoten oder Tabellen!


Arbeitest Du mit Fußnoten und Tabellen?

Dann ersetze die Zeile
Code
result[i].fontStyle = result[i].parentStory.characters.item(result[i].index-1).fontStyle; 

durch
Code
result[i].fontStyle = result[i].parent.characters.item(result[i].index-1).fontStyle; 


bzw.
Code
result[i].fontStyle = result[i].parentStory.characters.item(result[i].index+1).fontStyle; 

durch
Code
result[i].fontStyle = result[i].parent.characters.item(result[i].index+1).fontStyle; 


(Ich korrigiere dies oben.)


als Antwort auf: [#518295]
(Dieser Beitrag wurde von Martin Fischer am 15. Aug 2017, 11:51 geändert)

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe

kamiko
Beiträge gesamt: 101

10. Okt 2013, 12:03
Beitrag # 11 von 14
Beitrag ID: #518304
Bewertung:
(7345 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ich möchte auch noch sicherheitshalber hinzufügen:

dieses Skript funktioniert nur bei Text, mit einem Schriftschnitt der "regular" enthält (beispielsweise Times).
Ist der Text z.B. in Helvetica light formatiert, kommt eine Fehlermeldung.

(für meinen Fall reicht das, weil ich die Fahne noch vor Übernahme der endgültig gewünschten Schrift mit dem Skript überarbeiten kann).

kamiko


als Antwort auf: [#518297]

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe

Gaby Leuenberger
Beiträge gesamt: 29

15. Aug 2017, 09:45
Beitrag # 12 von 14
Beitrag ID: #559057
Bewertung:
(5203 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Lieber Martin

Nach langer Zeit bin auch ich wieder mal hier im Forum unterwegs. Diese quick&dirty-Schnippsel wären sehr nützlich für mich, doch leider läuft es bei mir nicht, und ich bin mit meiner Fehlersuche am Anschlag. Zwar werden die character objects gefunden, doch in der Schleife moniert er beim parent character "undefined". Ich habe von CS6 bis CC17 fast alle Versionen durchprobiert, sowohl deinen Original-Code als auch die korrigierte Version; immer derselbe Fehler

Hast du eine Idee, woran es liegen könnte? Ist es ein Problem, wenn keine Zeichenformate definiert sind? Die Suche geht ja über die "Grundlegenden Zeichenformate", nicht über "Formatoptionen".

Vielen Dank im Voraus für einen Input!

LG
Gaby


als Antwort auf: [#518297]

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe

Martin Fischer
  
Beiträge gesamt: 12778

15. Aug 2017, 11:56
Beitrag # 13 von 14
Beitrag ID: #559060
Bewertung:
(5183 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebe Gaby,

es sieht so aus, als ob die Umstellung der Forensoftware vor ein paar Monaten einen Fehler, der in der alten Forensoftware korrigiert worden war, diesen Fehler wieder in Erscheinung treten lässt.

[i] dient hier zur Umschaltung auf Kursiv.
Im Code aber soll ein Zähler erscheinen.
Wenn [i] nun als Steuercode für Kursiv interpretiert wird, verliert der Zähler seine Wirkung.

Im Code oben hab ich den Zähler i escaped.
Nun sollte es wieder funktionieren.


als Antwort auf: [#559057]

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe

Gaby Leuenberger
Beiträge gesamt: 29

16. Aug 2017, 08:37
Beitrag # 14 von 14
Beitrag ID: #559078
Bewertung:
(5024 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mensch Martin!

Da fällt mir jetzt echt ein Stein vom Herzen! Hab mich schon gefragt, wie viel ich in all der Zeit vergessen habe ... Den Fehler hätt ich aber auch finden können, aber das schieb ich jetzt mal auf den Rost, den ich angesetzt habe :)

Hab tausend Dank, jetzt funktioniert es!

Lieber Gruss
Gaby


als Antwort auf: [#559060]
X