Transcom-Logo. Transcom bietet Technische Dokumentation und technische Kommunikation
 
» Home  > Tipps + Tricks  > FrameMaker  > FrameScript / ElmScript English  Deutsch

TranscomFMTools

FrameMaker besitzt zwar eine offene Programmierschnittstelle, Adobe liefert aber, anders als typische Programme im Office-Bereich (WinWord, Open Office) keine Scriptmöglichkeit mit. Diese Lücke schließt FrameScript (in Deutschland wegen Markenrechtsproblemen "ElmScript" genannt; deutsche Bestelladresse: (Link extern) cap studio). FrameScript, von der Firma (Link extern) Finite Matters, ist zwar relativ mächtig, dafür aber auch für Laien deutlich kryptischer als beispielsweise die Word-Makrosprache VBA (Visual Basic for Application). Diesbezüglich ein besonders großes Manko: Es gibt keinen Makrorecorder. Darum lässt sich nicht einfach an einer konkreten FrameMaker-Datei eine Folge von Schritten in FrameMaker manuell ausführen, vom Makrorecorder aufzeichnen und dann zur allgemeinen, automatischen Ausführung aufbereiten.

Aber auch der fortgeschrittene Programmierer stößt schnell an Grenzen von FrameScript: So ist es nicht möglich, direkt auf FrameMaker-Dialoge zuzugreifen. Diese lassen sich zwar aufrufen, aber die Dialogantworten des Anwenders nicht abfangen und dann eigenständig weiter verarbeiten. Trotzdem lassen sich mit FrameScript viele der täglichen Aufgaben mit FrameMaker automatisieren bzw. Probleme lösen. In Form der TranscomFMTools haben wir konkrete Scripte für verschiedene Problemlösungen erarbeitet, die wir hier zum Teil auch zum Download anbieten. Beispiele:

Achtung: Die Scripte sind für FrameScript 3.1 mit FrameMaker 7 gedacht (waren ursprünglich jedoch für FrameScript 2 und FrameMaker 6 geschrieben). FrameScript 3.0 hatte Fehler bei der Darstellung von Dialogen und der Verarbeitung von Umlauten beispielsweise in Dateisystempfaden - darum diese Version nicht einsetzen. Eine Garantie für die Funktion der Scripte wird nicht gegeben. Die Scripte sollten erst nach entsprechenden Tests (an Dateien, von denen Backups existieren!) für die konkrete Produktion eingesetzt werden.

Feststellen des Dateinamens eines Objektes

Verknüpfte Filialdokumente (Text Insets bzw. Texteinschübe) sind in FrameMaker ein wunderschönes Feature (anders als in WinWord ist das Konzept von Haupt- und Filialdokument durchdacht und funktioniert). Wenn das Filialdokument aber einmal in ein Hauptdokument eingebunden ist, wird es schwierig, den Dateinamen wieder festzustellen: Das Fenster des entsprechenden FrameMaker-Dialogs ist im Regelfall viel zu klein, so dass mindestens der Pfad praktisch unkenntlich abgekürzt wird. Ganz und gar unmöglich ist es den Dateinamen (mit oder ohne Pfad) in die Zwischenablage zu kopieren. Dies gilt nicht nur für Filialdokumente sondern auch für andere eingebettete Objekte wie Bild-/Grafikdateien.

Mit FrameScript lässt sich das Problem lösen: Man markiere das Objekt, für das man Dateinamen und Pfad wissen möchte, und rufe das Script aus dem FrameScript/ElmScript-Menü auf: Ein kleines Meldefenster zeigt die gewünschten Informationen an und bietet außerdem die Möglichkeit, diese in die Zwischenablage zu kopieren, so dass beispielsweise dieser im Öffnen-Dialog des Bildverarbeitungsprogramms wieder eingefügt werden kann.

(Link intern) Dateinamen von Grafik-/Text-Objekten anzeigen

Alle Dateien eines Verzeichnisses von MIF nach FM konvertieren

Das MIF-Format (Maker Interchange Format) ist ein offenes Format, das FrameMaker-Dateien vollständig repräsentieren kann. Da es ein offenes, auf einer Art von Tags basierendes Format ist, ist es gut für die Verarbeitung von FrameMaker-Dateien durch Drittprogramme geeignet. So können beispielsweise alle wichtigen Translation Memory-Programme das MIF-Format einlesen und erlauben so die Übersetzung von FrameMaker-Dateien durch Übersetzer, ohne dass diese FrameMaker lizenziert haben oder gar beherrschen müssen. Wenn die Übersetzer nun eine größere Zahl MIF-Dateien zurück liefern, ist es recht aufwendig, diese manuell in FrameMaker-Dateien zu konvertieren. Unser Script kann dies automatisch: Nach dem Start fragt es per Dialog nach dem Verzeichnis, in dem sich die MIF-Dateien befinden, die dann nacheinander in FM-Dateien konvertiert werden. Die MIF-Dateien werden anschließend gelöscht!

(Link intern) Alle MIF-Dateien in einem Verzeichnis in FM-Dateien konvertieren. Hinweis: Das Script hat unter FrameScript 3 Probleme, wenn sich im Pfadnamen Sonderzeichen (Umlaute) befinden (siehe auch (Link intern) Bekannte Probleme mit FrameScript — Umlaute und sonstige Sonderzeichen. Wir schauen uns das demnächst genauer an und werden die Lösung hier einstellen — einfach gelegentlich mal wieder vorbei kommen.

Natürlich haben wir auch das Script für die umgekehrte Konvertierung, alle FM-Dateien eines Verzeichnisses in MIF-Dateien zu konvertieren (ohne die FM-Dateien zu löschen). (Link intern) Kontaktieren Sie uns, wenn Sie an dem Script interessiert sind.

Ein FrameMaker-Buch für die Übersetzung vorbereiten

Die Übersetzer bekommen von uns MIF-Dateien, da diese von ihren Werkzeugen (Translation Memory-Programme) eingelesen werden können. Wenn also ein Buch für die Übersetzung fertig ist, muss das Buch entsprechend konvertiert werden. Nebenbei müssen dabei folgende Aufgaben gelöst werden:

  • Alle Filialdokumente (Text Insets bzw. Texteinschübe) sollten aufgelöst und in das Hauptdokument integriert werden. (Andernfalls gibt es Schwierigkeiten, wenn die übersetzten Dateien die eingebetteten Filialdokumente "wiedersehen" möchten.)
  • Alle ausgeblendeten bedingten Texte sollten gelöscht werden. Andernfalls übersetzen die Übersetzer unnötiger Weise Text (= Kosten) oder verstehen die Texte nicht, weil innerhalb von Sätzen nur einzelne Worte ein-/ausgeblendet werden. (Für die Übersetzer sind alle Texte gleichwertig, sie haben während der Übersetzung keine Layout-Informationen.)

Wenn die Übersetzung dann erfolgt ist, muss aus den Dateien wieder ein Buch entstehen:

  • Den Texten muss die richtige Sprache zugewiesen werden (wichtig für die Silbentrennung)
  • Abhängig von den Übersetzern und deren Werkzeugen müssen die Variablen noch übersetzt werden. Eine Variable ist dabei auch das in automatischen Nummerierungen verwendete Wörtchen "Bild" (z.B. Bild 3-3 in der Bildunterschrift) bzw. "Tabelle".
  • Da in der Fremdsprache die Seiten anders fallen, müssen gegebenenfalls die Vorgabeseiten neu zugewiesen werden (hochkant/quer).
  • Schließlich muss das ganze Buch aktualisiert werden, damit die Inhaltsverzeichnisse wieder die richtigen Seitenzahlen zeigen.

Natürlich lässt sich all das automatisieren — (Link intern) Kontaktieren Sie uns, wenn Sie daran interessiert sind.

Für alle Absätze in einem Buches die automatische Trennung abschalten

FrameMaker bietet längst nicht für alle Sprachen (brauchbare) Trennautomatismen. Für eine Chinesischübersetzung mussten wir mal für alle Absätze die Trennung verbieten. Die Absatzformate in der Formatvorlagendatei entsprechend zu ändern und diese dann auf alle Buchdateien anzuwenden, erschien uns zu aufwendig bzw. riskant, da war es einfacher, ein kleines Script über alle Dateien des Buchs laufen zu lassen, dass in allen Absätzen die automatische Trennung abschaltete.

(Link intern) Für alle Absätze in einem Buch die automatische Silbentrennung verbieten. Zum Start des Scripts muss eine Buchdatei geöffnet und aktiv sein.

Import von Formaten in ein Buch

Der Import von Formaten in ein Buch hat zwei Haken:

  • Es nicht nur die Buchdatei geöffnet sein, sondern auch die Datei, aus der die Formate importiert werden sollen.
  • Die Formate werden nur auf die gerade markierten Dateien angewandt, es muss also daran gedacht werden, dass erst alle Dateien markiert werden.

Für die bei uns besonders häufig vorkommende Anwendung von Bedingten Text-Definitionen auf ein Buch oder auch eine einzelne Datei haben wir daher ein Script geschrieben: Es markiert sich automatisch alle Dateien im Buch und bietet einen Dialog zur Auswahl der gewünschten Templatedatei im Dateiverzeichnis, das heißt, die Templatedatei muss noch nicht mal geöffnet sein.

(Link intern) Bedingungsformate in Buch oder Dokument importieren. Zum Start des Scripts muss eine Buch- oder Kapiteldatei geöffnet und aktiv sein.

Verwaltung von bedingten Textformaten

Die Dialogfenster innerhalb von FrameMaker sind klein und darum oftmals nur begrenzt übersichtlich. Wer etliche zig Bedingte Text-Formate in einem Projekt verwalten muss, hat da seine Schwierigkeiten. Um Bedingungsformate ein-/auszuschalten lässt sich mit FrameScript auch ein relativ komfortables großes Dialogfenster einrichten. Außerdem können in einer Datei auf "Knopfdruck" alternativ:

  • Alle als Bedingter Text formatierten Passagen anzeigen und farblich markieren
  • Alle eigentlich ausgeblendeten Texte anzeigen und farblich markieren
  • Alle als Bedingter Text formatierten, eingeblendeten Passagen farblich markieren (um sie vom "normalen" Text abzuheben)
  • Alle Farben aus den Bedingten Texten nehmen und korrekt ein-/ausblenden

(Link intern) Texte mit bedingten Textformatierungen ein-/ausblenden

FrameMaker-Projekte mit allen Dateien kopieren

Ein FrameMaker-Projekt kann schnell auf ein paar Hundert Bild- und FM-Dateien anwachsen. Da wird es dann schwierig, wenn alle Dateien beispielsweise auf ein Backup gesichert oder an den Kunden übergeben werden sollen (ohne die ganzen im Projektverlauf entstandenen und dann doch "verworfenen" Dateien mitzuliefern). FrameMaker selbst bietet dafür keine geeignete Unterstützung. Mit einem geeigneten FrameScript-Script ist dies jedoch kein Problem.

(Link intern) Kontaktieren Sie uns, wenn Sie an dem Script interessiert sind.

Texte oder Bedingungen suchen

Auf den ersten Blick erscheint die Suchfunktion von FrameMaker sehr mächtig. Es lässt sich nach allen möglichen Dingen suchen: Text, Verknüpfungen, Bedingungen etc. pp. Dies sowohl in einem einzelnen Dokument als auch über ein ganzes Buch hinweg. Wer intensiver mit FrameMaker umgeht, stößt schnell auf die Probleme:

  • Ausgeblendete Bedingungen werden nicht durchsucht
  • Filialdokumente (Text Insets bzw. Texteinschübe) werden nicht durchsucht
  • Wenn nach den Stellen gesucht wurde, denen ein Bedingungsformat (Bedingter-Text-Format) zugewiesen wurde, werden nur die Textstellen gefunden. Wurde das Format ganzen Tabellenzeilen zugewiesen, werden diese von der FrameMaker-Suchefunktion nicht entdeckt.

Damit ist die Suchfunktion schnell unbrauchbar: In einem Projekt mit vielen Filialdokumenten ist es unmöglich, jedes Dokument einzeln zu öffnen. Und wer viel mit bedingtem Text arbeitet, braucht viel Intuition, wenn die benötigte Fundstelle zu Tage gefördert werden soll. Auch hier helfen Scripte: Das eine sucht Texte und blendet dazu während der Suche alle ausgeblendeten Bedingungen ein (und anschließend natürlich wieder aus) und öffnet auch alle Filialdokumente. Das andere sucht speziell jene Stellen im Text, denen ein bestimmtes Bedingungsformat zugewiesen wurde — und findet dabei auch die bedingten Tabellenzellen.

(Link intern) Kontaktieren Sie uns, wenn Sie an den zwei Scripten interessiert sind.

Anmerkung zu den FrameScripten dieser Seite

Wenn Sie schon mit FrameScript arbeiten, sollten Sie mit den Scripten, die hier zum Download angeboten werden, schnell zurecht kommen: Einfach entpacken und in das Verzeichnis kopieren, in dem Ihre Scripte lagern und die FrameScript-Initialisierungsdatei entsprechend ergänzen ((Link intern) hier ein Muster für die Einträge in der Initialisierungsdatei), um die Skripte über FrameScript-/ElmScript-Menü direkt aufrufen zu können. Falls Ihre Scripte eine andere Dateierweiterung als .fsl haben, müssten Sie gegebenenfalls die Dateierweiterung noch ändern.

Wenn Sie ein Script nur mal testen wollen, ehe Sie es ins endgültige Verzeichnis verschieben: Mit |- FrameScript/ElmScript | Run -| vom FrameMaker-Menü öffnet ein Dateiauswahl-Dialog, in dem Sie das zu testende Script auswählen und starten können. (Der Menüpunkt "FrameScript" bzw. "Elmscript" ist natürlich nur verfügbar, wenn Sie FrameScript/ElmScript bereits installiert haben.)

Wenn Sie FrameScript noch gar nicht einsetzen: Auf (Link extern) www.framescript.com gibt es eine vollwertige aber auf einen Monat Laufzeit beschränkte Testversion. (Link intern) Bei Problemen helfen wir Ihnen gern.

Kontakt: Scripte, die nicht zum freien Download angeboten werden

Auch für die Scripte, die nur nach einer E-Mail an uns (siehe (Link intern) Impressum) erhältlich sind, gilt das einleitende (Link intern) Achtung. We nn das jeweilige Script aber bei Ihnen läuft und Sie es einsetzen wollen, sollte es Ihnen pro Standort/Niederlassung, an dem bzw. in der es Verwendung findet, einen Obolus wert sein (gesetzliche Mehrwertsteuer [MWSt.] = 19%, Rechnung ist selbstverständlich; bei Bestellung bitte Adresse angeben):

Script   Obolus
  Netto (exkl. MWSt.) Brutto (inkl. 19% MWSt.)
(Link intern) Alle Dateien eines Verzeichnisses von MIF nach FM konvertieren   10,00 Euro 11,90 Euro
(Link intern) FrameMaker-Projekte mit allen Dateien kopieren   60,00 Euro 71,40 Euro
(Link intern) Texte oder Bedingungen suchen   20,00 Euro 23,80 Euro
Alle 3 obigen Scripte   72,41 Euro 86,17 Euro
(Link intern) Ein FrameMaker-Buch für die Übersetzung vorbereiten   Da bei diesem Script mit einem gewissen Anpassungsaufwand an Ihre jeweiligen Bedürfnisse und Ihre Konfiguration zu rechnen ist, müssten wir die entsprechende Zeit in Rechnung stellen. Lassen Sie sich ein Angebot machen.



InvitationWare

  • Invitation (Englisch): Einladung
  • Invitation for tender: Ausschreibung

Die Informationen auf www.transcom.de sind InvitationWare: Einerseits sind Sie eingeladen, sie zu nutzen. Andererseits, wenn die Informationen auf diesen Seiten Ihnen geholfen haben oder die Tipps und Programme für Sie nützlich sind, dann erinnern Sie sich doch an Transcom, wenn Sie mal wieder einen Auftrag in einem unserer (Link intern) Fachgebiete zu vergeben haben — und senden uns eine Einladung zum Angebot. (Link intern) Rufen Sie uns an oder senden uns eine E-Mail.

» Transcom gehört zum Verbund der media offices