[GastForen Programme Print/Bildbearbeitung Adobe InDesign Nächstes Format anwenden

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

Nächstes Format anwenden

Martin Fischer
  
Beiträge gesamt: 12778

28. Sep 2006, 18:25
Beitrag # 1 von 25
Bewertung:
(16535 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Eines meiner Lieblingswerkzeuge von InDesign ist Nächstes Format anwenden:

Nach Auswahl von mindestens zwei Absätzen "Rechts-Klick auf Formatname in der Absatzformatpalette" und dort "Nächstes Format auswählen".
Aber weil ich es so oft brauche (Wechsel Überschrift - Grundschrift stumpf, Kleindruck - Grundschrift stumpf mit Abstand oben), würde ich mir dies gerne auf eine Taste legen.

Es nervt, mit der Maus im Flyoutmenü auf die Schnelle nicht immer das richtige Ziel zu erwischen. So behelfe ich mir oft mit der Alternative Schnellformatierung (Apfel-Return). Lieber wäre mir eine Behandlung beider Absätze auf einen Streich.

Bevor ich mir jetzt ein entsprechendes Skript bastle, möchte ich hier anfragen, ob das auch mit Bordmitteln geht.

(Dieser Beitrag wurde von Martin Fischer am 28. Sep 2006, 18:29 geändert)
X

Nächstes Format anwenden

Jochen Uebel
Beiträge gesamt: 3200

28. Sep 2006, 18:47
Beitrag # 2 von 25
Beitrag ID: #253713
Bewertung:
(16524 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Erst meinte ich, es geht: Aber ich irrte mich. Du mußt skripten!

Aber für Neulinge, die es interessiert:
Alle Befehle, die einen Tastaturbefehl bekommen können (oder deren Tastaturbefehl man ändern möchte), finden sich in "Bearbeiten->Tastaturbefehle...". Nur muß man dort oft mhsam suchen: In welchem "Produktbereich" befindet sich ein Befehl? Das ist nicht immer eindeutig. Deshalb:

"Satz anzeigen..." erzeugt sofort eine Textdatei, in der all diese Befehle ausnahmslos (!) versammelt sind.
Mit den Suchen-Befehlen eines Texteditors läßt sich also sofort herausfinden, ob der gesuchte Befehl für die Annahme (oder Änderung) eines Shortcuts vorgesehen ist oder nicht.

Und Achtung: Tastaturbefehle nie im Satz "Standard" ändern, sondern stattdessen einen auf "Standard" basierenden neuen Satz anlegen, den benutzen und den ggf. ändern.


als Antwort auf: [#253706]

Nächstes Format anwenden

Martin Fischer
  
Beiträge gesamt: 12778

28. Sep 2006, 18:56
Beitrag # 3 von 25
Beitrag ID: #253717
Bewertung:
(16520 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Jochen, danke für Deine Antwort.

> Mit den Suchen-Befehlen eines Texteditors läßt sich also sofort herausfinden, ob der
> gesuchte Befehl für die Annahme (oder Änderung) eines Shortcuts vorgesehen ist oder nicht.

Du wirst jetzt bestimmt (hoffentlich) lachen.
Dies habe ich kurz vor Veröffentlichung meiner Frage nochmal ausprobiert.

Jetzt bin ich wohl das Skript schuldig ...


als Antwort auf: [#253713]

Nächstes Format anwenden

Jochen Uebel
Beiträge gesamt: 3200

28. Sep 2006, 19:11
Beitrag # 4 von 25
Beitrag ID: #253721
Bewertung:
(16518 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja, davon gehe ich aus, daß Du diesen Weg längst kanntest ;-)
Schrieb ich "for the rest of us" ;-)


als Antwort auf: [#253717]

Nächstes Format anwenden

Gerald Singelmann
  
Beiträge gesamt: 6269

28. Sep 2006, 19:50
Beitrag # 5 von 25
Beitrag ID: #253727
Bewertung:
(16512 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Jetzt bin ich wohl das Skript schuldig ...


Aus der Rumpelschublade:

Code
tell application "Adobe InDesign CS2" 
set aSel to selection
set thisText to item 1 of aSel as reference
set nPara to count paragraph of thisText
set aStyle to applied paragraph style of paragraph 1 of thisText
repeat with n from 2 to nPara
set nextStyle to next style of aStyle
set applied paragraph style of paragraph n of thisText to nextStyle
set aStyle to nextStyle
end repeat
end tell



als Antwort auf: [#253717]

Nächstes Format anwenden

Martin Fischer
  
Beiträge gesamt: 12778

28. Sep 2006, 21:20
Beitrag # 6 von 25
Beitrag ID: #253739
Bewertung:
(16494 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerald,

Mein Code ist gegenüber Deiner Vorgabe etwas länger geworden.
Diesen Overload soll ein Zugewinn an Funktionaliät wieder ausgleichen.

1. Das Skript behandelt alle ausgewählten Textobjekte (es können also z.B. auch mehrere Textrahmen ausgewählt werden.

2. Das Absatzformat des ersten Absatzes der Auswahl ist ganz oben definiert, hier "Petit". Ist dieses Absatzformat im Dokument vorhanden, wird dem ersten Absatz jeweils dieses Absatzformat zugewiesen. Ist es nicht vorhanden, passiert dem ersten Absatz gar nichts.

3. Die folgenden Absätze (sofern in der Auswah vorhanden) bekommen dann jeweils das "nächste Absatzformat" des Vorgängers zugewiesen (Absatz 2 bekommt das nächste Absatzformat von Absatz 1, Absatz 3 dasjenige von Absatz 2 ...).

4. Ist nur ein Absatz ausgewählt, bekommt er - wenn vorhanden - das angegebene Absatzformat zugewiesen und - falls vorhanden - bekommt der nächste Absatz das nächste Absatzformat des ausgewählten Absatzes.
Damit kann man also auf einen Schlag dem gewählten Absatz ein Format zuweisen und dem folgenden Absatz (ohne daß er ausgewählt ist) das Folgeformat zuweisen (so brauche ich's meistens).

Jetzt habe ich meinen Tastaturbefehl.

Code
// FirstAndNextStyles.jsx 

var myFirstPStyle = "Petit";

Object.prototype.isText = function()
{
switch(this.constructor.name)
{
case "InsertionPoint":
case "Character":
case "Word":
case "TextStyleRange":
case "Line":
case "Paragraph":
case "TextColumn":
case "Text":
case "TextFrame":
return true;
default :
return false;
}
}

if (app.selection.length > 0) {
var myDoc = app.documents[0];
for (oneSel = 0; oneSel < app.selection.length; oneSel++) {
if (app.selection[oneSel].isText()) {
// apply paragraph style to the first of selected paragraphs
try {
app.selection[oneSel].paragraphs[0].appliedParagraphStyle = myDoc.paragraphStyles.item (myFirstPStyle);
}
catch(e){
}

// apply paragraphs next style to the following paragraphs
if (app.selection[oneSel].paragraphs.length > 1) {
for (oneP = 1; oneP < app.selection[oneSel].paragraphs.length; oneP++)
app.selection[oneSel].paragraphs[oneP].appliedParagraphStyle = app.selection[oneSel].paragraphs[oneP-1].appliedParagraphStyle.nextStyle;
}
else if ((app.selection[oneSel].paragraphs.length == 1) && (app.selection[oneSel].paragraphs[0].insertionPoints[-1].paragraphs[0])) {
app.selection[oneSel].paragraphs[0].insertionPoints[-1].paragraphs[0].appliedParagraphStyle = app.selection[oneSel].paragraphs[0].appliedParagraphStyle.nextStyle;
}
}
}
}



als Antwort auf: [#253727]
(Dieser Beitrag wurde von Martin Fischer am 29. Sep 2006, 00:33 geändert)

Nächstes Format anwenden

zaphodbeeblebroxx
Beiträge gesamt: 408

29. Sep 2006, 11:24
Beitrag # 7 von 25
Beitrag ID: #253839
Bewertung:
(16445 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

habe mir vor kurzem ein Skript gebastelt, da ich ein ähnliches Problem hatte:

Mein Grundschrifttext hat normalerweise bei einem neuen Absatz einen Einzug in der ersten Zeile (z.B. 1 Geviert) außer bei Grundschrifttext nach Überschriften, da hat der Grundschrifttext keinen Einzug.

Da das im gelieferten Word-Dok. nicht berücksichtigt worden ist, habe ich mir in ID zwei Absatzformate angelegt: Grundschrift ohne Einzug und ein Absatzformat Grundschrift mit Einzug.

Beim Import weise ich dem Word-Grundschrift-Format mein ID Format "GS mit Einzug" zu.

Um die Einzüge des Grundschrifttexts nach Überschriften zu "beseitigen" verwende ich das folgende Skript:
Code
//ChangeParaStyleAfterHeadline.jsx  
//

var myCounter = 0;
var myDoc = app.documents[0];
var myParaList = new Array();

// Absatzformate einlesen
for (oneStyle = 2; oneStyle < myDoc.paragraphStyles.length; oneStyle ++){
myParaList[oneStyle-2] = myDoc.paragraphStyles.item(oneStyle).name;
}

// Dialog aufrufen
var myDialog = getParas();

app.findPreferences = app.changePreferences = null;

var myFoundItems = myDoc.search("",false,false,undefined, {appliedParagraphStyle:myHead});
if (myFoundItems.length > 0)
{
for (oneResult=0; oneResult < myFoundItems.length; oneResult++){
try {
if (myFoundItems[oneResult].parentStory.paragraphs.nextItem(myFoundItems[oneResult].paragraphs.item(0)).appliedParagraphStyle.name == myGS1){
myFoundItems[oneResult].parentStory.paragraphs.nextItem(myFoundItems[oneResult].paragraphs.item(0)).applyStyle(myDoc.paragraphStyles.item(myGS2), false);
var myCounter = myCounter+1;
}
}
catch(e) {}
}
}
alert(myCounter + "mal wurde das Format '" + myGS1 + "' geändert in '" + myGS2 + "'");




//----------------------------------------------------------------------------------------------
// Dialog
//----------------------------------------------------------------------------------------------
function getParas()
{
var myFieldWidth = 215;

var myDialog = app.dialogs.add({name:"Absatzformat nach einem bestimmten Absatzformat ändern"});
with(myDialog.dialogColumns.add()){
with(dialogRows.add()){
with(dialogColumns.add()){
staticTexts.add({staticLabel:"Suchen nach Absatzformat", minWidth:myFieldWidth});
}
with(dialogColumns.add()){
var theSearchParaStyle1 = dropdowns.add({stringList:myParaList, selectedIndex:0});;
}
}
with(dialogRows.add()){
with(dialogColumns.add()){
staticTexts.add({staticLabel:"----------------------------------------------------------"});
}
}
with(dialogRows.add()){
with(dialogColumns.add()){
staticTexts.add({staticLabel:"wenn nachfolgendes Format = ", minWidth:myFieldWidth});
}
with(dialogColumns.add()){
var theSearchParaStyle2 = dropdowns.add({stringList:myParaList, selectedIndex:0});;
}
}
with(dialogRows.add()){
with(dialogColumns.add()){
staticTexts.add({staticLabel:"nachfolgendes Format ändern in: ", minWidth:myFieldWidth});
}
with(dialogColumns.add()){
var theChangeParaStyle = dropdowns.add({stringList:myParaList, selectedIndex:0});;
}
}
}
var theResult = myDialog.show();
if(theResult == true){
myHead = myParaList[theSearchParaStyle1.selectedIndex];
myGS1 = myParaList[theSearchParaStyle2.selectedIndex];
myGS2 = myParaList[theChangeParaStyle.selectedIndex];
myDialog.destroy();
}
else{
myDialog.destroy();
exit();
}
}


Man kann im Dialog angeben, nach welcher Kombination von 2 Absatzformaten gesucht werden soll und in welches Format das zweite (nachfolgende) Format geändert werden soll. Die Zuweisung des neuen Absatzformates erfolgt so, dass manuelle Zeichenformatierungen erhalten bleiben.

Also z.B. Suchen nach "Überschrift1", wenn das Format des nächsten Absatzes = "GS mit EZ" dann das Format des nächsten Absatzes ändern in "GS ohne EZ". Man könnte natürlich auch nur der Erstzeileneinzug per Skript ändern, aber so kann ich das Skript auch noch für andere Zwecke nutzen.

zaphodbeeblebroxx


als Antwort auf: [#253739]

Nächstes Format anwenden

Martin Fischer
  
Beiträge gesamt: 12778

29. Sep 2006, 11:46
Beitrag # 8 von 25
Beitrag ID: #253848
Bewertung:
(16438 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Matthias,

Dein Skript ist interessant und hat den spontanen Test bestanden.
Danke.

Jetzt hat applyParaStyle2HeadlineAfterHeadline_2.jsx Verwandtschaft bekommen. ;-)


als Antwort auf: [#253839]
(Dieser Beitrag wurde von Martin Fischer am 29. Sep 2006, 12:06 geändert)

Nächstes Format anwenden

Duplex
Beiträge gesamt: 62

16. Feb 2010, 20:48
Beitrag # 9 von 25
Beitrag ID: #433823
Bewertung:
(15726 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

bin auf der Suche für eine Lösung meines Problems auf dieses Script gestoßen, welches mir eventuell etwas "umgestrickt" ziemlich viel Formatierungsarbeit abnehmen würde.
Nach mehreren stümperhaften Versuchen einer Anpassung bin ich Scriptlaie leider am Ende meines Lateins :-(

Ich habe folgendes Problem:

Es wird ein unendlich langer Text mit vielen Angeboten aus einer Datenbank generiert:

z. B.

Firma
Adresse
Telefeon
Fax
Angebot
Zusatztext

Diesen Text habe ich mit TextCleanup soweitmöglich grob formatiert. Leider gibt es viele "Abweichler" von diesem Schema.

z. B.

Firma
Adresse
Telefon
Angebot1
Angebot2
Zusatztext.

In diesem Fall ist das Absatzformat für Telefon ein anderes (mit Abstand) als beim ersten Beispiel.

Ich suche jetzt nach einer Möglichkeit (ähnlich dem Script) die Absatzformate nach bestimmten Kriterien zuzuordnen.

Also beispielsweise: AF Telefon, wenn danach kein AF Fax nimm bitte AF Telefon-mit-Abstand.

Oder: AF Angebot, wenn danach AF Zusatztext nimm bitte für AF Angebot das AF Angebot+Abstand

Mit einer Absatzverknüfpung kann ich auch nicht arbeiten, da es zu viele unterschiedliche Varianten gibt.

Hat jemand evtl. ein ähnliches Problem und kann mir bei der Problemlösung helfen? Oder ist es möglich, das Script für die jeweiligen Such-Konstellationen zu verbiegen??
Ich freu mich über jeden hilfreichen Vorschlag.


Vielen Dank
Duplex


als Antwort auf: [#253848]

Nächstes Format anwenden

Quarz
Beiträge gesamt: 3548

17. Feb 2010, 11:44
Beitrag # 10 von 25
Beitrag ID: #433865
Bewertung:
(15668 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Duplex,

wenn Du uns noch sagst, mit welchem InDesign Du
unterwegs bist, dann fällt es vielleicht leichter, Dir
eine Lösung zu geben.

Gruß
Quarz

--------------------------------------------
InDesign CS4 ver6.04 | WinXP SP3



als Antwort auf: [#433823]

Nächstes Format anwenden

Martin Fischer
  
Beiträge gesamt: 12778

17. Feb 2010, 11:58
Beitrag # 11 von 25
Beitrag ID: #433872
Bewertung:
(15663 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich empfehle einen Test mit SmartStyles.
Damit geht es unter Umständen schneller und billiger.


als Antwort auf: [#433865]

Nächstes Format anwenden

Duplex
Beiträge gesamt: 62

17. Feb 2010, 15:15
Beitrag # 12 von 25
Beitrag ID: #433894
Bewertung:
(15614 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

danke für die schnellen Antworten. Sorry, vergessen: ich arbeite mit CS4, XP, SP3.
Eine kostenpflichtige Lösung kommt leider nicht in Frage. Da ich auch nicht weiß, in welcher Reihenfolge in die AF benötige, wäre ein Script in der Art von zaphodbeeblebroxx nicht schlecht. Um beim Beispiel zu bleiben:

Suchen nach "Überschrift1", wenn das Format des nächsten Absatzes = "GS mit EZ" dann ändere das Format "Überschrift 1" in "Überschrift 2".

VG
Annett


als Antwort auf: [#433872]

Nächstes Format anwenden

Sacha Heck
Beiträge gesamt: 3281

17. Feb 2010, 15:38
Beitrag # 13 von 25
Beitrag ID: #433896
Bewertung:
(15599 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

Bin gerade auf das FirstAndNextStyles.jsx aufmerksam geworden.
Ist ja ein Beitrag der schon älter ist. Ich habe gerade eine Liste wo mir
das Skript helfen könnte. Aber kann es sein, dass es auf CS4 nicht
funktioniert? Habe es auch im Ordner "Version 4.0 Scripts" versucht.
Oder kann es an meinem Absatzformat liegen, das Leerzeichen beinhaltet
und innerhalb eines Ordners liegt (die man ja jetzt erstellen kann).
Das Skript rechnet was udn dann geschieht nichts ...

Gruß,
Sacha


als Antwort auf: [#253739]

Nächstes Format anwenden

Martin Fischer
  
Beiträge gesamt: 12778

17. Feb 2010, 15:55
Beitrag # 14 von 25
Beitrag ID: #433900
Bewertung:
(15583 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sacha,

das Skript müsste schon noch funktionieren – unter einer Bedingung:
Das erste Absatzformat (definiert in der Zeile var myFirstPStyle = "G1"; ) darf nicht in einer Gruppe sein.
Aber das ließe sich anpassen.

Ganz fix (und holprig) etwa so:
ändere die Zeile app.selection[oneSel].paragraphs[0].appliedParagraphStyle = myDoc.paragraphStyles.item (myFirstPStyle);

in
Code
app.selection[oneSel].paragraphs[0].appliedParagraphStyle = myDoc.paragraphStyleGroups.item('Gruppe_des_ersten_Absatzes').paragraphStyles.item (myFirstPStyle); 


Ersetze 'Gruppe_des_ersten_Absatzes' durch den Namen der Gruppe, in dem das erste Absatzformat liegt.


als Antwort auf: [#433896]

Nächstes Format anwenden

Sacha Heck
Beiträge gesamt: 3281

17. Feb 2010, 16:21
Beitrag # 15 von 25
Beitrag ID: #433903
Bewertung:
(15567 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hey Martin,

Yes, danke. Funktioniert :-) Coole Sache und mit Apfel-Alt-Shift-Enter
ein schönes Kürzel. Na dann kann ich heute eher nach Hause gehen ;-)

Gruß,
Sacha


als Antwort auf: [#433900]
X