[GastForen Programme Print/Bildbearbeitung Adobe InDesign Umwandlung per GREP

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

Umwandlung per GREP

GePx
Beiträge gesamt: 330

16. Jul 2009, 17:53
Beitrag # 1 von 29
Bewertung:
(10461 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Ich bekomme eine Vorlage, in der sämtliche Titel, sämtliche Glossareinträge usw. in Versalien sind.
Gibt es eine Möglichkeit, das automatisch umzuwandeln?

(Ich möchte vermeiden, bei jedem einzelnen Wort die Groß-/Kleinschreibung anzuklicken.)

ich dachte, ich hätte mal solch eine Diskussion hier verfolgt, kann sie aber nicht mehr finden.

Wie ließe sich das per GREP lösen?

[[:upper:]]+\b

damit finde ich die Wörter in Großbuchstaben.
Aber was füge ich in die Ersetzen-Zeile ein?

Danke für eure Hilfe
Gerd
X

Umwandlung per GREP

Martin Fischer
  
Beiträge gesamt: 12779

16. Jul 2009, 18:14
Beitrag # 2 von 29
Beitrag ID: #402265
Bewertung:
(10441 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerd,

das könnte mit folgendem Skript funktionieren.
Code
//caps2small.jsx 

app.findGrepPreferences = null;
app.findGrepPreferences.findWhat = '\\<\\u{2,}\\>';
var myResult = app.activeDocument.findGrep();

for (var i = myResult.length-1; i >= 0; i-- )
myResult[i].contents = myResult[i].contents.toLowerCase();


Oh nein, der erste Buchstabe muss groß bleiben - oder?
Muss gleich weg und könnte es Dir später anpassen, wenn keine andere Lösung kommt.


als Antwort auf: [#402263]

Umwandlung per GREP

GePx
Beiträge gesamt: 330

16. Jul 2009, 18:56
Beitrag # 3 von 29
Beitrag ID: #402271
Bewertung:
(10428 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

Vielen Dank!

Ja, der erste Buchstabe sollte groß bleiben, Abweichungen kann ich dann von Hand bearbeiten.

Habe dein Skript getestet - es funktionierte für zwei Seiten, der Rest blieb so, wie er war.

Gerd


als Antwort auf: [#402265]

Umwandlung per GREP

Peter Kahrel
Beiträge gesamt: 182

16. Jul 2009, 19:06
Beitrag # 4 von 29
Beitrag ID: #402272
Bewertung:
(10422 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Versuche mal "(?<=\\<\\u)\\u+"

Grusse,

Peter


als Antwort auf: [#402271]

Umwandlung per GREP

GePx
Beiträge gesamt: 330

16. Jul 2009, 19:26
Beitrag # 5 von 29
Beitrag ID: #402275
Bewertung:
(10414 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Peter,

genial - das ist es!

Vielen Dank!
Gerd


als Antwort auf: [#402272]

Umwandlung per GREP

Martin Fischer
  
Beiträge gesamt: 12779

16. Jul 2009, 23:20
Beitrag # 6 von 29
Beitrag ID: #402305
Bewertung:
(10377 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Peter,

danke für den passenden Ausdruck.


als Antwort auf: [#402272]

Umwandlung per GREP

Gerald Singelmann
  
Beiträge gesamt: 6269

17. Jul 2009, 00:45
Beitrag # 7 von 29
Beitrag ID: #402310
Bewertung:
(10365 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Aaah, now I got it.
Peter's grep ist, was in das Script eingesetzt werden muss. Ich fragte mich einige Minuten lang, wie man per Suchen/Ersetzen die Groß-Kleinschreibung ändert und was die doppelten / sollen...
So aber ists klar :)


als Antwort auf: [#402305]

Umwandlung per GREP

Quarz
Beiträge gesamt: 3550

17. Jul 2009, 17:50
Beitrag # 8 von 29
Beitrag ID: #402388
Bewertung:
(10294 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Gerd, Martin und Peter für das Script.

Das hat mir schon lange gefehlt :-)))

Gruß
Quarz

--------------------------------------
WinXP| InDesign 6.02



als Antwort auf: [#402310]

Umwandlung per GREP

Quarz
Beiträge gesamt: 3550

24. Jul 2009, 07:42
Beitrag # 9 von 29
Beitrag ID: #403013
Bewertung:
(10135 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Einen schönen Guten Morgen,

habe ich doch gestern zum ersten mal das Script angewendet -
und siehe da, es hat mir auf ca. 80 Seiten alle Versalien
umgewandelt; es waren etliche.

Mein Entsetzen war groß :-(((
Gott sei Dank habe ich das Script 'Undo - Redo'.

Meine Herrn, das kann es ja wohl nicht sein!!!

Gruß
Quarz


als Antwort auf: [#402388]

Umwandlung per GREP

Martin Fischer
  
Beiträge gesamt: 12779

24. Jul 2009, 08:20
Beitrag # 10 von 29
Beitrag ID: #403016
Bewertung:
(10126 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

die ursprüngliche Aufgabenstellung lautete:

Zitat von Gerd Ich bekomme eine Vorlage, in der sämtliche Titel, sämtliche Glossareinträge usw. in Versalien sind.
Gibt es eine Möglichkeit, das automatisch umzuwandeln?


Und ich hatte es so verstanden, dass es um alle Begriffe gehe, die von vorne bis hinten aus Versalbuchstaben bestehen.

Willst nur die Versalbegriffe in einer Auswahl umwandeln, dann kannst Du folgende Version verwenden:

Code
//caps2titleCase_or_smallCaps.jsx  

//DESCRIPTION:Wandelt Worte in Versalbuchstaben um in 'erster Buchstabe im Wort groß'; optional wird ein Kapitälchen-Zeichenformat zugewiesen.
// Ist Text ausgewählt, beschränkt sich die Umwandlung auf diese Auswahl.
// Andernfalls erfolgt die Umwandlung im ganzen Dokument


var applyCS = confirm('Zeichenformat zuweisen?');
if (applyCS == true)
var myCS = getCS('SmallCaps');

var myRange = (app.selection.length > 0 && app.selection[0].hasOwnProperty ('baseline'))
? app.selection[0]
: app.documents.firstItem();

app.findGrepPreferences = null;
app.findGrepPreferences.findWhat = '(?<=\\<\\u)\\u+';

var myResult = myRange.findGrep();
for (var i = myResult.length-1; i >= 0; i-- )
{
myResult[i].contents = myResult[i].contents.toLowerCase();
if (applyCS == true)
myResult[i].words.firstItem().appliedCharacterStyle = myCS;
}

function getCS(oneStyle){
var aCS = null;
aCS = app.documents.firstItem().characterStyles.item(oneStyle);
if (aCS == null)
aCS = app.documents.firstItem().characterStyles.add({name:oneStyle, capitalization:Capitalization.SMALL_CAPS});
return aCS;
}


Diese Version bietet zudem die Option, den umgewandelten Worten eine Zeichenformat 'SmallCaps', das vom Skript bei Bedarf angelegt wird, zuzuweisen.

Aber Dein Aufschrei war so laut, vielleicht weißt Du noch eine andere Einschränkung der Umwandlung, die sich in einer Regel formulieren lässt.


als Antwort auf: [#403013]
(Dieser Beitrag wurde von Martin Fischer am 24. Jul 2009, 08:36 geändert)

Umwandlung per GREP

Quarz
Beiträge gesamt: 3550

24. Jul 2009, 08:35
Beitrag # 11 von 29
Beitrag ID: #403019
Bewertung:
(10113 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

ich danke Dir :-)

Gleich habe ich bestimmt wieder die Gelegenheit
das neue Script auszuprobieren.

Ich melde mich dann.

Gruß
Quarz

--------------------------------------
WinXP| InDesign 6.03



als Antwort auf: [#403016]
(Dieser Beitrag wurde von Quarz am 24. Jul 2009, 08:49 geändert)

Umwandlung per GREP

Quarz
Beiträge gesamt: 3550

24. Jul 2009, 08:58
Beitrag # 12 von 29
Beitrag ID: #403026
Bewertung:
(10102 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

prima!!

Ich habe das Zeichenformat in 'bold' geändert.
Denn die Referenten, für die 'SmallCaps' notwendig sind,
bekomme ich in 'falschen Kapitälchen' oder 'Gemischt' geliefert.

Gruß
Quarz

--------------------------------------
WinXP| InDesign 6.03



als Antwort auf: [#403016]

Umwandlung per GREP

GePx
Beiträge gesamt: 330

24. Jul 2009, 11:11
Beitrag # 13 von 29
Beitrag ID: #403049
Bewertung:
(10071 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

eine gute Variante, falls es Versalien-Wörter im Text gibt, die man nicht umwandeln möchte.

Ich habs dann ausprobiert, das Skript so zu ändern, dass nicht SC, sondern bold bei rauskommt, so wie Quarz es für sich gemacht hat - aber ich kriegs nicht hin. Lernen durch Try and error = error ... ;-)

Ich habe in Zeile 10 statt SmallCaps bold reingeschrieben - sollte das nicht so funktionieren?

Man könnte nicht (ohne Aufwand) ein Dialogfeld bauen, dass nicht nur "Zeichenformat ändern?" abfragt, sondern eine Auswahl an Zeichenformaten zum anklicken anbietet?

Aber bitte: Ich habe da keine konkrete Aufgabe vor mir, das ist jetzt eine Überlegung für zukünftige Fälle. Deshalb bitte keine Umstände! Und womöglich versteh ich bis dahin auch ein bisschen mehr von Skripten.

beste Grüße!
Gerd


als Antwort auf: [#403016]

Umwandlung per GREP

Martin Fischer
  
Beiträge gesamt: 12779

24. Jul 2009, 11:27
Beitrag # 14 von 29
Beitrag ID: #403055
Bewertung:
(10066 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerd,

in Zeile 10 trägst Du den Namen des Zeichenformats ein.
Ist es vorhanden, wird es mit den gegebnene Attributen verwendet.
Ist es nicht vorhanden, dann wird es in Zeile 31 neu angelegt.

Für FETT ersetze die Zeile
aCS = app.documents.firstItem().characterStyles.add({name:oneStyle, capitalization:Capitalization.SMALL_CAPS});

durch diese

Code
aCS = app.documents.firstItem().characterStyles.add({name:oneStyle,  fontStyle:'Bold'}); 



als Antwort auf: [#403049]

Umwandlung per GREP

GePx
Beiträge gesamt: 330

24. Jul 2009, 11:34
Beitrag # 15 von 29
Beitrag ID: #403060
Bewertung:
(10064 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

vielen Dank, so funktionierts.

Gerd


als Antwort auf: [#403055]
X