[GastForen Programme Print/Bildbearbeitung Adobe InDesign Versalwörter suchen und ZF zuweisen, CS2?

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

Versalwörter suchen und ZF zuweisen, CS2?

Sacha Heck
Beiträge gesamt: 3281

16. Mai 2008, 14:06
Beitrag # 1 von 17
Bewertung:
(3521 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

Bin gerade beim Buchsatz und finde keinen Workaround für folgende
Aufgabe:

Es gibt viele Namen von Personen im Text die Versal gesetzt sind
aber nicht durch die Funktion in InDesign sondern schon beim
Schreiben des Textes durch den Autor mit der Shifttaste halt.

Nun setze ich solche Wörter i.d.R. gerne einen halben Punkt kleiner
mit einer kleinen optischen Sperrung. Zur Zeit mache ich das manuell
mit »Quick Apply« und Zuweisen des ZF. Aber ich frage mich ob es
keine Möglichkeit gibt alle Versalwörter zu suchen und denen gleichzeitig
diese ZF zuzweisen?

Danke für Ideen.

Gruß,
Sacha

(Dieser Beitrag wurde von siuloong am 16. Mai 2008, 14:23 geändert)
X

Versalwörter suchen und ZF zuweisen, CS2?

Gerald Singelmann
  
Beiträge gesamt: 6268

16. Mai 2008, 14:28
Beitrag # 2 von 17
Beitrag ID: #350478
Bewertung:
(3510 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mit grep geht das, aber du brauchst es für CS2, ja?

Dann brauchts wohl ein Script, nehme ich an...


als Antwort auf: [#350476]

Versalwörter suchen und ZF zuweisen, CS2?

Martin Fischer
  
Beiträge gesamt: 12732

16. Mai 2008, 14:48
Beitrag # 3 von 17
Beitrag ID: #350484
Bewertung:
(3492 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Gerald,

ein bißchen GREP geht auch schon in CS2.
Halt mit Unterstützung von JavaScript, wie Du schon ahntest.

Folgendes Skript durchforstet ausgewählten Text nach Wörtern, die mindestens aus drei Großbuchstaben bestehen und weist diesen das anzugebende Zeichenformat zu:


Code
// CapStyle2Caps.jsx 

var myCStyle = prompt( 'Zuzuweisendes Zeichenformat', 'Caps');

if (app.documents.length > 0 &&
app.selection.length > 0 &&
app.selection[0].hasOwnProperty( "baseline" ) &&
app.activeDocument.characterStyles.item( myCStyle ) != null
)
getCaps( app.selection[0] );
else
{
alert ('Fehler\rZeichenformat \"' + myCStyle + '\"vorhanden?\rText ausgewählt?' );
exit();
}

function getCaps( s )
{
var myCaps = s.contents.match( /\b[A-ZÄÖÜ]{3,}\b/g );
if( myCaps != null )
{
myCaps = arrayCompress( myCaps );
app.findPreferences = app.changePreferences = null;
for ( i = 0; i < myCaps.length; i++ )
s.search( myCaps[i], true, true, undefined, {appliedCharacterStyle : app.activeDocument.characterStyles[0]}, {appliedCharacterStyle : myCStyle});
}
}

function arrayCompress( array )
{
var str = array.sort().join('\r')+'\r'
str = str.replace(/([^\r]+\r)(\1)+/g,'$1')
str = str.replace(/\r$/,'')
return str.split('\r')
}


Dieses Skript (incl. der Funktion arrayCompress) basiert auf einem Konzept, das Peter Kahrel in seinem ShortCut Automating InDesign with Regular Expressions vorgestellt hat.

Um im ganzen Dokument (inklusive Fußnoten und Tabellen) zu suchen, müßte man das Skript noch etwas ummodeln. Auch für diesen Zweck kenne ich eine tolle Funktion von Peter Kahrel in o.g. Quelle.

Gerald, by the way: der zweite Wortbegrenzer in "\b[A-ZÄÖÜ]{3,}\b" funktioniert nicht wirklich. Und ich hatte auch keinen Erfolg, den Ausdruck "[A-ZÄÖÜ]" durch "[:upper:]" zu ersetzen.


als Antwort auf: [#350478]
(Dieser Beitrag wurde von Martin Fischer am 20. Mai 2008, 08:35 geändert)

Versalwörter suchen und ZF zuweisen, CS2?

Sacha Heck
Beiträge gesamt: 3281

16. Mai 2008, 15:07
Beitrag # 4 von 17
Beitrag ID: #350488
Bewertung:
(3471 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

Saugut! :-) Skript funktioniert super. Danke.

Paar Fragen dazu:

Ich habe im Text schon einige Versalwörter, denen durch das
Charstyle-Skript zuvor das ZF Italic zugewiesen wurde. Was geschieht jetzt
mit denen? Ich glaube ich hab mein Dokument schon überschrieben ;-)

EDIT: Ah doch nicht. Also das ZF italic wird ersetzt durch das neue ...

Code
A-ZÄÖÜ]{3,} 

Das sind bestimmt die Zeichen die das Skript als Versalbuchstaben
finden kann. Ich nehme an, dass ich für französisch z.B. die Umlaute
einfach ergänzen und da hinzufügen kann?

Die 3 in Akkoladen: bedeutet die, dass InDesign die Wörter nimmt
ab 3 Buchstaben und mehr?

Gruß,
Sacha


als Antwort auf: [#350484]
(Dieser Beitrag wurde von siuloong am 16. Mai 2008, 15:12 geändert)

Versalwörter suchen und ZF zuweisen, CS2?

Martin Fischer
  
Beiträge gesamt: 12732

16. Mai 2008, 15:55
Beitrag # 5 von 17
Beitrag ID: #350495
Bewertung:
(3436 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sacha,

Zitat Ich habe im Text schon einige Versalwörter, denen durch das
Charstyle-Skript zuvor das ZF Italic zugewiesen wurde. Was geschieht jetzt
mit denen? Ich glaube ich hab mein Dokument schon überschrieben ;-)


Man könnte die Suche auf ZF [OHNE ZEICHENFORMAT] einschränken.
Brauchst Du das?


Zitat Ich nehme an, dass ich für französisch z.B. die Umlaute
einfach ergänzen und da hinzufügen kann?

Richtig, hier sind alle Buchstaben, die im Zusammenhang gefunden werden sollen, aufgelistet.

Zitat Die 3 in Akkoladen: bedeutet die, dass InDesign die Wörter nimmt
ab 3 Buchstaben und mehr?

Was brauchst Du uns, wenn Du alle Fragen selbst beantwortest? ;-)

Du könntest zwischen der schließenden eckigen Klammer ] und dem \b noch \w* einfügen, um Wörter, die mit mindestens 3 Versalbuchstaben beginnen und dann mit allen möglichen Buchstaben in beliebiger Zahl zum Ende kommen, zu erwischen.


als Antwort auf: [#350488]

Versalwörter suchen und ZF zuweisen, CS2?

Sacha Heck
Beiträge gesamt: 3281

16. Mai 2008, 16:00
Beitrag # 6 von 17
Beitrag ID: #350498
Bewertung:
(3428 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Man könnte die Suche auf ZF [OHNE ZEICHENFORMAT] einschränken.
Brauchst Du das?

Jo, also das wäre eigentlich perfekt.

Zitat Du könntest zwischen der schließenden eckigen Klammer ] und
dem \b noch \w* einfügen, um Wörter, die mit mindestens 3
Versalbuchstaben beginnen und dann mit allen möglichen Buchstaben
in beliebiger Zahl zum Ende kommen, zu erwischen.

Ok, klingt nach einer guten Idee. Ich probier das mal.

Dankü

Gruß,
Sacha


als Antwort auf: [#350495]

Versalwörter suchen und ZF zuweisen, CS2?

Martin Fischer
  
Beiträge gesamt: 12732

16. Mai 2008, 16:25
Beitrag # 7 von 17
Beitrag ID: #350504
Bewertung:
(3414 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ersetze die Zeile

s.search( myCaps[i], true, true, undefined, {}, {appliedCharacterStyle : myCStyle});

durch

Code
s.search( myCaps[i], true, true, undefined, {appliedCharacterStyle : app.activeDocument.characterStyles[0]}, {appliedCharacterStyle : myCStyle}); 


(dies ist im Skript oben inzwischen so eingearbeitet)


als Antwort auf: [#350498]
(Dieser Beitrag wurde von Martin Fischer am 20. Mai 2008, 08:36 geändert)

Versalwörter suchen und ZF zuweisen, CS2?

Quarz
Beiträge gesamt: 3529

16. Mai 2008, 20:15
Beitrag # 8 von 17
Beitrag ID: #350525
Bewertung:
(3383 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Und ich hatte auch keinen Erfolg, den Ausdruck "[A-ZÄÖÜ]" durch "[:upper:]" zu ersetzen.


Hallo Martin,

beim GREPpen muß [:upper:] als [[:upper:]] geschrieben werden.
Ich weiß natürlich nicht, ob das bei JS genauso ist.

Also, ob Du es aus Unwissenheit oder aus Nachläßigkeit
falsch geschrieben hast.

Gruß
Quarz

------------------------
WinXP | CS3


als Antwort auf: [#350484]

Versalwörter suchen und ZF zuweisen, CS2?

Martin Fischer
  
Beiträge gesamt: 12732

16. Mai 2008, 21:07
Beitrag # 9 von 17
Beitrag ID: #350527
Bewertung:
(3365 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

ich habe im falschen Buch nachgeschlagen. :-(

Aber auch mit [[:upper:]] funktioniert es nicht.


als Antwort auf: [#350525]

Versalwörter suchen und ZF zuweisen, CS2?

Sacha Heck
Beiträge gesamt: 3281

19. Mai 2008, 13:12
Beitrag # 10 von 17
Beitrag ID: #350725
Bewertung:
(3222 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

Am Freitag habe ich das Skript noch problemlos eingesetzt und
jetzt auf einmal geht es nicht mehr. Ich weiß dass »geht nicht mehr«
keine Problembeschreibung ist aber in diesem Fall ist es tatsächlich so
dass sich nichts tut. Ich gebe das zuzuweisende ZF im Dialog an,
das Skript rechnet etwas aber hat im Endeffekt nichts getan ... hmmm

Gruß,
Sacha


als Antwort auf: [#350527]

Versalwörter suchen und ZF zuweisen, CS2?

Martin Fischer
  
Beiträge gesamt: 12732

19. Mai 2008, 13:16
Beitrag # 11 von 17
Beitrag ID: #350727
Bewertung:
(3220 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sacha,

schick mal den verwendeten Code.


als Antwort auf: [#350725]

Versalwörter suchen und ZF zuweisen, CS2?

Sacha Heck
Beiträge gesamt: 3281

19. Mai 2008, 13:31
Beitrag # 12 von 17
Beitrag ID: #350735
Bewertung:
(3215 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hier das verwendete Skript. Ist eigentlich so wie du's gepostet
hattest mit der ausgewechselten Zeile ...

EDIT: Bei nochmaligem Versuch erhalte ich jetzt eine Fehlermeldung
(angehängt) ...

Gruß,
Sacha


als Antwort auf: [#350727]
(Dieser Beitrag wurde von siuloong am 19. Mai 2008, 13:35 geändert)

Anhang:
CapsStyle2Caps_if_CStyle_none.jsx.zip (0.71 KB)   JS.png (28.4 KB)

Versalwörter suchen und ZF zuweisen, CS2?

Martin Fischer
  
Beiträge gesamt: 12732

19. Mai 2008, 14:04
Beitrag # 13 von 17
Beitrag ID: #350744
Bewertung:
(3198 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sacha,

tut mir leid.
Bei mir läuft's. :-(

Ich habe im Moment keine Idee, an was das liegen könnte.

Was hast Du ausgewählt?


als Antwort auf: [#350735]

Versalwörter suchen und ZF zuweisen, CS2?

Sacha Heck
Beiträge gesamt: 3281

19. Mai 2008, 14:07
Beitrag # 14 von 17
Beitrag ID: #350746
Bewertung:
(3197 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Was hast Du ausgewählt?

Den ganzen Textfluss (Story).
Wenn's bei dir so läuft muss es also an mir liegen. Denn am Freitag
lief's bei mir ja auch noch ... verhext. Ich teste mal in nem anderen
Dokument.

Zitat Ich habe im Moment keine Idee, an was das liegen könnte.

Dann trotzdem danke fürs ausprobieren.

EDIT: Jetzt geht's wieder ... keine Ahnung warum ... :-)

Gruß,
Sacha


als Antwort auf: [#350744]
(Dieser Beitrag wurde von siuloong am 19. Mai 2008, 14:11 geändert)

Versalwörter suchen und ZF zuweisen, CS2?

Sacha Heck
Beiträge gesamt: 3281

19. Mai 2008, 14:53
Beitrag # 15 von 17
Beitrag ID: #350753
Bewertung:
(3170 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Jetzt geht's wieder nicht mehr und was mir auffällt, ist, dass nach einem
zweiten Anwenden des Skripts, zwar etwas gefunden wird, das Skript
dies dann aber einfach rauslöscht und dem bleibenden Leerzeichen
das ZF zuweist. Sehr komisch ist das ...

Gruß,
Sacha


als Antwort auf: [#350746]
X