hier noch wa zum richtig knobel (hoffentlich) Gegeben sei zB folgender Text 0815 tab 81927 tab München tab jetzt einlannger Text, manchmal auch zu lang, d.h er geht über den nächsten definierten Tab hinaus tab 01245798
Wie kann ich feststellen, ob der 'lange Text' zischen die Tabs passt oder zu lang ist.. Sicherlich gibt Quark auf Nachfrage deine Liste mit den definierten Tabpositionen aus (zB in mm) Auch läßt sich feststellen, dan welcher Stelle in der Zeile ein Tab vorkommt.
Wie kann man/ich feststellen, ob der Text da rein paßt oder nicht.. Einfach die Anzahl der Zeichen zählen reicht nicht. Der Text ist nicht in Courier, das wäre zu einfach :-)
Und jetzt viel Spaß beim rätseln. Eine spätere Lösung kann ich nicht bieten.
aber vielleicht kannst Du beurteilen ob folgender Ansatz brauchbar ist. ;-)
Dieses Snippet ist der besseren Lesbarkeit halber nicht mit Fehlermeldungsvorsorgen ausgestattet. Aus dem gleichen Grund adressiert es "hardcoded" den ersten Absatz der ausgewählten Box. In der Annahme, dass mindestens vier Tabstops definiert sind, dass vier Tabulatoren vorkommen und dass der Text auf einer Zeile Platz findet …
Zuerst wird die Position des vierten Tabstops festgestellt. In der nächsten Zeile wird die Position des vierten Tabulators gespeichert. Anschliessend folgt der Test: Wenn das Ende des Textes grösser ist als die Position des Tabstops minus 1 mm, dann ist der Text zu lang.
Wichtig: Die fünf Zeichen <tab> durch einen unsichtbaren Tabulatoren ersetzen. --- tell document 1 of application "QuarkXPress 4.11" tell current box tell paragraph 1 set tab4 to position of item 4 of (get tab list) as real set endText to (horizontal offset of character 4 where it is "<tab>") as real if endText > (tab4 - 1) then display dialog "Der Text ist zu lang." buttons "OK" default button 1 with icon 2 else display dialog "Der Text passt rein." buttons "OK" default button 1 with icon 1 end if end tell end tell end tell --- Hoffe, dass dies hilft.
das sieht ja sehr gut aus. Werde ich in den nächsten Tagen mal ausprobieren. Ich hätte ja nicht gedacht, das du/man tatsächlich die Zeichenposition eines Zeichen in einer Zeile raus bekommen kann. Auf diese art und Weise läßt sich die Lauflänge eines vorhandenen Textes feststellen.
Wenn das wirklich so klappt wie es aussieht, jage ich dein Snippet einmal über 160 Seiten und jedesmal, wenn es einen Treffer gibt, wird alles was zu lang ist, in die nächste Zeile verschoben. Quark werkelt und ich kann in Ruhe zuschauen und einen Kaffe trinken anstatt selber durch das Register zu scrollen und alles 'zu Fuß' korrigieren.
Achtung: Bei diesem Umfang müssen unbedingt alle Tricks, welche mit XPress 4.11 die Ausführung beschleunigen können, eingesetzt werden: – 'set tool mode to drag mode' (wählt das Objektwerkzeug aus) – 'set measurements showing to false' (verbirgt die Masspalette) - 'set style sheets showing to false' (die Stilvorlagenpalette ebenfalls verbergen) – testen, ob das Starten des Scripts ab OSA Menu Vorteile bringt – eventuell das Dokument mit Doppelklick auf die Titelleiste minimieren
Die Zeile "set tab5 to position of item 5 of (get tab list) as real" (aTab ist ein Tab, funktioniert nur in Quark 6, Quark 4 und 5 bringen nur die bescheidene Meldung: data FXHM011460C2 kann nicht in real umgewandelt werden :-((
Warum macht Qaurk hier den Sielverderber. Muß ich jetzt wirklich die Rohdaten (rawdata) zu Fuß umwandeln. 011460C2 könne wohl der gesuchte Wert im Binärformat für reals sein. Aber ich will doch nicht in C programieren,und die Bits und Bytes einzeln begrüßen.
Gruß Michael
ACHTUNG: Der Spielverderber ist OS X oder die Classicumgebung :-( Unter OS 9 funktioniert es mit Quark 4
genau: das Beispiel mit QuarkXPress 4.11 funktioniert hervorragend unter Mac OS 9.2.2. Die "bescheidene Meldung" lässt darauf schliessen, dass Du XPress 4 und 5 im Classic-Modus laufen hast. Der Spielverderber ist nicht Quark, sondern Apple.
Wenn die Kombination "Mac OS X / QuarkXPress 4.11" wirklich notwendig ist, dann muss den Umwandlungen nachgeholfen werden mit dem expliziten Einsatz von 'coerce'. Und damit ich jetzt nicht Quatsch rauslasse, muss ich halt den Classic-Modus anwerfen. :-((
Hier ist die Lösung, welche mit QuarkXPress 4.11 unter Mac OS X 10.3.2 im Classic-Modus funktioniert: Die Änderungen sind fett hervorgehoben. Das Wort 'coerce', ein Klammernpaar und das 'as' durch 'to' ersetzen.
Und hier noch etwas Lektüre zum Thema "explizites coerce":
– Quark und Coerce - keine % Angaben: http://www.page-online.de/page/forum/viewthread/1979 – Nochmals: ein "mysteriöses" Format: http://www.page-online.de/page/forum/viewthread/1815 – Quark in Classic Umgebung nicht zu scripten: http://www.page-online.de/page/forum/viewthread/1788