hilfdirselbst.ch
Facebook Twitter gamper-media
kamiko S
Beiträge: 99
10. Okt 2013, 09:37
Beitrag #1 von 14
Bewertung:
(4943 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe


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
Top
 
X
Martin Fischer  M  p
Beiträge: 11864
10. Okt 2013, 10:02
Beitrag #2 von 14
Beitrag ID: #518273
Bewertung:
(4931 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe


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.

Viele Grüße
Martin
als Antwort auf: [#518272]
(Dieser Beitrag wurde von Martin Fischer am 10. Okt 2013, 10:10 geändert)
Top
 
kamiko S
Beiträge: 99
10. Okt 2013, 10:08
Beitrag #3 von 14
Beitrag ID: #518276
Bewertung:
(4923 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe


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)
Top
 
Martin Fischer  M  p
Beiträge: 11864
10. Okt 2013, 10:13
Beitrag #4 von 14
Beitrag ID: #518278
Bewertung:
(4917 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe


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.

Viele Grüße
Martin
als Antwort auf: [#518276]
(Dieser Beitrag wurde von Martin Fischer am 10. Okt 2013, 10:16 geändert)
Top
 
kamiko S
Beiträge: 99
10. Okt 2013, 10:24
Beitrag #5 von 14
Beitrag ID: #518280
Bewertung:
(4905 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe


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)
Top
 
Martin Fischer  M  p
Beiträge: 11864
10. Okt 2013, 10:33
Beitrag #6 von 14
Beitrag ID: #518286
Bewertung:
(4888 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe


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


Viele Grüße
Martin
als Antwort auf: [#518280]
(Dieser Beitrag wurde von Martin Fischer am 15. Aug 2017, 11:39 geändert)
Top
 
kamiko S
Beiträge: 99
10. Okt 2013, 10:46
Beitrag #7 von 14
Beitrag ID: #518289
Bewertung:
(4877 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe


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)
Top
 
Martin Fischer  M  p
Beiträge: 11864
10. Okt 2013, 10:54
Beitrag #8 von 14
Beitrag ID: #518290
Bewertung:
(4868 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe


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.

Viele Grüße
Martin
als Antwort auf: [#518289]
(Dieser Beitrag wurde von Martin Fischer am 15. Aug 2017, 11:49 geändert)
Top
 
kamiko S
Beiträge: 99
10. Okt 2013, 11:08
Beitrag #9 von 14
Beitrag ID: #518295
Bewertung:
(4842 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe


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] Top
 
Martin Fischer  M  p
Beiträge: 11864
10. Okt 2013, 11:24
Beitrag #10 von 14
Beitrag ID: #518297
Bewertung:
(4828 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe


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.)

Viele Grüße
Martin
als Antwort auf: [#518295]
(Dieser Beitrag wurde von Martin Fischer am 15. Aug 2017, 11:51 geändert)
Top
 
kamiko S
Beiträge: 99
10. Okt 2013, 12:03
Beitrag #11 von 14
Beitrag ID: #518304
Bewertung:
(4796 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe


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] Top
 
Gaby Leuenberger p
Beiträge: 29
15. Aug 2017, 09:45
Beitrag #12 von 14
Beitrag ID: #559057
Bewertung:
(2654 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe


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
Gaby Leuenberger
als Antwort auf: [#518297] Top
 
Martin Fischer  M  p
Beiträge: 11864
15. Aug 2017, 11:56
Beitrag #13 von 14
Beitrag ID: #559060
Bewertung:
(2634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe


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.

Viele Grüße
Martin
als Antwort auf: [#559057] Top
 
Gaby Leuenberger p
Beiträge: 29
16. Aug 2017, 08:37
Beitrag #14 von 14
Beitrag ID: #559078
Bewertung:
(2475 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Satzzeichen in gleicher Auszeichnung wie vorheriger Buchstabe


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
Gaby Leuenberger
als Antwort auf: [#559060] Top
 
X