[GastForen Programme Print/Bildbearbeitung Adobe InDesign Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

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

Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

Yves Apel
Beiträge gesamt: 1724

28. Feb 2006, 23:58
Beitrag # 1 von 43
Bewertung:
(15344 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

gibt es ein Plugin, Script ..., welches es erlaubt verschiedene Elemente wie Silbentrennung, Abstände, Umbruchoptionen usw. aufeinmal in allen Absatzformaten zu ändern?

Es handelt sich darum dass ich verschiedene Dokumente mit einer menge Absatzformaten bekommen habe die allesamt nicht miteinander oder querbet ohne Logik verbunden sind ("Basiert auf:" Funktion). Diese Dokumente sind dann auch in mehreren Sprachen aufzubauen.

Die Werte müssten in einem Eingabefeld einzugeben sein da Sie von Dokument zu Dokument variieren. Gearbeitet wir auf Mac Systemen. Indesign CS oder CS2, ist egal.

Im Moment haben wir schonmal angefangen, die Formate manuell umzuändern und miteinander zu verbinden, so dass wir spätestens übermorgen fertig sein dürften. Also stellt sich die Frage für das nächste Leben und ist nicht eillig. :-)

Ich gehe aber davon aus dass so ein Tool nicht nur mich alleine interessieren würde.

Also, nur her mit den Vorschlägen und Wünschen!

Mfg
Yves

[An dieser Stelle möchte ich mich auch einmal für die genialen Scripte von Martin Fischer bedanken welche mir das Arbeiten manchmal um vieles erleichtert haben. (Allen anderen natürlich auch).]

(Dieser Beitrag wurde von Nighthawk am 1. Mär 2006, 00:00 geändert)
X

Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

Martin Fischer
  
Beiträge gesamt: 12783

1. Mär 2006, 08:33
Beitrag # 2 von 43
Beitrag ID: #214486
Bewertung:
(15306 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Yves,

so etwas wäre über ein Skript zu erledigen.
Und einfacher als über ein Dialogfenster mit verschiedenen Eingabefeldern könnte man dies über ein sog. Basisformat erledigen:
In ein Basis-Absatzformat werden all die Einstellungen vorgenommen, die an die anderen Absatzformate vererbt werden sollen. Auf Wunsch könnte man die anderen Absatzformate auch auf dem Basisabsatzformat basieren lassen.

Für diesen Zweck wäre allerdings eine Liste der zu vererbenen Eigenschaften notwendig.

Ach hättest Du die Frage nur ein paar Stunden früher gestellt:
Gestern Abend habe ich mich durch ein ähnliches Formatschlamassel - unter Stöhnen von Hand - gekämpft. Und da kam mir kurz vor Ende die Idee mit dem oben angedeuteten Skript.


als Antwort auf: [#214471]
(Dieser Beitrag wurde von Martin Fischer am 1. Mär 2006, 08:46 geändert)

Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

Yves Apel
Beiträge gesamt: 1724

1. Mär 2006, 09:43
Beitrag # 3 von 43
Beitrag ID: #214508
Bewertung:
(15278 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

danke für deine Antwort.

Zitat so etwas wäre über ein Skript zu erledigen. / Für diesen Zweck wäre allerdings eine Liste der zu vererbenen Eigenschaften notwendig.


Ich befürchte, dass es genau ab da anfängt sehr kompliziert zu werden.

Ich versuche mal die Situation an Hand von einem Beispiel darzustellen:

Ich habe das Basisformat, Format A und Format B. Alle nicht miteinander verbunden und möchte jetzt die Einstellungen für die Trennungen ändern.

Das Basisformat hat die Trennungs-Werte: Min. Wortlänge 6; Min. Buchst. vor Trennung 2; hinter Trennung 2; und Trennungen in folge 3.
Format A ist eingestellt auf: 8; 3; 3; 5.
Format B ist eingestellt auf 6; 3; 3; 3.

Wie könnte man also jetzt sagen: Ändere mir in allen Formaten die Min. Wortlänge auf den Wert 8 um, aber belasse mir die anderen Werte wie Sie sind?

Und das ganze mit allen verfügbaren Einstellungen die es in den Absatzformaten gibt. Da es für meinen jetzigen Job schon zu spät ist, müsste dieses Script also auch nicht spezifisch, sondern sehr variabel anzuwenden sein.

Wer das fertig bringt, könnte sich sehr leicht eine goldene Nase verdienen und den Ruhm aller Indesign User ernten. ;-)


Zitat Ach hättest Du die Frage nur ein paar Stunden früher gestellt


Sorry, da war ich noch viel zu viel deprimiert. :-)


als Antwort auf: [#214486]

Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

Gerald Singelmann
  
Beiträge gesamt: 6269

1. Mär 2006, 09:43
Beitrag # 4 von 43
Beitrag ID: #214509
Bewertung:
(15277 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das Problem der völlig undurchsichtigen "Basiert auf" Strukturen (wieso hat InDesign dafür eigentlich keine Analyse-Lösung?) hatte ich mal in CS.
Das Skript müsste eigentlich auch unte CS2 laufen, es erzeugt einen Textrahmen auf der ersten Seite, in dem steht, welches Format auf welchem basiert. Das macht die manuelle Arbeit leichter...

Code
global allStyles 
global styleString


tell application "Adobe InDesign CS2"
set myDoc to active document
tell myDoc
set allStyles to every paragraph style
set allStyles to items 2 thru (count every paragraph style) of allStyles

set thisFrame to make text frame
set geometric bounds of thisFrame to {0, 150, 150, 0}
set styleString to "kein Format" & return

tell me to getKids("[Kein Absatzformat]", "-")

set contents of thisFrame to (styleString as string) & return & return
end tell
end tell

on getKids(currentBase, startString)
tell application "Adobe InDesign CS2"
set nStyles to count allStyles
set tempStyles to allStyles
set i to 1
repeat while i ? nStyles
set thisStyle to item i of tempStyles
set thisBase to based on of thisStyle
if (thisBase = currentBase) then
set styleString to styleString & startString & ((name of thisStyle) as string) & return
tell me to getKids(thisStyle, startString & "-")
end if
set i to i + 1
end repeat
end tell
end getKids



als Antwort auf: [#214486]

Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

Gerald Singelmann
  
Beiträge gesamt: 6269

1. Mär 2006, 09:55
Beitrag # 5 von 43
Beitrag ID: #214517
Bewertung:
(15270 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ergänzend: ich kann die Pipette so konfigurieren, dass sie nur die Abstände, Umbruchoptionen oder Silbentrennungseinstellungen aufnimmt.
Also:
- Erzeuge einen Text mit jedem Format in einem Absatz.
- Formatiere einen Absatz mit S&B wie gewollt
- Weise mit Pipette die gewünschte Einstellung den anderen Absätzen zu
- Markiere jeweils einen Absatz und rufe "Format neu definieren" auf.
Das kostet pro AF geschätzte 15 Sekunden


als Antwort auf: [#214508]

Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

Yves Apel
Beiträge gesamt: 1724

1. Mär 2006, 10:07
Beitrag # 6 von 43
Beitrag ID: #214520
Bewertung:
(15264 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke,

ich hatte mir schon einen Ausdruck mit dem TextsytlesReporter Script gemacht.

Dein Script zeigt mir allerdings eine Fehlermeldung an (in CS und CS2):

Javascript Error!

Error Number: 25
Error String: Expected: ;
Line: 1
Source: global allStyles
Offending Text: allStyles


Leider bin ich der komplette Script banause. Kleinere Sachen kann ich ändern. Aber hier sind für mich Äpfel und Birnen das gleiche.


als Antwort auf: [#214509]

Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

Yves Apel
Beiträge gesamt: 1724

1. Mär 2006, 10:14
Beitrag # 7 von 43
Beitrag ID: #214526
Bewertung:
(15263 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
@ Gerald:

Danke für den Vortschlag,

das geht wirklich so sehr schnell. Allerdings bezieht es sich hier insgesamt auf +/- 300 Formate in 6 Dokumenten.

Da aber der grösste Teil der Fomate in allen Dokumenten das gleiche ist, habe ich Sie in einem Dokument gesammelt, ändere Sie da um und importiere Sie später wieder in die anderen Dokumente.


als Antwort auf: [#214517]

Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

Martin Fischer
  
Beiträge gesamt: 12783

1. Mär 2006, 10:18
Beitrag # 8 von 43
Beitrag ID: #214527
Bewertung:
(15261 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Yves,

ich hab mal einen Blick auf die Eigenschaften eines Absatzformats geworfen.
Es sind über 140 Stück. Und das war mir für zwischendurch zu viel.

Deshalb habe ich mir eine eigene Strategie überlegt, für die ein paar Voraussetzungen notwendig sind.

Beim folgenden Skript Absatzeigenschaften_vererben.js dient das Absatzformat "[Einfacher Absatz]" als Basisformat.
Alle Eigenschaften (bis auf ein paar Ausnahmen) dieses Basisformats werden an alle übrigen Absätze vererbt.
Vor dem Start des Skripts sollte man sich also dieses Format seinen Wünschen anpassen.

Die Ausnahmen:
1. Name: Der Name des Absatzformats "[Einfacher Absatz]" soll natürlich nicht weitervererbt werden (das würde Konflikte ergeben und im besten Fall hätte man hinterher 50 "[Einfache Absätze]")

2. Basiert auf: Hier habe ich zwei Zeilen angegeben, von denen eine aktiv (ohne vorangestellte Kommentarzeichen "//") sein sollte und eine nicht aktiv:
2.a. "myProperties.basedOn = myBaseStyle;"
Diese Einstellung läßt alle Absatzformate auf dem Basisformat ("[Einfacher Absatz]") basieren.

2.b. "myProperties.basedOn = myModStyle.basedOn;"
Diese Einstellung übernimmt die ursprüngliche Einstellung jedes Absatzes.

3. Nächstes Format: Die modifizierten Absatzformate haben dasselbe "nächste Format" wie in der Ausgangsstellung.

Meine Tests hat das Skript bestanden.
Nun warte ich auf weitere Testberichte ...

Code
//Absatzeigenschaften_vererben.js 
//
//Das Skript weist allen Absatzformaten des Dokuments die Eigenschaften des Absatzformats"[Einfacher Absatz]" zu.
//Das Absatzformat "[Einfacher Absatz]" dient als Basisformat und sollte vor dem Aufruf des Skripts auf die eigenen Bedürfnisse angepaßt werden.
//
var myDoc = app.documents[0];
var myPStyles = myDoc.paragraphStyles;
var myBaseStyle = myPStyles[1]; // Absatzformat "[Einfacher Absatz]"
if (myPStyles.length > 2)
{
for (oneStyle = 2; oneStyle < myPStyles.length; oneStyle++)
{
var myModStyle = myPStyles[oneStyle];

// Übernahme der Eigenschaften von "[Einfacher Absatz]"
var myProperties = myBaseStyle.properties;

// Übernahme einiger Eigenschaften des zu modifizierenden Absatzformats
myProperties.name = myModStyle.name; // Name
myProperties.basedOn = myBaseStyle; // Basiert auf Absatzformat "[Einfacher Absatz]"
// myProperties.basedOn = myModStyle.basedOn; // Basiert auf (wie vorher)
myProperties.nextStyle = myModStyle.nextStyle; // Nächstes Format

// Zuweisung der neuen Eigenschaften
myModStyle.properties = myProperties;
}
}



Im Prinzip könnte man per Dialog auch ein anderes Basisformat wählen.
Allerdings müßte ich dann stets aufpassen, daß mir dises Format nicht in der Schleife in die Quere kommt (kein Aufwand, aber ein unangenehmens Gefühl ...).


als Antwort auf: [#214508]

Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

Martin Fischer
  
Beiträge gesamt: 12783

1. Mär 2006, 10:26
Beitrag # 9 von 43
Beitrag ID: #214535
Bewertung:
(15255 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Wie könnte man also jetzt sagen: Ändere mir in allen Formaten die Min. Wortlänge
> auf den Wert 8 um, aber belasse mir die anderen Werte wie Sie sind?

Wenn Du mir das sagst, dann sage ich das dem Skript.
Aber wenn Du mir bei über 140 Einstellungen sagst, was Du wünscht, dann ist das für Dich und für mich mit einem ziemlicher Aufwand verbunden.

> Und das ganze mit allen verfügbaren Einstellungen die es in den Absatzformaten gibt.
> Da es für meinen jetzigen Job schon zu spät ist, müsste dieses Script also auch nicht
> spezifisch, sondern sehr variabel anzuwenden sein.

Diesem Aspekt habe ich versucht, mit der Lösung über ein Basisformat Rechnung zu tragen.
Theoretisch sind auch zwei oder mehrere Basisformate möglich (für Headlines, für Grundschrift, für Kleindruck). Da müßte halt vorher eine Zuordnung der Absatzformate zu den Gruppen und die Zuordnung des Basisformats zu den Gruppen definiert werden.

> Wer das fertig bringt, könnte sich sehr leicht eine goldene Nase verdienen
Eine goldene Nase verdient man sich bei der Veröffentlichung freier Skripte nicht.
Aber manchmal gibt es einen virtuellen Knutsch. ;-)


als Antwort auf: [#214508]
(Dieser Beitrag wurde von Martin Fischer am 1. Mär 2006, 10:27 geändert)

Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

Jochen Uebel
Beiträge gesamt: 3200

1. Mär 2006, 10:57
Beitrag # 10 von 43
Beitrag ID: #214550
Bewertung:
(15242 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Nighthawk,
gelegentlich, je nach Dokumentstrukturen, hilft auch, alle Doks in ein Buch zusammenzufassen, in einem Dokument die Formate zu optimieren und dann den anderen Doks im Buch zu sagen, daß sie die Formate zu übernehmen haben.


als Antwort auf: [#214471]

Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

Martin Fischer
  
Beiträge gesamt: 12783

1. Mär 2006, 11:09
Beitrag # 11 von 43
Beitrag ID: #214558
Bewertung:
(15234 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Jochen,

eine ähnliche Lösung hat Yves oben angedeutet: http://www.hilfdirselbst.ch/..._P214526.html#214526

Es handelt sich aber immerhin um ca. 300 Formate, die in einem Dokument erst einmal angepaßt werden müßten.


als Antwort auf: [#214550]

Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

Yves Apel
Beiträge gesamt: 1724

1. Mär 2006, 11:15
Beitrag # 12 von 43
Beitrag ID: #214563
Bewertung:
(15230 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jochen,

ich gebe dir natürlich vollkommen recht. Wenn die Dokumente bei uns von Anfang an aufgebaut werden, sind diese natürlich sauberer aufgearbeited.

In diesem Fall waren es aber gelieferte Dokumente. Und diese Fälle kommen in der Zukunft mit Sicherheit noch häufiger vor.

Danke aber für den Vorschlag


als Antwort auf: [#214550]
(Dieser Beitrag wurde von Nighthawk am 1. Mär 2006, 11:16 geändert)

Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

Yves Apel
Beiträge gesamt: 1724

1. Mär 2006, 11:34
Beitrag # 13 von 43
Beitrag ID: #214579
Bewertung:
(15218 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

da hast du mal wieder ein Super Script hergestellt. Ich habe es gleich in meiner "nützlichen Script" Schublade verstaut. Auch ich könnte dich virtuell "knutschen".

Ich habe mal bei uns nachgeschaut/gefragt welche Einstellungen am häufigsten in Formaten umgeändert werden müssen:

Eindeutig hat sich daraus ergeben dass:

die Sprache am häufigsten gewechselt werden muss. (Dank dir ist dies aber schon leicht mit dem change language Script umzuändern)

An zweiter Stelle sind es die gesamten Optionen der Silbentrennung.

Und zu guter letzt wird auch sehr häufig mit den Abständen (Justification) herumexperimentiert.

Gibt es da eventuell die Möglichkeit jeweils ein Script zu schreiben? So ungefähr: Change Hyphenation.js und ein Change Justification.js

Auf jedenfall bist du jetzt schon herzlich auf ein Bier von mir eingeladen. :-)


als Antwort auf: [#214527]

Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

Martin Fischer
  
Beiträge gesamt: 12783

1. Mär 2006, 11:43
Beitrag # 14 von 43
Beitrag ID: #214583
Bewertung:
(15211 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Gibt es da eventuell die Möglichkeit jeweils ein Script zu schreiben?
> So ungefähr: Change Hyphenation.js und ein Change Justification.js

Freilich ist so etwas möglich.
Die Frage ist nur, wie kann man die Definition von Eigenschaften für unterschiedliche Bedrüfnisse so variabel wie möglich halten.

Du kannst so ein Skript schreiben, in dem alle Werte fest vergeben werden:

Code
with (app.documents.paragraphStyes.item("MeinStil")) 
{
hyphenateAfterFirst = 2;
hyphenateBeforeLast = 3;
hyphenateCapitalizedWords = true;
hyphenateLadderLimit = 3;
hyphenateLastWord = true;
hyphenateWordsLongerThan = 6;
hyphenation = true;
hyphenationZone = 12.7;
hyphenWeight = 5;
}


Aber da mußt Du jedesmal ins Skript eingreifen, wenn Du andere Werte haben wilslt.
Deswegen suche ich gerne nach einer möglichst variablen und allgemeinen Wertermittlung.

Im Prinzip könnte man sich diese Werte auch exten in einer TXT-Datei speichern und für unterschiedliche Einstellungen unterschiedliche TXT-Dateien anlegen.


als Antwort auf: [#214579]
(Dieser Beitrag wurde von Martin Fischer am 1. Mär 2006, 11:44 geändert)

Verschiedene Elemente in allen Absatzformaten aufeinmal ändern

Yves Apel
Beiträge gesamt: 1724

1. Mär 2006, 11:58
Beitrag # 15 von 43
Beitrag ID: #214593
Bewertung:
(15201 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Jedesmal in das Script einzugreifen wäre ein sehr geringes Übel.
Alternativ wäre die Möglichkeit die Werte der Trennungen aus dem Basisformat auszulesen. Dann hätte man eine gewisse Variabele.

Ich bekomme dein neuestes Script nicht gebacken oder muss dies als Teil eines anderen Scripts eingebunden werden?


P.S. Ändere noch bitte "app.documents.paragraphStyes.item" in "app.documents.paragraphStyles.item" um (Das l bei styles fehlt).


als Antwort auf: [#214583]
(Dieser Beitrag wurde von Nighthawk am 1. Mär 2006, 12:01 geändert)
X