[GastForen Programme Print/Bildbearbeitung Adobe InDesign "Abstand verteilen" mit Basis-Objekt

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

"Abstand verteilen" mit Basis-Objekt

ssudoku
Beiträge gesamt: 29

22. Nov 2010, 18:19
Beitrag # 1 von 18
Bewertung:
(22845 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Bekanntlichermaßen und bedauerlicherweise ist es ja in InDesign nicht möglich, wie in Illustrator beim Ausrichten und Verteilen mehrerer Objekte ein Basis-Objekt festzulegen, anhand dessen die anderen Objekte ausgerichtet werden.

Beim Ausrichten ist es in InDesign immerhin möglich, das Objekt, das fest bleiben soll, zu sperren. Dann kann man z.B. die Objekte an der unteren Kante eines _oberen_ Objekts ausrichten.

Wenn man allerdings "Abstand verteilen" möchte, um z.B. einen Abstand von genau 2 mm zwischen Objekten zu erreichen, und dann ein Objekt sperrt, meldet InDesign CS5 "Objekt gesperrt" in der Hälfte der Fälle. (Dann, wenn man z.B. einen horizontalen Abstand erreichen will und man das _rechte_ Objekt gesperrt hat.)

Es gibt allerhand Forenbeiträge (allerdings ältere), die sich mit ähnlichen Problemen beschäftigen.
Gibt es in CS5 irgendwelche neuen Tricks, um Abstände zwischen Objekten herzustellen, wobei ein Objekt fest bleiben soll (weil es z.B. schon an anderen Objekten der Seite mühevoll ausgerichtet ist)?

Danke schon mal!
Johannes

P.S.: Käme die Illustrator-Basis-Objekt-Technik in InDesign mit irgendetwas in die Quere, oder denken die InDesign-Leute einfach, dass dieses Feature nicht gebraucht wird? (Es wird!!!)
X

"Abstand verteilen" mit Basis-Objekt

Yves Apel
Beiträge gesamt: 1724

22. Nov 2010, 20:59
Beitrag # 2 von 18
Beitrag ID: #457770
Bewertung:
(22805 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Johannes,

In InDesign CS5 gibt es das neue Lückenwerkzeug welches das Ausrichten von Objekten erleichtert. Ein Filmchen zur Anwendung gibts bei Adobe.

Desweiteren gibts für deine Zwecke auch in tolles Script von Peter Kahrel. Das Script funktioniert wenn du es im Ordner Scripts Panel in einen Unterordner namens "Version 4.0 Scripts" kopierst. Bitte schaue dir die PDF Datei der Anleitung vor Gebrauch an.

Danke an dieser Stelle auch an Peter. Das Script gehört bei mir zu den Standards und hat bereits viel Arbeit erspart.


als Antwort auf: [#457750]
(Dieser Beitrag wurde von Yves Apel am 22. Nov 2010, 21:02 geändert)

"Abstand verteilen" mit Basis-Objekt

ssudoku
Beiträge gesamt: 29

23. Nov 2010, 11:19
Beitrag # 3 von 18
Beitrag ID: #457826
Bewertung:
(22735 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Yves,
danke für deine Antwort!

Ich habe es nicht geschafft, mit dem Lückenwerkzeug eine bestimmte Lückenbreite genau festzulegen. Ich will z.B. genau 1,5 mm, schaffe aber nur z.B. 1,492 mm. Kann man mit dem neuen Lückenwerkzeug auch genaue Werte eingeben?

Das Script von Peter Kahrel konnte ich leider nicht nutzen, weil es 1) fürs Ausrichten und nicht fürs Verteilen gemacht ist und 2) das Basis-Objekt nicht beachtet (in CS5).

Aber es hat mich auf die Idee gebracht, ein eigenes Skript zu erstellen (siehe unten).
Vorschau:
http://img146.imageshack.us/...standverteilen20.png

Einmal gestartet, bleibt das Fenster immer sichtbar (bis es mal geschlossen wird). Es sieht ungefähr so aus wie die "Abstand verteilen"-Funktion von InDesign, hat aber einen Vorteil: Wenn man ein Objekt vorher sperrt, bleibt dieses Objekt auf seinem Platz und trotzdem funktioniert die Funktion richtig (im Gegensatz zu InDesign). Das Einzige, was noch etwas blöd ist: Nach dem Verteilen muss man mit der Maus wieder ins Dokument klicken, damit es wieder für Tasten- und Mausbefehle aktiv ist.

Vielleicht schafft es Adobe ja, die eingebaute Funktion in einer zukünftigen Version "richtig" zu machen, damit sie auch mit gesperrten Objekten funktioniert

Johannes

Code
#targetengine "AbstandVerteilenSession"   
#target indesign

var fenster = new Window ('palette', 'Abstand verteilen 2.0');

var bugr = fenster.add('group');
var buVertikal = bugr.add('button', undefined, '= Vertikal');
buVertikal.onClick = function() {
Verteilen(DistributeOptions.VERTICAL_SPACE);
}
var buHorizontal = bugr.add('button', undefined, '|| Horizontal');
buHorizontal.onClick = function() {
Verteilen(DistributeOptions.HORIZONTAL_SPACE);
}

var opgr = fenster.add('group');
var cbAbstandVerwenden = opgr.add('checkbox', undefined, 'Abstand verwenden');
cbAbstandVerwenden.value = true;
var tbAbstand = opgr.add('edittext', undefined, '1,5 mm');
tbAbstand.preferredSize = [100, 20];

var cbEntsperren = fenster.add('checkbox', undefined, 'Am Schluss entsperren');

var tbHinweis = fenster.add('statictext', undefined, 'Ein gesperrtes Objekt wird seine Position behalten.');

fenster.show();


function Hinweis(text) {
tbHinweis.text = text;
}

function Verteilen(optionHV) {

var auswahl = app.selection;
var anzahl = auswahl.length;

if (anzahl < 2) {
Hinweis('Mindestens 2 Objekte müssen ausgewählt sein.');
exit();
}

// gesperrtes Objekt suchen
var gesperrtesObjekt = null;
for (var i = 0; i < anzahl; i++) {
if (auswahl[i].locked) {
if (gesperrtesObjekt == null) {
gesperrtesObjekt = auswahl[i];
} else {
Hinweis('Nur 1 Objekt darf gesperrt sein!');
exit();
}
}
}
if (gesperrtesObjekt == null) {
Hinweis('Kein Objekt war gesperrt.');
}


// Position von gesperrtem Objekt merken und entsperren
if (gesperrtesObjekt != null) {
var yVorher = gesperrtesObjekt.geometricBounds[0];
var xVorher = gesperrtesObjekt.geometricBounds[1];
gesperrtesObjekt.locked = false;
}

// Abstände verteilen
app.activeDocument.distribute (
auswahl,
optionHV,
AlignDistributeBounds.ITEM_BOUNDS,
cbAbstandVerwenden.value,
tbAbstand.text.toString().replace(',', '.')
);

if (gesperrtesObjekt != null) {
// nun alle Objekte so verschieben, dass Basis-Objekt wieder am Ursprungsplatz ist
var dy = gesperrtesObjekt.geometricBounds[0] - yVorher;
var dx = gesperrtesObjekt.geometricBounds[1] - xVorher;
for (var i = 0; i < app.selection.length; i++) {
auswahl[i].move(undefined, [-dx, -dy]);
}

// evtl. wieder sperren
if (!cbEntsperren.value) gesperrtesObjekt.locked = true;
}


}



als Antwort auf: [#457770]

"Abstand verteilen" mit Basis-Objekt

Gerald Singelmann
  
Beiträge gesamt: 6268

23. Nov 2010, 12:28
Beitrag # 4 von 18
Beitrag ID: #457832
Bewertung:
(22704 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Obwohl ich einerseits ja großer Freund von Scripten bin, halte ich hier die manuelle Methode für angebrachter. Zum Beispiel für waagerechtes Verteilen:
- Alle Objekte markieren
- Hilfslinie auf linke Kante des Masterobjekts ziehen (Wenn man die Maus auf einen der Anfasser der Kante zieht, ist die Kante für die Hilfslinie magnetisch -> schnelle, problemfreie, präzise Platzierung der Hilfslinie. Kein Ranzoomen nötig)
- Objekte verteilen
- Objekte mit gedrückter Shifttaste zurück auf die Hilfslinie ziehen

Wenn man das nicht dreimal die Minute braucht, ist das so einfach, dass sich der Heckmeck mit einem Script nicht lohnt.

Aber es wäre tatsächlich schön, wenn die Entwickler genötigt würden, die anderen Adobe-Produkte tatsächlich mal zu benutzen, um sie kennenzulernen :)


als Antwort auf: [#457826]

"Abstand verteilen" mit Basis-Objekt

ssudoku
Beiträge gesamt: 29

23. Nov 2010, 15:36
Beitrag # 5 von 18
Beitrag ID: #457850
Bewertung:
(22661 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Herr Singelmann,
danke für Ihre Antwort!
Leider funktioniert Ihre Methode nur, wenn das Basis-Objekt ein äußeres Objekt (links oder rechts) ist. Wenn man als Basis-Objekt z.B. das mittlere von dreien wählen will, klappt das mit der Hilfslinie nicht. (Oder gibts da einen Trick fürs Ausrichten von "inneren" Rahmenlinien einer Auswahl an Hilfslinien?)
Leider brauche ich die Funktion sogar öfters als alle 3 Minuten. (In jedem Dokument ca. 300 Mal)
Zitat Aber es wäre tatsächlich schön, wenn die Entwickler genötigt würden, die anderen Adobe-Produkte tatsächlich mal zu benutzen, um sie kennenzulernen

Da sprechen Sie mir aus dem Herzen!
Johannes


als Antwort auf: [#457832]

"Abstand verteilen" mit Basis-Objekt

Gerald Singelmann
  
Beiträge gesamt: 6268

23. Nov 2010, 16:20
Beitrag # 6 von 18
Beitrag ID: #457857
Bewertung:
(22639 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
http://www.youtube.com/watch?v=a_TTMhtj6Ik

Zitat Oder gibts da einen Trick fürs Ausrichten von "inneren" Rahmenlinien einer Auswahl an Hilfslinien?

Soweit ich das feststellen kann, zeigt er die Ausrichtung nicht per weißem Mauszeiger wie sonst, machts aber trotzdem.

Zitat Leider brauche ich die Funktion sogar öfters als alle 3 Minuten

Dann halt per Script und mein Beitrag ist nur für die Lurker


als Antwort auf: [#457850]

"Abstand verteilen" mit Basis-Objekt

ssudoku
Beiträge gesamt: 29

23. Nov 2010, 18:20
Beitrag # 7 von 18
Beitrag ID: #457865
Bewertung:
(22606 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Soweit ich das feststellen kann, zeigt er die Ausrichtung nicht per weißem Mauszeiger wie sonst, machts aber trotzdem.

Danke fürs Video! Aber bei mir rastet es leider nicht ein. Was mache ich falsch?
Rastet es bei Ihnen wirklich ein? Es sieht im Video eher nach guter Positionierung per Maus aus.
(Zum Test kann man ja mal unter Bearbeiten - Voreinstellungen - Hilfslinien und Montagefläche den Ausrichtungsbereich auf maximale 36 Pixel stellen. Dann würde man sehr deutlich erkennen, ob es einrastet oder nicht.)
Johannes


als Antwort auf: [#457857]

"Abstand verteilen" mit Basis-Objekt

Gerald Singelmann
  
Beiträge gesamt: 6268

23. Nov 2010, 19:29
Beitrag # 8 von 18
Beitrag ID: #457867
Bewertung:
(22577 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Entschuldigung, ich bin einem Denkfehler aufgesessen. Er rastet nicht ein und damit ist mein Trick leider hinfällig.

Auf zum Scriptinstallieren...


als Antwort auf: [#457865]

"Abstand verteilen" mit Basis-Objekt

Quarz
Beiträge gesamt: 3519

23. Nov 2010, 20:18
Beitrag # 9 von 18
Beitrag ID: #457869
Bewertung:
(22556 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerald,

ich kann mich nicht beklagen ;-)

Wenn An Hilfslinien ausrichten aktiviert ist,
dann ist es doch ein leichtes, das 'rote
Rechteck' an der Hilfslinie auszurichten.


Gruß
Quarz

----------------------------------------------------------
InDesign CS4 6.06 + CS5 7.03 | Win7/64 Prof.



als Antwort auf: [#457867]

"Abstand verteilen" mit Basis-Objekt

ssudoku
Beiträge gesamt: 29

23. Nov 2010, 20:20
Beitrag # 10 von 18
Beitrag ID: #457870
Bewertung:
(22555 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ist mir auch schon oft so gegangen, dass ich gedacht habe, dass ich einen Einraster registriert hätte, dabei war es eine geschickte Mausbewegung. (Vielleicht überlistet einen da das Unterbewusstsein so wie beim Gläserrücken)

Nunja, warten wir auf CS6. Nicht nur ich habe diesbezüglich einen Wunschzettel an Adobe geschrieben, wie diverse Forenbeiträge zeigen.

@Quarz: Bei mir ist schon "An Hilfslininien ausrichten" aktiviert. Aber es soll ja nicht das rote Rechteck alleine, sondern die ganze Auswahl verschoben werden. Bei mir will das nicht funktionieren.


als Antwort auf: [#457867]
(Dieser Beitrag wurde von ssudoku am 23. Nov 2010, 20:22 geändert)

"Abstand verteilen" mit Basis-Objekt

kkauer
Beiträge gesamt: 661

23. Nov 2010, 20:23
Beitrag # 11 von 18
Beitrag ID: #457871
Bewertung:
(22551 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Gerald Singelmann ] Entschuldigung, ich bin einem Denkfehler aufgesessen. Er rastet nicht ein und damit ist mein Trick leider hinfällig.

Auf zum Scriptinstallieren...


Mit dem Direktauswahl-Werkzeug kann ein geeigneter Ankerpunkt oder ein Liniensegment exakt "zurückplatziert" werden.


als Antwort auf: [#457867]

"Abstand verteilen" mit Basis-Objekt

ssudoku
Beiträge gesamt: 29

23. Nov 2010, 20:28
Beitrag # 12 von 18
Beitrag ID: #457873
Bewertung:
(22547 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Aaah! Das funktioniert sogar bei mir! Vielen Dank!


als Antwort auf: [#457871]

"Abstand verteilen" mit Basis-Objekt

Gerald Singelmann
  
Beiträge gesamt: 6268

23. Nov 2010, 21:06
Beitrag # 13 von 18
Beitrag ID: #457874
Bewertung:
(22502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Wenn An Hilfslinien ausrichten aktiviert ist,
dann ist es doch ein leichtes, das 'rote
Rechteck' an der Hilfslinie auszurichten

In CS5? Siehst du, dass der Mauszeiger weiß wird? Wenn nicht, hats keinen Magnetismus gegeben.
Verschieb mal die Hilfslinie nummerisch auf einen krummen Wert und zoom ganz dicht ran. Wirklich ausgerichtet?

Zitat Mit dem Direktauswahl-Werkzeug kann ein geeigneter Ankerpunkt oder ein Liniensegment exakt "zurückplatziert" werden.

Aber nur, wenn das keine Bildrahmen sind, bzw. wenn es egal ist, wo im Bildrahmen das Bild steht.


als Antwort auf: [#457869]

"Abstand verteilen" mit Basis-Objekt

kkauer
Beiträge gesamt: 661

23. Nov 2010, 21:35
Beitrag # 14 von 18
Beitrag ID: #457876
Bewertung:
(22486 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Aber nur, wenn das keine Bildrahmen sind, bzw. wenn es egal ist, wo im Bildrahmen das Bild steht.

Bei "passenden" Rahmeneinpassungsoptionen sehe ich auch da kein echtes Problem …


als Antwort auf: [#457874]

"Abstand verteilen" mit Basis-Objekt

Gerald Singelmann
  
Beiträge gesamt: 6268

23. Nov 2010, 22:46
Beitrag # 15 von 18
Beitrag ID: #457880
Bewertung:
(22453 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Bei "passenden" Rahmeneinpassungsoptionen sehe ich auch da kein echtes Problem …

Ich mag keine Lösungen, die nur unter nicht-sebstverständlichen Bedingungen laufen.

"Doch, mach das, das ist toll... Nein, den weißen Pfeil... den weißen... Ach, da ist ein Bild drin? ... Dann musst du vorher "Automatisch einpassen" aktivieren ... Ja, oben in der Steuerleiste ... das ist diese quer Palette ... OK, machs über Objekt > Anpassen > Rahmeneinpassungsoptionen ... Objekt-Menü ... Ja, genau ... Nein, das kann man nicht wirklich vorher machen, sonst skaliert er sofort das Bild ... Oh, du willst das Bild austauschen ... äh ... da musst du vorher die Option wieder ausschalten ... Ach, unter 1,75 bist du? ... oh je, dann geht's nur dienstags und freitags ... und eh nur in CS5 ... Ist aber gut, der Trick, né?".

;)


als Antwort auf: [#457876]
X