Zurück zum Inhaltsverzeichnis - Satz mit Modul SATZ
- schneider-lastin
☛ Eine kurze Einführung in die „Verwendung von Bildern und Grafiken im TUSTEP-Satzprogramm“ (PDF, 8 MB) von M. Trauth (ITUG-Tagung 2013 in Mainz) finden Sie hier.
Vorbemerkung: Abbildungen, die in die Satzausgabe integriert werden sollen, müssen als PostScript-Dateien im EPS-Format (Encapsulated PostScript) vorliegen.
Außer Abbildungen im engeren Sinne (Strichzeichnungen, Halbtonbilder) können auch Sonderzeichen oder Logos, die im EPS-Format vorliegen, oder Formeln, die mit TeX gesetzt wurden und als PostScript-Dateien vorliegen, eingebunden werden. Zu notwendigen Vorüberlegungen zu Grafiken vor ihrem Einbinden siehe hier .
Aufgerufen werden diese Abbildungen über eine Nummer zwischen 1 und 999999, die innerhalb entsprechender Steueranweisungen im zu setzenden Text an der Stelle steht, an der die Abbildung aufgerufen werden soll (z.B. $$#1$${
für Abb. Nr. 1).
Damit Abbildungen in die Satzausgabe integriert werden können, müssen sie mit dem Standard-Makro #*GRAFIK
in einer Datei gesammelt, aufbereitet und mit der gewünschten Nummer versehen werden.
Bei der Aufbereitung mit Hilfe dieses Makros können die Abbildungen im Maßstab verändert und um einen beliebigen Winkel gedreht, an den Rändern beschnitten sowie innerhalb des dafür vorgesehenen Fensters positioniert werden. Es können Grafiken aus bis zu acht Grafikdateien angesprochen werden.
Sollen statt Abbildungen oder Formeln mehrseitige Passagen, die z.B. mit TeX gesetzt wurden, in die TUSTEP-Ausgabe integriert werden, so muß die entsprechende PostScript-Datei zuvor in einzelne Seiten aufgeteilt werden, die dann wie Abbildungen in (ggf. bis auf Seitennummer und Kolumnentitel leere) TUSTEP-Seiten eingebunden werden. Zum Zerlegen von PostScript-Dateien, die mit TeX erstellt wurden, steht das Standard-Makro #*TEXGRAF
zur Verfügung.
Über die genannten Makros kann man sich mit Hilfe des folgenden Kommandos informieren:
Gib Kommando >#INFORMIERE,MAKRO=makroname
Workflow: Satz des Textes - Aufbereiten der Grafik - Text mit Grafik ausgeben
Musterdateien:
geigetext.tf [6 KB]
geigegrafik.eps [316 KB]
Hinweis: Eine EPS-Datei mit einer Grafik liegt normalerweise als FDF-Datei vor, wurde hier aber zuvor in das TUSTEP-Format verwandelt (Datei: 'geigegrafik.eps')
1. Satz des Textes aus der Datei 'geigetext.tf'
N.B.: Im Text werden die Grafiken mit den Anweisungen $$84/100#1$${
bzw. $$84/100#2$${
aufgerufen. Dies bedeutet, dass ein Freiraum von 84 Punkt Breite und 100 Punkt Höhe nach der Zeile frei gelassen wird, in der sich die Anweisungen befinden; außerdem werden die Abbildungen mit der Nummer 1 bzw. 2 einmontiert.
#an,geigetext.tf #da,geige.z'geige.a'geige.p,seq-ap #sa,geigetext.tf,geige.z,t,+,*,geige.a,geige.p mac <p>$ mac </p> mac <h2>&&@-z mac </h2>&&{ *eof
2. Aufbereiten der Grafik
Die Datei 'geigegrafik.eps' wird hier mit dem Standard-Makro *GRAFIK
zweimal für TUSTEP aufbereitet; als Grafik Nr. 1 wird die original quer liegende Abbildung hochkant gestellt (um 270 Grad gegen den Uhrzeigersinn gedreht), als Grafik Nr. 2 wird sie gespiegelt und um 90 Grad gedreht. Außerdem wird die Grafik um 5% auf den Faktor 105 vergrößert.
Das Standard-Makro „#*GRAFIK“ und seine Spezifikationen lauten:
#*GRAFIK, QUELLE, ZIEL, LOESCHEN, NUMMER, ABSTAND, DREHEN, FAKTOR, …
#an,geigegrafik.eps #da,geigegrafik.psg,seq-ap #*grafik,geigegrafik.eps,geigegrafik.psg,-std-,1,0*7,270,105 #*grafik,geigegrafik.eps,geigegrafik.psg,-std-,2,72*7,-90,105
3. Text mit Grafik ausgeben
Das Ergebnis des Satzlaufs (Datei 'geige.a') und die Grafiken werden mit dem Standard-Makro *PSAUS
in die PostScript-Datei 'geige.ps' ausgegeben.
#da,geige.ps,fdf-ap #*psaus,geige.a,1,einr=70+30,kopf=-,datei=geige.ps,grafik=geigegrafik.psg
4. Ergebnis
Alternative zu Aufbereiten der Grafik:
Wenn viele große EPS-Dateien mit dem Makro #*GRAFIK
bearbeitet werden sollen, kann es sinnvoll sein, nur die von #*GRAFIK erzeugten Zusatzinformationen für alle Grafiken in einer gemeinsamen Datei abzulegen und die eigentlichen Grafikdaten auf mehrere Dateien zu verteilen.
Dazu werden bei #*GRAFIK
zur Spezifikation ZIEL jeweils zwei, durch Apostroph getrennte Dateien angegeben: Die an erster Stelle angegebene enthält die Zusatzinformationen, die zweite enthält die eigentlichen Grafikdaten aus der EPS-Datei.
#da,geigeinfos.gn'geige.g1'geige.g2,seq-ap #*grafik,geigegrafik.eps,geigeinfos.gn'geige.g1,-std-,1,0*7,270,105 #*grafik,geigegrafik.eps,geigeinfos.gn'geige.g2,-std-,2,72*7,-90,105 #- Text mit Grafiken ausgeben: #da,geige2.ps,fdf-ap #*psaus,geige.a,einr=70+30,kopf=-,datei=geige2.ps,grafik=geigeinfos.gn
- chmoser
Problem
Eine EPS-Datei (Encapsulated PostScript), die mit #*GRAFIK
für #*PSAUS
aufbereitet werden soll, enthält zusätzlich zur BoundingBox noch weiteren Weißraum.
Dies ist für #*GRAFIK
grundsätzlich kein Problem: Die Spezifikationen
ABSTAND = -STD- SCHNEIDEN = -STD-
bewirken in Kombination, dass bei einem Aufruf der Grafik der Inhalt der BoundingBox am richtigen Ort erscheint. Falls nun aber die Grafik/Abbildung in der Zieldatei von #*GRAFIK
manuell noch genauer positioniert (evtl. zusätzlich auch noch exakter skaliert) werden muss (z.B. weil die Grafik aus einem einzelnen Sonderzeichen besteht, das in den Fließtext integriert werden muss), ist dies ziemlich aufwendig und umständlich. In einem solchen Fall bietet es sich an, die EPS-Datei vorgängig auf die Größe der BoundingBox zu beschneiden.
Lösung
Für die folgenden Schritte wird das Programm Ghostscript benötigt.
1. EPS-Datei im Tustep-Editor (oder in einem anderen Texteditor) öffnen und die beiden Zeilen, die mit
%%HiResBoundingBox: %%CropBox:
beginnen, löschen, und danach die Datei wieder speichern.
2. Terminal öffnen, in den Ordner navigieren, in dem sich die EPS-Datei befindet, und folgenden Befehl ausführen:
gs -o datei.pdf -sDEVICE=pdfwrite -dEPSCrop datei.eps
Dadurch wird die EPS-Datei (datei.eps) in ein PDF (datei.pdf) konvertiert und auf die Größe der BoundingBox beschnitten. („gs“ ist der Aufruf von Ghostscript unter UNIX; unter Windows wäre der Aufruf stattdessen „gswin32c“).
3. Nun das PDF wieder in ein EPS zurückwandeln:
gs -o datei_neu.eps -sDEVICE=epswrite datei.pdf
Die Datei „datei_neu.eps“ enthält nun die ursprüngliche Grafik, beschnitten auf die BoundingBox, und kann durch #*GRAFIK
mit der Spezifikation SCHNEIDEN = -
(Grafik nicht beschneiden) aufbereitet werden.