12.07.2015 Aufrufe

Auszug aus Kapitel 11 - InDesign automatisieren

Auszug aus Kapitel 11 - InDesign automatisieren

Auszug aus Kapitel 11 - InDesign automatisieren

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

240 <strong>11</strong> Skripting-KochrezepteEin verankertes Objekthinzufügen!¡ In <strong>InDesign</strong> CS3muss die Auswahlangepasst werden.Doppelte Leerzeichenentfernenvar _mtf = _sel.insertionPoints[0].textFrames.add();16 Die Marginalie soll mit einem verankerten Textrahmen realisiertwerden. Dazu wird an der ersten Stelle des <strong>aus</strong>gewählten Textbereichsein Textrahmen hinzugefügt und in der Variablen _mtf gespeichert. Daer von der Einfügemarke hinzugefügt wird, ist er automatisch verankert.In CS4 und CS5 wird der neue Textrahmen dabei nicht der Auswahlhinzugefügt.if (app.scriptPreferences.version == 5) { //Nur CS3_sel = _sel.parentStory.characters.itemByRange(_sel.insertionPoints[1].index,_sel.insertionPoints[-1].index + 1);}17 – 19 Nach dem Hinzufügen des Textrahmens ist in <strong>InDesign</strong> CS3 dieReferenz auf die <strong>aus</strong>gewählten Zeichen um einen Indexwert verschoben.Mit Hilfe der if-Abfrage wird dieser Fehler in CS3 korrigiert.var _res = _sel.move(LocationOptions.AT_BEGINNING, _mtf);23 Mit der Methode move() wird der oben <strong>aus</strong>gewählte Text in denneuen Textrahmen _mtf verschoben._mtf.appliedObjectStyle = _dok.objectStyles.itemByName("marginalie");24 Nun muss dem Textrahmen noch das passende Objektformat zugewiesenwerden. In den beiden folgenden Zeilen wird die Größe desRahmens an den tatsächlichen Platzbedarf angepasst und allen Absätzendas Absatzformat marginalie zugewiesen.var _char = _mtf.parent;var _pos = _char.index;var _story = _char.parentStory;27 – 29 Zum Abschluss sollen noch eventuell entstandene doppelteLeerzeichen <strong>aus</strong> dem Haupttext entfernt werden. Durch die Verschiebungdes <strong>aus</strong>gewählten Textes hat das Skript die Verbindung zumHaupttext verloren. Sie kann über das Elternelement des verankertenTextrahmens wiederhergestellt werden. Die Marker für verankerteObjekte werden im Textabschnitt über einen bestimmten Buchstaben(Unicode u\FFFC, GREP ~a) repräsentiert, entsprechend ist in der Eigenschaftparent des Textrahmens ein Objekt vom Typ Character enthalten.Von diesem kann man nun die Position des Ankers und denTextabschnitt adressieren.if (_story.characters[_pos -1].contents == " " &&_story.characters[_pos +1].contents == " ") {_story.characters[_pos + 1].remove();}30 – 32 In der if-Abfrage wird geprüft, ob durch die Marginalie doppelteLeerzeichen entstanden sind. Dies ist der Fall, wenn sich vor undnach dem Marker für das verankerte Objekt ein Leerzeichen befindet.Gegebenenfalls wird das Leerzeichen nach dem Anker entfernt.


<strong>11</strong>.3 Transparente Absatzlinien241Im zweispaltigen Satz gibt es manchmal noch die zusätzliche Anforderung,die Marginalie je nach Spalte unterschiedlich <strong>aus</strong>zurichten. EinBeispiel wäre eine Marginalie mit einem Hinweis auf eine besonderswichtige Stelle, die immer auf der Außenkante der Spalte stehen soll.Dies ist nicht über ein Objektformat lösbar.Ausrichtungverankerter Objektet<strong>aus</strong>chenAbb. 81Hinweiskasten mitzweispaltigemTextrahmenIm Skript <strong>11</strong>-2_MarginalienT<strong>aus</strong>chen.jsx ist dies exemplarisch für dieMarginalien im Dokument <strong>11</strong>-2_MarginalienT<strong>aus</strong>chen.indd umgesetzt.Es besucht alle verankerten Textrahmen, die mit dem Objektformatmarginalie <strong>aus</strong>gezeichnet sind. Je nach Spalte verschiebt es denAnkerpunkt und die horizontale Ausrichtung.<strong>11</strong>.3 Transparente AbsatzlinienAbsatzlinien sind eine ziemlich einfache Möglichkeit, Absätze mit Farbhinterlegungenoder Schmuckelementen zu versehen. Leider kann mansie nicht transparent setzen, so dass sie den Hintergrund immer vollständigverdecken.Abb. 82Flyer mit transparentenAbsatzlinienSoll nun wie im Beispiel ein Hintergrundfoto mit Hilfe der Absatz linienetwas zurückgenommen werden, benötigt man ein kleines Skript, dasdie Hinterlegungen als Rechtecke an den entsprechenden Stellen in dasDokument zeichnet. Bei Umbruchverschiebungen laufen sie nicht mit,dann muss das Skript erneut <strong>aus</strong>geführt werden.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!