Beim Studium der Flattersatzeigenschaften von Absatzformaten in der Scripting Reference bin ich über ein paar Eigenschaften gestolpert, die ich von der Benutzeroberfläche her nicht kenne. Auf der Benutzeroberfläche kenne ich nur die Option "Flattersatzausgleich an" und "Flattersatzausgleich aus".
Tatsächlich gibt es noch weitere Optionen. Hier die Liste:
Sind diese Eigenschaften doch noch irgendwo in der Benutzeroberfläche einzustellen? Oder hält InDesign hier eine heimliche Stärke versteckt?
Mir ist der Unterschied zwischen fullyBalanced und veeShape bzw. zwischen fullyBalanced und pyramidShape nicht ganz klar. Manchmal scheint fullyBalanced gleich veeShape zu sein und manchmal fullyBalanced gleich pyramidShape.
Ist es so, daß bei veeShape und pyramidShape die Form definitiv vorgegeben ist und bei fullyBalanced dem Programm die Entscheidung (ob veeShape oder pyramidShape) überlassen wird?
Hier ein kleines Skript, mit dem man 4 ausgewählten Absätzen die unterschiedlichen Flattersatzeigenschaften zuweisen kann (es müssen mindestens 4 Absätze ausgewählt sein, sonst tut sich nix):
Viele Grüße Martin
(Dieser Beitrag wurde von Martin Fischer am 16. Aug 2007, 10:31 geändert)
ich habe das Script mal bei mir mit eigenem Text probiert – jeweils viermal derselbe Absatz. Man kann in der Absatzpalette sehen, was angewählt wurde, da die Absätze mit einem "+"-Symbol versehen werden.
1. noBalancing = entspricht Flattersatz ohne Flattersatzausgleich 2. veeShape = Flattersatz mit Flattersatzausgleich
Weist man dem 1. Absatz ein Format mit Flattersatzausgleich zu, wird es mit "+" gekennzeichnet, der 2. Absatz nicht. Bei Format ohne Flattersatzausgleich ist es genau andersrum.
Bei 3. oder 4. konnte ich bei meinem Text überhaupt keinen Unterschied zu 2. feststellen. Vielleicht kann man es deswegen auch nicht auswählen.
Ob ein Plus kommt oder nicht, hängt von dem Flattersatzausgleich des verwendeten Absatzformats ab.
Hast Du das mal mit Absätzen mit unterschiedlicher Zeilenzahl getestet?
Ich hatte oben darauf hingewiesen, daß 3. entweder genau gleich wie 2. oder genau gleich wie 4. ist. Mir scheint, hier darf InDesign zwischen 2. und 4. unterscheiden. Wohingegen die Zuweisung von 2. und 4. dem Benutzer Oberhand gibt.
das mit dem Flattersatzausgleich wollte ich eigentlich so sagen.
Ich kann doch den Flattersatz nur vergleichen, wenn ich exakt gleiche Absätze habe – und dann bekomme ich bei 2. bis 4. exakt gleiche Ergebnisse. Beim Testen mit unterschiedlichen Zeilenzahlen – also mal mehr und mal weniger Text – ist mir noch folgendes aufgefallen: InDesign versucht anscheinend bei allen Versionen 2 bis 4 (Flattersatzausgleich ein), die letzte Zeile des Absatzes zu lange wie möglich zu machen. Tippt man einfach mehr Text ein, bleibt das letzte Wort immer am rechten Rand, und InDesign gleicht alle Zeilen des Absatzes so an, dass die letzte Zeile ganz gefüllt ist. Darum ergibt sich natürlich mit unterschiedlichen Zeilen auch ein anderer Flattersatz.
> dann bekomme ich bei 2. bis 4. exakt gleiche Ergebnisse.
Eben dies war/ist bei mir anders:
Entweder sind 2. und 3. gleich oder 4. und 3. Es kann auch vorkommen, daß alle drei gleich sind. Es kommt aber nicht vor, daß 2. und 4. gleich sind und 3. ist nicht gleich wie 2. und 4.
Das kann man ganz gut beobachten, wenn man den Textrahmen schrittweise verkleinert bzw. vergrößert.
Insgesamt sind die Unterschiede zwischen den einzelnen Einstellungen relativ schwach ausgeprägt. Eine ausgeprägte V-Form oder eine ausgeprägte Pyramidenform läßt sich damit nicht bewerkstelligen.
Vielleicht ein Grund, weswegen diese weiteren Differenzierungen den Einzug in die Benutzeroberfläche (noch) nicht geschafft haben.
Viele Grüße Martin
(Dieser Beitrag wurde von Martin Fischer am 16. Aug 2007, 14:49 geändert)
stimmt, ich habe jetzt mal den Textrahmen millimeterweise schmäler gemacht. Da sind tatsächlich Unterschiede erkennbar. Aber einen großen Sinn sehe ich jetzt nicht dahinter – man kann nicht sagen, dass eine Variante besser als eine andere wäre.
hast Du nun den Flattersatz mit meinem Skript oder manuell erzeugt?
Wenn ersteres der Fall ist, dann hast Du meine Theorie gründlich widerlegt. Und das wäre mir jetzt unangenehm.
Da ich aber weiß, daß Du meine Skripte wie der Teufel das Weihwasser scheust, habe ich noch Hoffnung. ;-)
edit: Ein Test auf die Schnelle bestätigt meine Annahmen (siehe Anhang): Gerald hat geschummelt und selber Hand angelegt, um den Umbruch so hinzubekommen, wie er ihn uns zeigen wollte (nämlich, was eine V-Form oder eine Pyramidenform sein sollten) - oder? ;-)
Nach meiner obigen Theorie müßte nämlich der dritte Absatz mindestens mit einem von beiden, dem zweiten oder dem vierten, übereinstimmen. Mit eigenen Experimenten konnte ich das Gegenteil dieser Behauptung bislang nicht nachweisen.
Viele Grüße Martin
(Dieser Beitrag wurde von Martin Fischer am 16. Aug 2007, 17:24 geändert) Anhang:
JKnopf.jpg
(49.2 KB)
Martin, seit wann bezeichnest Du Deine Skripte denn als teuflisch, dass ich die meiden müsste? ;)
Natürlich habe ich die vier Absätze mit dem Skript formatiert.
Die Erklärung, die sich mir aufdrängt: - Flattersatzausgleich funktioniert ausschließlich, wenn der Absatz mit dem Absatzsetzer umbrochen wird - (Soweit ich weiß) absolut jede Entscheidung beim Zeilenfall mit dem Absatzsetzer wird gefällt, indem bestimmte Umstände eine Penalty bekommen: Jede Trennung gibt Strafpunkte. Wieviele Strafpunkte, bestimmt der Regler in "Silbentrennung". Nur ein Wort in der letzten Zeile gibt Strafpunkte. Wortabstände an den Grenzen des erlaubten Intervalls gibt Strafpunkte. Wortabstände außerhalb des erlaubten Bereichs gibt ein Vielfaches an Strafpunten. - Bei Flattersatzausgleich gibt es Strafpunkte, wenn die Zeilen verschieden lang sind. Je größer der Unterschied der Zeilenlängen, desto mehr Strafpunkte. - Bei Vee-Shape gibt es Strafpunkte, wenn eine spätere Zeile länger als eine vorhergehende Zeile ist. - Bei Pyramid-Shape gibt es Strafpunkte, wenn eine spätere Zeile kürzer als eine vorherige Zeile ist. -> Das heißt NICHT, dass bei Pyramid-Shape nicht das gleiche Ergebnis rauskommen kann wie bei fully-balanced oder vee-shaped!! Wenn die anderen Kriterien (z.B. unterschiedlich lange Zeilen) schwerer wiegen, wird in allen drei Fällen das selbe Ergebnis berechnet. Aber die Tendenz ist, dass die Form eingehalten wird.
Deine Erklärung mit den Strafpunkten leuchtet mir ein. Es ist halt schwer, sich von einer festen und mehrfach bestätigten Annahme zu verabschieden, zumal ich diese Annahme bislang experimentell nicht widerlegen konnte.
Aber es müssen ja auch nicht alle Schwäne weiß sein, nur weil ich noch keinen schwarzen gesehen habe.
Nun aber zum Abschluß noch eine konkrete Frage, die sich mit ja oder nein beantworten läßt:
Lassen sich Vee-Shape und Pyramid-Shape über die Benutzeroberfläche einstellen oder sind sie nur per Skript zuweisbar?
<pBalanceLines:1> 0=off (default), 1=on (Vee shape), 2=Equal, 3=Pyramid The user interface lets you turn balanced lines on or off. The 2 and 3 values are available only for scripting purposes.
Bin nochmal über die Texteigenschaft "balanceRaggedLines" gestolpert und weiß immer noch nicht so recht, was die unterschiedlichen Werte (jenseits von "no balancing") konkret bedeuten.
Trotzdem hier ein Skript, mit dem man dem ausgewählten Text einen Flattersatzstil zuweisen kann:
Meines Wissens sind diese Stile auch in CC2019 noch nicht über die Benutzeroberfläche einzurichten.
BalanceLinesStyle.FULLY_BALANCED heisst vermutlich "möglichst alle Zeilen gleich lang einzustellen".
Die Benutzeroberfläche kennt nur – Flattersatz: BalanceLinesStyle.VEE_SHAPE oder – Kein Flattersatz: BalanceLinesStyle.NO_BALANCING
Weiß jemand, ob diese Stile irgendwo dokumentiert oder beschrieben sind?
Besonders interessieren mich die Regeln für BalanceLinesStyle.PYRAMID_SHAPE. Eine Pyramide habe ich bislang (optisch) noch nicht erkennen können. Spitze oben oder unten?
Viele Grüße Martin
(Dieser Beitrag wurde von Martin Fischer am 15. Okt 2019, 23:01 geändert)
Die Formen scheinen mir allerdings eher versteckte, grobe Richtlinien für den Zeilenfall als tatsächlich optisch zu erkennende Textgestalten zu sein. Da liegt noch Potenzial für Flattersatztechniken in späteren InDesign-Versionen drin. ;-)
Da der Flattersatzausgleich nur mit aktivem Absatzsetzer funktioniert, ist im folgenden Code die Umstellung auf den Absatzsetzer implementiert.
Viele Grüße Martin
(Dieser Beitrag wurde von Martin Fischer am 16. Okt 2019, 06:31 geändert)
Guten Morgen Martin, schön, dass Du das Thema hast aufleben lassen! Danke!
Kein Einwand, eher eine Beobachtung zu app.findKeyStrings(). Diese Methode gibt in jedem Fall ein Array aus. Dessen Länge kann 0 sein, für nichts gefunden, die Länge kann 1 sein, wie im unteren Beispiel, wenn ein String gefunden wurde. Die Länge kann aber auch größer als 1 sein, wenn mehrere Strings gefunden wurden. Durchaus nicht ungewöhnlich.
Ist die Länge 1, dann funktioniert der Code hier ohne Probleme, denn praktischerweise gilt für diesen Fall: Array == String.
JavaScript "verwandelt" das Array zu dessen Inhalt, einem String mit Wert '$ID/HL Single'.
Allgemeines Beispiel:
Demnach würde das nicht funktionieren:
Deshalb schreibe ich das dann sicherheitshalber so:
Auf die findKeyStrings()-Methode habe ich heute früh nur kurz aus Verzweiflung zugegriffen. Hatte mir eigentlich erhofft, den Vergleich ohne diese Methode (und dennoch sprachunabhängig) vornehmen zu können.
Du hast freilich recht. Wenn ein Array zurückgegeben wird, sollte man das Resultat auch entsprechend adressieren.