Zurück zum Inhaltsverzeichnis - Satz mit Modul SATZ
- schneider-lastin
Stand: 24.04.2014
Diese Routine bereitet eine anwendungsneutral getaggte Datei zum Satz auf und gibt das Ergebnis als PostScript-Datei aus. Die im Text enthaltenen Tags werden mit dem Parameter MAC
in TUSTEP-proprietäre Steuerzeichen verwandelt. Die Ausgabe (auf den Bildschirm) erfolgt mit dem Standard-Makro *ZEPS
.
Musterdatei:
psalm.tf [350 KB]
#an,psalm.tf #da,h1'h2,fr=- #sa,psalm.tf,h1,t,+,*,h2 mac <psalm> mac </psalm> mac <h2>&& mac </h2>&&{ mac <nr>$$$0$$$ #f+ mac </nr>#f- mac <v>$$$ mac </v> *eof #da,psalm.ps,fdf-ap #*psaus,h2,datei=psalm.ps #*zeps,psalm.ps
- schneider-lastin
Stand: 24.04.2014
Diese Routine zeigt den gesamten Workflow: Trennen von Text und Fußnoten - Satz der Fußnoten - Satz von Text und Fußnoten - Ausgabe (auf den Bildschirm) mit dem Standard-Makro #*ZEPS
. Die Parameter für die Satzläufe befinden sich in der Datei 'bullpar.tf'.
Musterdateien (Ausschnitt aus: Urs. B. Leu, Sandra Weidmann, Heinrich Bullingers Privatbibliothek [Heinrich Bullinger Werke 1. Abt., Bd. 3], Zürich 2004):
bullinger.tf [40 KB]
bullpar.tf [2 KB]
#an,bullinger.tf #= 1. Trennen von Text und Fußnoten #da,bullt'bullf,fr=- #*funo,bullinger.tf,bullt,,+,*,bullf,,* aa |<ue1>|<ue2>|<p>| *eof <fn> </fn> *eof #= 2. Satz der Fußnoten (Datei bullf) #da,zielf'protf,fr=- #da,ausgf,seq-ap #an,bullpar.tf #sa,bullf,zielf,f,+,bullpar.tf,ausgf,protf #= 3. Satz von Text (Datei bullt) und Fußnoten (Datei ausgf) #da,ziel'prot,fr=- #da,ausgt,seq-ap #sa,bullt,ziel,t,+,bullpar.tf,ausgt,prot,ausgf #da,bull.ps,fdf-ap #= 4. Erzeugen eines PostScript-Files #*psaus,ausgt,1-999,einr=100+100,lo=+,kopf=-,datei=bull.ps #*zeps,bull.ps
- [ MTrauth|MTrauth ] - ms.tru
Im Folgenden werden Satzroutinen aus dem Trierer Satzkurs von M. Trauth gezeigt, die in fortlaufender Erweiterung aufeinander aufbauen. Die einzelnen Routinen können in eine TUSTEP-Datei kopiert und mit #t,dateiname ausgeführt werden.
Als Beispieltext dient das Märchen „Seelenlos“ von Ludwig Bechstein.
Wenn im Folgenden die Maßeinheit Punkt verwendet wird, so ist der Didot-Punkt gemeint (0,375 mm).
Zu grundlegenden typographischen Begriffen vgl. http://www.typolexikon.de/index/.
Zunächst eine kleine Satzroutine zur Demonstration der grundlegenden Abläufe:
Musterdatei:
seelenlos1.tf [34 KB]
#- Anmelden der Textdatei, die gesetzt werden soll: #an,seelenlos1.tf #- Einrichten von temporären (Scratch-)Dateien, die im folgenden benötigt werden: #da,s.6's.7's.9,fr=- #- Einrichten einer permanenten Postscript-Datei für das Satzergebnis: #da,seelenlos1.ps,fdf-ap #- Aufruf des Satzprogramms: #satz,quelle=seelenlos1.tf,ziel=s.7,ausgabe=s.6,protokoll=s.9,modus=t,lo=+ #- Erzeugen einer Postscript-Datei aus der Ausgabedatei 's.6' des Satzprogramms #- mit Hilfe des Standard-Makros *PSAUS: #*psaus,quelle=s.6,datei=seelenlos1.ps,lo=+
Hier nun die gleiche Routine mit einer kleinen Erweiterung:
#- Definition der Variablen, die im folgenden verwendet werden: #- - QUELLE ist die Textdatei, die gesetzt werden soll, #- - PSDATEI ist die Postscriptdatei, die erzeugt und #- - angezeigt werden soll. #de,variablen=* QUELLE = seelenlos1.tf PSDATEI = seelenlos1.ps *eof #- Anmelden der Textdatei, die gesetzt werden soll: #an,<QUELLE> #- Einrichten von temporären (Scratch-)Dateien, die im folgenden benötigt werden: #da,s.6's.7's.9,fr=- #- Einrichten einer permanenten Postscript-Datei für das Satzergebnis: #da,<PSDATEI>,fdf-ap #- Aufruf des Satzprogramms: #satz,quelle=<QUELLE>,ziel=s.7,ausgabe=s.6,protokoll=s.9,modus=t,lo=+ #- Erzeugen einer Postscript-Datei aus der Ausgabedatei 's.6' des Satzprogramms #- mit Hilfe des Standard-Makros *PSAUS: #*psaus,quelle=s.6,datei=<PSDATEI>,lo=+ #- Das folgende TuScript (von ^#makro bis *eof) öffnet die #- Postscript-Datei mit dem entsprechenden installierten Programm #- (wobei i.f. von Ghostscript/Ghostview ausgegangen wird): #makro $$ MODE TUSCRIPT - Das folgende FETCH macht die Tustep-Variable PSDATEI - als TuScript-Variable verfügbar: FETCH/TUSTEP psdatei = psdatei - Wenn noch kein enstprechendes Windows-Fenster geöffnet ist, - soll die API-Funktion BROWSE mit der ps-Datei aufgerufen werden: IF ("{psdatei} - GSview" .NE. 'TITLE') BROWSE "{psdatei}" *eof
Hier werden nun auch diverse Einstellungen vorgenommen, mit denen der Benutzer den Ablauf des Satz-Programms und damit das Ergebnis steuern kann.
In erster Linie sind hierbei wichtig die Satz-Parameter sowie die Makros, die als leicht zu merkende Ersetzungen für die proprietären TUSTEP-Codierungen verwendet werden können (z.B. <i> statt #/+). Letztere werden in den Zeilen, die mit MAA respektive MAC beginnen, definiert.
Die Satz-Parameter inklusive der jeweiligen Voreinstellung und der möglichen Belegung können im Handbuch im Kapitel #SATZ im Unterkapitel Parameter nachvollzogen werden.
Musterdatei:
seelenlos2.tf [36 KB]
#- Gegenüber den Voreinstellungen des Satzprogramms werden #- hier erste Parameter eingeführt, z.B. zur Veränderung von #- Höhe und Breite des Satzspiegels, Schriftgraden, Kolumnentitel etc.) #- Definition der Variablen, die im folgenden verwendet werden: #de,variablen=* QUELLE = seelenlos2.tf PSDATEI = seelenlos2.ps *eof #- Anmelden der Textdatei, die gesetzt werden soll: #an,<QUELLE> #- Einrichten von temporären (Scratch-)Dateien, die im folgenden benötigt werden: #da,s.6's.7's.9,fr=- #- Einrichten einer permanenten Postscript-Datei für das Satzergebnis: #da,<PSDATEI>,fdf-ap #- Aufruf des Satzprogramms: #satz,quelle=<QUELLE>,ziel=s.7,ausgabe=s.6,protokoll=s.9,modus=t,lo=+,parameter=* * Das Programm soll in jedem Fall bis zum Ende laufen, daher wird eine * hohe Zahl von Fehlern gewählt, nach der erst abgebrochen werden soll: abb 999999 *Definition der Schriftart (hier: Times) für die verschiedenen Schriftschnitte * a) std = recte, b) #/+ = kursiv, c) #k+ = Kapitälchen, * d) #f+ = fett, e) #g+ = griechisch std #/+ #k+ #f+ #g+ sch 31801 31802 31804 31803 31901 * Definition der Schriftgrößen in den verschiedenen Textteilen * a) Grundtext, b) Einschaltungen, c) Fußnoten, d) Überschrift * zweiter Stufe, e) Überschrift erster Stufe, f) Pagina, * g) Kolumnentitel, h) Fußtext, wobei die beiden durch '//' * getrennten Werte den Schriftgrad und die Zeilenhöhe in Punkt * bezeichnen: std ein fn h2 h1 pag kol fuß gro 9//11 8//9 8//9 10//12 12//14 9//20 8//10 8//10 * Breite des Satzspiegels in Punkt: bre 312 * Höhe des Satzspiegels in Punkt; * Spaltenhöhenausgleich bei weniger als 2 zur vollen Höhe fehlenden Zeilen: hoe 438 2 * Absätze: $ 0 3/2 -10. * Definition der Pagina: Startwert ist 1, Lage ist 2 = 'oben außen' sei 1 2 * Wenn der Parameter SEI verwendet wird, ist auch der folgende * Parameter MON erforderlich (MON = Definition der Seitenmontage): 1 = einspaltig, 0 = Start der Paginierung vom Parameter SEI übernehmen, 312 = Breite der Spalte, 60 + 60 = Materialrand (Film) 12 P. plus Marginalienbreite 48 P.: mon 1 0 312 60 60 * Definition des Kolumnentitels (Lage oben, zentriert, geteilt * = links und rechts verschieden; Linie darunter in 3 p Abstand; * kein unterere Kolumnentitel): kol 2 3 0 * Überschrift der höchsten Stufe (= <h1> bzw. <h1z>): &&& 0 1 0 0 20 * Die folgenden Satzmakros sind ein Vorschlag, um komplexe * Satzanweisungen vereinfacht in Form eines Tags darzustellen. * Syntax: <BeliebigerTagname>Satzanweisung mac <p>$ mac </p> * Makros für 'neue Seite', 'neue Seite links' und 'neue Seite rechts': mac <np/>&&&n&&&{ mac <npl/>&&&l&&&{ mac <npr/>&&&r&&&{ * Makros für Kolumnentitel links und rechts: mac <ktl>@= mac </ktl>@{ mac <ktr>@/ mac </ktr>@{ * Makros für (zentrierte) Überschriften: mac <h1z>&&&@-z mac <h1z/>$$$@-z mac </h1z>&&&{ mac <h2z>&&@-z mac <h2z/>$$$@-z mac </h2z>&&{ mac <h3z>&@-z mac <h3z/>$$$@-z mac </h3z>&{ * speziell Überschrift 'Name des Autors': mac <autor>&&@-z#k+ mac </autor>#k-&!d-6&&{ * Makros für Einschaltungen: mac <e>$$ mac </e>$${ * Makros für Dicktenmanipulationen: mac <gmin>&!k(+0:-0,25)&!s(-20)\\ mac </gmin>&!s(+0)&!k{ * Makros für Register (Personen, Orte, Sachen, Hss., Literatur): maa <regp>&xp^^ maa </regp>&x{ maa <rego>&xo^^ maa </rego>&x{ maa <regs>&xs^^ maa </regs>&x{ maa <regh>&xh^^ maa </regh>&x{ maa <regl>&xl^^ maa </regl>&x{ * Makro 'Kommentar': maa <kom>&x maa </kom>&x{ *eof #- Erzeugen einer Postscript-Datei aus der Ausgabedatei s.6 des Satzprogramms #- mit Hilfe des Standard-Makros *PSAUS. #- Hierbei wird zu Kontrollzwecken eine Linie um den Satzspiegel erzeugt. #- Soll dies unterbleiben, kann derselbe Aufruf ohne die Spezifikation {{LINIEN}} benutzt werden: #*psaus,quelle=s.6,datei=<PSDATEI>,lo=+,linien=[59*55+373*493] #- Das folgende Skript (von ^#makro bis *eof) öffnet die #- Postscript-Datei mit dem entsprechenden installierten Programm: #makro $$ MODE TUSCRIPT - Das folgende FETCH macht die Tustep-Variable PSDATEI - als TuScript-Variable PSDATEI verfügbar: FETCH/TUSTEP psdatei = psdatei - Wenn noch kein enstprechendes Windows-Fenster geöffnet ist, - soll die API-Funktion BROWSE mit der ps-Datei aufgerufen: IF ("{psdatei} - GSview" .NE. 'TITLE') BROWSE "{psdatei}" *eof