#start(5.0,1.5)##pagenr("%",42)##setcount(1)##block##pageblock##count per page# #headeven# #lpos(0.0)##cpos(5.5)##rpos(11.0)# #table# EUMEL-Benutzerhandbuch #fillchar(" ")# #on("u")# #off("u")# #table end##clear pos# #end# #headodd# #lpos(0.0)##cpos(5.5)##rpos(11.0)##fillchar(" ")# #table# Teil 5: Textkosmetik und Druck #fillchar(" ")# #on("u")# #off("u")# #table end##clear pos# #end# #bottomeven# #lpos(0.0)##cpos(5.5)##rpos(11.0)# #table# #fillchar(" ")# #on("u")# #off("u")# #fillchar(" ")# 5 - % GMD #tableend##clearpos# #end# #bottomodd# #lpos(0.0)##cpos(5.5)##rpos(11.0)# #table# #fillchar(" ")# #on("u")# #off("u")# #fillchar(" ")# GMD 5 - % #tableend##clearpos# #end# #ib(9)#5.3. #ib#Pageform#ie##ie(9)# #free(1.0)# #ib(9)#5.3.1. #ib#Seitenweise formatieren#ie##ie(9)# #goalpage("pageform")##goalpage ("autopageform")# #free(1.0)# #on("i")# 'pageform'/'autopageform' formatiert eine Datei seitenweise und erledigt Routine­ arbeiten wie die Plazierung von Fußnoten, Seitennumerierung usw. #off("i")# #free(1.0)# Das Programm 'pageform' können Sie mit dem Kommando ____________________________________________________________________________ gib kommando: pageform ("dateiname") ____________________________________________________________________________ aufrufen. 'pageform' erzeugt aus der Eingabedatei (z.B.: "dateiname") eine Druck­ datei, deren Name durch ein angehängtes '.p' gebildet wird (z.B.: "dateiname.p"). Die von 'pageform' erzeugte Druckdatei besteht aus der Eingabedatei mit ggf. neu eingefügten Zeilen. Die eingesetzten Zeilen stammen aus \#head\#-, \#bottom\#- oder \#foot\#-Anweisungen. Dadurch erhöht sich die Zeilenanzahl der Datei. Sie können in Kopf- oder Fußzeilen Seitennummern aufnehmen. Diese Seiten­ nummern werden von 'pageform'/'autopageform' bei Seitenwechseln automatisch erhöht und an eine von Ihnen gekennzeichnete Stelle eingesetzt. Fußnoten können auch durch Nummern gekennzeichnet werden. Querverweise sind ebenfalls möglich. #page# Nachdem 'pageform' eventuelle Kopf-, Fuß- und Fußnotenzeilen eingefügt hat, berechnet es die Anzahl von Zeilen, die auf eine Seite passen, aus den Angaben für Seitenlänge und Zeilenvorschub und aus der Höhe der eingestellten Schrifttypen (\#type\#-Anweisung). Dann zeigt 'pageform' das errechnete Seitenende auf dem Bild­ schirm an. Das Seitenende kann interaktiv verschoben werden, um es an eine ge­ wünschte Stelle zu plazieren und es können Leerzeilen eingefügt/gelöscht werden, um Seiten gleich lang zu machen. Zusätzlich können Sie Seiten in Spalten ("Zeitungs­ druck") aufteilen und diese interaktiv formatieren. Bei mehreren Schrifttypen innerhalb einer Zeile wird als Zeilenhöhe automatisch die des größten Schrifttyps genommen. Dabei müssen Sie bedenken, daß zu Beginn der Zeile immer der Schrifttyp der vorherigen Zeile eingeschaltet ist. #page# #ib(9)#5.3.1.1. #ib#Automatische Seitenformatierung#ie(9)##ie# #free(1.0)# #on("i")# 'autopageform' arbeitet wie 'pageform', jedoch werden die Seitenenden automa­ tisch plaziert. #off("i")# #free(1.0)# 'autopageform' sucht zuerst das rechnerische Seitenende. Ist dort ein Absatz vor­ handen, wird die Seite an dieser Stelle beendet. Falls nicht, sucht 'autopageform' nach oben in den nächsten vier Zeilen nach einem Absatz. Wird keiner gefunden, wird die Seite am rechnerischen Seitenende beendet. Ist die \#pageblock\#-Anweisung gegeben, wird zuerst nach oben in den vier letzten Zeilen nach einem Absatz gesucht, um dort die Seite zu beenden. Ist dort keiner vorhanden, wird auch über das rechnerische Seitenende hinweg versucht, die Seiten­ länge zu plazieren (4 Zeilen). 'autopageform' beachtet in einem solchen Fall die 'pagelength'-Anweisung, indem der Zeilenabstand gestaucht wird. #page# #ib(9)#5.3.1.2. #ib#Seitenende interaktiv verschieben#ie# #ie(9)# #free(1.0)# #on("i")# In diesem Abschnitt wird beschrieben, welche interaktiven Möglichkeiten Ihnen 'pageform' bietet, Seiten zu gestalten. #off("i")# #free(1.0)# Auf dem Bildschirm wird das von 'pageform' errechnete jeweilige Seitenende unter Angabe der aktuellen Seitennummer angezeigt. Das Seitenende erscheint ungefähr in der Mitte des Bildschirmes und wird durch eine von 'pageform' erzeugte Zeile ge­ kennzeichnet, die auch - nach erfolgter Seitenformatierung - in der Druckdatei zu sehen ist. Der EUMEL-Drucker druckt diese Zeile nicht. ____________________________________________________________________________ Mehrere Fußnoten innerhalb einer Seite werden von 'pageform'/­ 'autopageform' in der Reihenfolge ihres Auftretens gesammelt und am Ende der Seite plaziert. Für eine entsprechende Trennung der Fußnoten voneinander (z.B. durch Leerzeilen) müssen Sie selbst sorgen. \#page\#\#--------------------- Ende Seite 215 --------\# Unter Umständen paßt die Fußnote nicht mehr auf die aktuelle Seite und muß deshalb von 'pageform'/'autopageform' auf die näch­ ste Seite gebracht werden. 'pageform'/'autopageform' geht davon aus, daß die Kennzeichnung der Fußnote in der Zeile unmittelbar vor der Fußnote steht und bringt diese Zeile ebenfalls auf die neue Seite. ____________________________________________________________________________ Über der Markierung erscheinen die letzten Zeilen der bereits verarbeiteten Seite, darunter die ersten Zeilen der nächsten Seite. Sie können nun mit Hilfe der Positio­ nierungstasten die Markierung und damit das Seitenende nach oben verschieben. Damit vermeiden Sie, daß ein logisch zusammengehöriger Text auseinandergerissen wird und sogenannte "Waisenkinder" entstehen (letzte Zeile eines Abschnittes kommt auf die neue Seite). Bei der interaktiven #ib#Formatierung#ie (1, " für Seiten")# können Sie die Markierung nicht über das errech­ nete Ende einer Seite nach unten oder über das vorherige, bereits verarbeitete Seiten­ ende nach oben verschieben. Haben Sie jedoch zu Beginn die #ib#\#pageblock\##ie(1,"-Anweisung")#-Anweisung (siehe S. 5-91) gegeben, ist es erlaubt, die Seitenende-Markierung auch einige Zeilen über das rechnerische Seitenende hinaus zu bewegen. Betätigen Sie dann , wird der Drucker (sofern möglich) den Zeilenabstand auf dieser Seite stauchen. In diesem Fall sollten Sie darauf achten, daß das Seitenende bei einem Absatz immer #on("b")##on("i")#vor#off("b")##off("i")# eventuell vorhan­ dene Leerzeilen plaziert wird. Andernfalls werden die Leerzeilen am Ende der Seite als Textzeile mitgezählt und es bleibt entsprechender Platz frei! Innerhalb einer Fußnote kann die Markierung nicht verschoben werden. In diesem Fall wird interaktiv angefragt, ob die Fußnote auf der nächsten Seite fortgesetzt werden soll. Verneinen Sie die Anfrage, positioniert 'pageform' vor die Fußnote. Von dieser Stelle aus können Sie das Seitenende wie gewohnt verschieben. Bejahen Sie dagegen die Anfrage nach dem Fußnotenumbruch, plaziert 'pageform' das Seitende an dieser Stelle innerhalb der Fußnote. Der restliche Teil der Fußnote kommt auf die nächste Seite mit einer Anmerkung ('Forts. von letzter Seite')#u##count#)#e#. #foot# #u##value#)#e# Bei fremdsprachlichen Texten sollten Sie nach 'pageform' diese Anmerkungen in der '.p'-Datei ändern. #end# Entstehen bei der Seitenformatierung am Anfang einer Seite #ib#Leerzeilen#ie(1, " am Seitenanfang")# (z.B. durch Plazierung des Seitenendes zwischen zwei Absätzen), so werden diese von 'page­ form' automatisch aus der Druckdatei entfernt. Möchten Sie #ib#Leerzeilen am Anfang einer Seite#ie#, dann sollten Sie die \#free\#-Anweisung in Verbindung mit der \#page\#- Anweisung verwenden. Zusätzlich können Sie Leerzeilen in eine Seite der Druckdatei einfügen und/oder beliebige Zeilen löschen (vergl. b). #page# Folgende Operationen stehen Ihnen bei der interaktiven Seitenformatierung zur Ver­ fügung: #on("b")#a) #ib#Seitenende verschieben#ie#:#off("b")# 'pageform' berechnet das "rechnerische" Seitenende und zeigt dieses auf dem Bild­ schirm durch die Markierung an. Die Markierung kann interaktiv verschoben werden: #on("b")#Taste Bedeutung#off("b")# Seitenende an diese Stelle plazieren. <^> Seitenende eine Zeile nach oben verschieben. Seitenende eine Zeile nach unten verschieben (wenn vorher nach oben verschoben bzw. wenn \#pageblock\#- Anweisung gegeben ist). <^> Seitenende um einen Bildschirm nach oben verschieben. Seitenende um einen Bildschirm nach unten verschieben. Abbruch der Seitenformatierung. #on("b")#b) #ib#Leerzeilen einfügen#ie# und/oder #ib#Zeilen löschen#ie##off("b")# Ist nach den Berechnungen von 'pageform' der Text ungünstig auf der Seite plaziert, können Sie in die Seite (der Druckdatei!) Leerzeilen einfügen und/oder Zeilen löschen. Dies kann beispielsweise sinnvoll sein, wenn durch die Löschung einer Zeile ein Absatz noch auf die Seite passen würde oder durch die Einfügung von Leerzeilen ein Absatz auf der letzten Zeile der Seite endet. Oft ist es auch sinnvoll, daß alle Seiten gleich lang sind. In diesem Fall sollten vor Kapiteln und Absätzen Leerzeilen eingefügt oder gelöscht werden. Um Leerzeilen einzufügen und/oder Zeilen zu löschen, müssen Sie die Markierung wie unter a) beschrieben an die Stelle plazieren, an der die Änderung vorgenommen werden soll. #on("b")#Taste Bedeutung#off("b")# Leerzeilen einfügen. Anstatt der Markierung können durch (u.U. mehrmaliges) Leerzeilen eingefügt werden. beendet den Vorgang (wie Zeileneinfügen im Editor). Zeile löschen. Die Zeile unmittelbar oberhalb der Markierung wird gelöscht. Anschließend berechnet 'pageform' die Seite erneut. #on("b")#c) #ib(9)##ib#\#page\#-Anweisung bestätigen/löschen#ie(9)##ie##off ("bold")# Wird von der Prozedur 'pageform' eine #ib#\#page\#-Anweisung#ie# angetroffen, so wird das gewünschte Seitenende auf Ihrem Bildschirm angezeigt. Die \#page\#-Anweisung können Sie entweder bestätigen oder löschen. #on("b")#Taste Bedeutung#off("b")# Seitenende bestätigen. \#page\#-Anweisung ignorieren. Die Prozedur 'pageform' bearbeitet in diesem Fall die Datei weiter, als ob keine \#page\#-Anweisung angetroffen wurde. Abbruch der Seitenformatierung. #page# #ib(9)#5.3.2. #ib#Seitenlänge einstellen#ie##ie(9)# #goalpage("pagelength")# #free(0.7)# #on("i")# 'pageform'/'autopageform' ist auf ein Schreibfeld von 25.0 cm eingestellt (ent­ spricht einem DIN A4-Schreibfeld). Wünschen Sie eine andere Seitenlänge, müssen Sie die #ib#\#pagelength\#-Anweisung#ie# in den Text einfügen. #off("i")# #free(0.7)# ____________________________________________________________________________ \#pagelength (20.0)\# ____________________________________________________________________________ stellt die Seitenlänge auf 20 cm ein. Beachten Sie, daß 1. die neu eingestellte Seitenlänge immer erst ab der nächsten Seite gilt (die bislang eingestellte Seitenlänge gilt noch für die aktuelle Seite). 2. die eingestellte Seitenlänge am Anfang der Datei (also vor der ersten Textzeile) für die erste Seite gilt. #mark ("", "")# 3. der Dezimalpunkt bei der Seitenlänge mit angegeben werden muß. Die folgende Tabelle gibt die Seitenlänge für die am häufigsten gewählten Papier­ größen an: #on("b")#Format Seitenlänge oberer und (in cm) unterer Rand#off("b")# DIN A4 25.0 je 2.35 cm DIN A5 18.0 je 2.15 cm DIN A4 quer 16.0 je 2.50 cm #page# #ib(9)#5.3.3. #ib#Zeilenabstand einstellen#ie##ie(9)# #goalpage ("linefeed")# #free(1.0)# #on("i")# Mit der #ib#\#linefeed\#-Anweisung#ie# stellen Sie einen #ib#Zeilenvorschub#ie# relativ zu der #ib#Schrifthöhe#ie# des eingestellten Schrifttyps ein. #off("i")# #free(1.0)# 'pageform'/'autopageform' berechnet die Anzahl der Zeilen pro Seite immer in Ab­ hängigkeit von dem eingestellten Schrifttyp. Haben Sie z.B. eine Schrift gewählt, die doppelt so hoch wie eine Schreibmaschinenschrift ist, bekommen Sie auch entspre­ chend weniger Zeilen auf eine Seite. Um diesen Berechnungsvorgang brauchen Sie sich in der Regel nicht zu kümmern. Anders verhält es sich, wenn ein anderer #ib#Zeilenabstand#ie# als der "normale" Abstand zwischen Zeilen eingestellt werden soll. In diesem Fall wird die \#linefeed\#- Anweisung eingesetzt. Der Parameter gibt an, um welchen Faktor eine Zeilenhöhe #on("i")##on("b")#ab der nächsten druckbaren Zeile#off("b")##off("i")# erhöht oder verringert werden soll. ____________________________________________________________________________ \#linefeed (2.0)\# ____________________________________________________________________________ druckt die folgenden Zeilen mit doppeltem Zeilenabstand. Nach Antreffen dieser An­ weisung wird die Zeilenhöhe durch 2 * eingestellte Schrifttypgröße errechnet. Es wird also der Zeilenabstand zwischen den Zeilen entsprechend vergrößert, da die Schrift­ größe gleich bleibt. Dies entspricht dem zweizeiligen Schreiben bei einer Schreib­ maschine (wenn man davon absieht, daß auch hier unterschiedliche Schrifthöhen möglich sind). Ein 1 1/2 zeiliges Schreiben wäre mit ____________________________________________________________________________ \#linefeed (1.5)\# ____________________________________________________________________________ einzustellen. ____________________________________________________________________________ \#linefeed (0.5)\# ____________________________________________________________________________ stellt die Zeilenhöhe = 1/2 * eingestellte Schrifthöhe ein, so daß die Zeilen teilweise ineinander gedruckt werden (was bei manchen Druckern zu nicht lesbaren Resultaten führt). Bei \#linefeed (0.0)\# werden Zeilen übereinander gedruckt (druckerabhängig). Beachten Sie, daß die Angabe in der \#linefeed\#-Anweisung relativ erfolgt. Bei allen anderen Anweisungen der Textkosmetik werden Angaben in Zentimetern verlangt. Die \#linefeed\#-Anweisung bildet somit eine Ausnahme. #page# #ib(9)#5.3.4. #ib#Platz freihalten#ie# #ie(9)# #goalpage ("free")# #free(1.0)# #on("i")# Mit der #ib#\#free\#-Anweisung#ie# können Sie einen zusammenhängenden Teil auf einer Seite freihalten. #off("i")# #free(1.0)# Die \#free\#-Anweisung setzen Sie an solchen Stellen im Text ein, an denen - nach dem Druck - Zeichnungen, Tabellen und ähnliches eingeklebt werden sollen. Sie können sie auch zwischen Absätzen, Kapiteln usw. einsetzen, wenn der Abstand nicht gleich dem Vielfachen der Zeilenhöhe ist. Es wird der in der \#free\#-Anweisung angegebene Platz freigehalten. ____________________________________________________________________________ \#free (2.0)\# ____________________________________________________________________________ hält zwei Zentimeter frei. Paßt der angeforderte Platz nicht mehr auf die Seite, so wird er auf der nächsten Seite reserviert ('pageform'/'autopageform' plaziert das Seiten­ ende vor die \#free\#-Anweisung). #on("i")##on("b")#Praktischer Tip:#off("b")##off("i")# Sie sollten eine \#free\#-Anweisung allein auf eine Zeile schreiben, damit Sie sie u.U. durch 'pageform' interaktiv entfernen können, wenn die \#free\#-Anweisung ungünstig an den Seitenanfang oder das Seitenende kommt. #page# #ib(9)#5.3.5. #ib#Neue Seite beginnen#ie##ie(9)# #goalpage("page")# #free(1.0)# #on("i")# An einigen Stellen im Text, z.B. zu Beginn eines neuen Kapitels, möchten Sie unbedingt eine neue Seite anfangen. Dies erreichen Sie mit der #ib#\#page\#- Anweisung#ie#. #off("i")# #free(1.0)# 'pageform' meldet in diesem Fall, nach wie vielen Zentimetern auf der Seite die An­ weisung angetroffen wurde. Sie können nun mit das Seitenende bestätigen oder die Anweisung (in der Druckdatei) löschen. Im letzteren Fall berechnet 'pageform' die Seite neu, als ob die \#page\#-Anweisung nicht dagewesen wäre. Gleichzeitig können Sie mit Hilfe der #ib#\#page\#-Anweisung#ie(1, ", mit neuer Seitenummer")# eine neue Seitennummer für die neue Seite einstellen (vergl. Sie dazu die nächsten Abschnitte). #page# #ib(9)#5.3.6. #ib#Kopf- und Fußzeilen#ie##ie(9)# #goalpage("head")##goalpage("bottom")# #free(1.0)# #on("i")# Mit den #ib#\#head\#-#ie(1, "Anweisung")# und #ib#\#bottom\#-Anweisung#ie#en können Sie Zeilen am Anfang und Ende jeder Seite einfügen. #off("i")# #free(1.0)# Sie schreiben Zeilen am Anfang ("#ib#Kopfzeilen#ie#") und Ende ("#ib#Fußzeilen#ie#") jeder Seite nur einmal und kennzeichnen sie mit Anweisungen. Diese Zeilen fügt 'pageform'/­ 'autopageform' dann an den entsprechenden Stellen ein. ____________________________________________________________________________ \#head\# Unser EUMEL-Benutzerhandbuch \#end\# ____________________________________________________________________________ Diese Zeile (also die zwischen den \#head\#- und #ib#\#end\#-Anweisung#ie#en eingeschlos­ sene Zeile) wird von 'pageform'/'autopageform' an den Anfang jeder Seite in die Druckdatei plaziert. Entsprechendes gilt für Fußzeilen, die zwischen \#bottom\# und \#end\# eingeschlossen werden müssen: ____________________________________________________________________________ \#bottom\# Autor: I. Listig \#end\# ____________________________________________________________________________ #on("b")#Praktischer Tip#off("b")#: Fügen Sie mindestens eine Leerzeile am Ende eines \#head\# bzw. am Anfang eines \#bottom\# ein, um den eigentlichen Text von den Kopf- bzw. Fußzeilen abzuheben. 'pageform'/'autopageform' zählt die Seiten, beginnend mit der Seitennummer '1'. (Wie man Seitennummern in die Kopf- und Fußzeilen bekommt, erfahren Sie im nächsten Abschnitt). Sie können nun getrennte Kopf- und Fußzeilen für gerade und ungerade Seiten gestalten (wie in diesem Benutzerhandbuch). Dies erfolgt mit den Anweisungen \#headeven\# und \#headodd\# für Seiten mit geraden und ungeraden Seitennummern; ebenso \#bottomeven\# und \#bottomodd\#. Diese Anweisungen müssen ebenfalls jeweils mit einer \#end\#-Anweisung beendet werden. Sie haben die Möglichkeit, Kopf- und Fußzeilen mehrmals innerhalb einer Datei zu wechseln, um unterschiedliche Beschriftungen zu erhalten (z.B. kapitelweise). Dies ist jedoch nur sinnvoll, wenn es auf einer neuen Seite erfolgt, also unmittelbar #on("b")##on("is")#nach#off("b")##off("is")# einer \#page\#-Anweisung. ____________________________________________________________________________ \#page\# \#head\# Neuer Seitenkopf \#end\# ____________________________________________________________________________ Kopf- und Fußzeilen sollen überall gleiches Aussehen haben, unabhängig davon, welche Anweisungen im restlichen Text gegeben werden. Darum werden die bei der Definition einer Kopf- und Fußzeile aktuellen Werte für limit type linefeed bei dem Einsetzen der Zeilen berücksichtigt. Für Kopf- oder Fußzeilen können Sie einen anderen Schrifttyp als im restlichen Text verwenden, indem Sie die \#type\#- Anweisung innerhalb eines \#head\#- oder \#bottom\#-Bereiches geben. Beachten Sie, daß nach \#head\#-, \#bottom\# und auch \#foot\#-Bereichen die oben genannten An­ weisungen nicht automatisch zurückgestellt werden. Darum sollten Sie vor der \#end\#-Anweisung wieder auf die im übrigen Text verwendeten Werte zurückstellen. ____________________________________________________________________________ \#bottom\# \#type ("klein")\# Autor: I. Listig (Schrifttyp zurückstellen): \#type ("normal")\# \#end\# ____________________________________________________________________________ #page# #ib(9)#5.3.7. #ib#Seiten numerieren#ie##ie(9)# #free(1.0)# #on("i")# In den Kopf- und Fußzeilen steht das #ib#'%'-Zeichen#ie# für die aktuelle Seiten­ nummer. #off("i")# #free(1.0)# Erscheint das '%'-Zeichen innerhalb eines Kopf- oder Fußbereiches, wird von 'pageform'/'autopageform' beim Einsetzen dieser Zeilen auf jeder Seite die aktuelle #ib#Seitennummer#ie# eingesetzt (sind mehrere '%'-Zeichen vorhanden, wird die Seiten­ nummer mehrmals eingesetzt). ____________________________________________________________________________ \#head\# Seite: - % - \#end\# ____________________________________________________________________________ Wenn Sie die Seitenzahl in der Zeilenmitte oder am rechten Rand plazieren möchten, können Sie die Anweisungen \#center\# (siehe S. 5-93) oder \#right\# (siehe S. 5-94) verwenden. Durch das Einrichten eines Fußbereiches können Sie die Seitennummern auch am unteren Ende einer Seite erzeugen. Beachten Sie, daß sich bei mehrstelligen Seiten­ nummern die Zeilenlänge durch das Einsetzen vergrößert. Um zum Beispiel das #ib#Vorhandensein einer Folgeseite#ie# in einem Fußbereich zu kenn­ zeichnen, müssen Sie das '%'-Zeichen zweimal direkt hintereinander schreiben. ____________________________________________________________________________ \#bottom\# \#right\# %% \#end\# ____________________________________________________________________________ In dem Beispiel oben wird die Seitenzahl rechtsbündig gedruckt. Manchmal ist es notwendig und sinnvoll, einen Text in mehreren Dateien zu halten. Bei einer Folgedatei müssen Sie die Seitennummer dann neu setzen. Das erfolgt mit der \#pagenr\#- oder der \#page\#-Anweisung. ____________________________________________________________________________ \#page (4)\# ____________________________________________________________________________ bewirkt eine neue Seite. Die Seitennummer der neuen Seite ist '4'. #goalpage("pagenr")# Bei einigen Spezialanwendungen benötigen Sie unter Umständen mehr als eine Seitennummer. Beispielsweise soll ein Text nicht nur absolut, sondern auch jede Seite in jedem Kapitel separat durchgezählt werden. ____________________________________________________________________________ \#page (4711)\# \#pagenr ("$", 1)\# \#head\# Mein Buch Seite: % Kapitelseite: $ \#end\# ____________________________________________________________________________ Die Anweisung #ib#\#pagenr#ie# ("$",1)\# veranlaßt, daß ab der nächsten Seite eine neue Numerierung durchgeführt wird. Dabei steht '$' stellvertretend für die neue Zahl. Die '1' bedeutet, daß bei der Numerierung mit '1' begonnen wird. 'pageform'/­ 'autopageform' erhöht bei jeder neuen Seite das Zeichen um '1' und setzt es ggf. in die Kopf- und Fußzeilen. Es sind zwei zusätzliche Seitenzeichen (neben dem '%') möglich. Beachten Sie, daß die neuen Seitennummern immer erst ab der nächsten Seite gel­ ten. Geben Sie die \#page (...)\#- oder die \#pagenr (...,...)\#-Anweisung am Anfang der Datei (also vor der ersten Textzeile), gelten die neuen Seitennummern für die erste Seite. #page# #ib(9)#5.3.8. #ib#Fußnoten#ie# schreiben#ie(9)# #goalpage("foot")# #free(1.0)# #on("i")# Fußnoten werden direkt im Text durch die Anweisungen \#foot\# und \#end\# gekennzeichnet. Die Fußnoten plaziert 'pageform'/'autopageform' an das Ende einer Seite. #off("i")# #free(1.0)# #ib#Fußnoten#ie# schreiben Sie direkt in den Text, am besten an der Stelle, an der später die Fußnote aufgerufen werden soll. Die Fußnote wird von 'pageform'/'autopageform' an das Ende einer Seite, ggf. vor die Fußzeilen, plaziert. Für die Kennzeichnung von Fußnoten und die entsprechende Markierung im Text sind Sie selbst zuständig. Aller­ dings werden von 'pageform'/'autopageform' bei dem Einsetzen einer Fußnote am Ende einer Seite Unterstriche vor die Fußnoten eingefügt, damit Fußnoten vom lau­ fenden Text abgehoben werden. ____________________________________________________________________________ \#foot\# *) Das ist die erste Anmerkung auf dieser Seite. \#end\# ____________________________________________________________________________ Druckbild: ______ *) Das ist die erste Anmerkung auf dieser Seite. Mehrere Fußnoten innerhalb einer Seite werden von 'pageform'/'autopageform' in der Reihenfolge ihres Auftretens gesammelt und am Ende der Seite plaziert. Für eine entsprechende Trennung der Fußnoten voneinander (z.B. durch Leerzeilen) müssen Sie selbst sorgen. Unter Umständen paßt die Fußnote nicht mehr auf die aktuelle Seite und muß deshalb von 'pageform'/'autopageform' auf die nächste Seite gebracht werden. 'pageform'/­ 'autopageform' geht davon aus, daß die Kennzeichnung der Fußnote in der Zeile unmittelbar vor der Fußnote steht und bringt diese Zeile ebenfalls auf die neue Seite. ____________________________________________________________________________ Es ist auch möglich, eine Fußnote innerhalb eines Abschnitts zu schreiben, wie z.B. in dieser Zeile\#u\#*)\#e\#.\#foot\# \#u\#*)\#e\# Fußnote in einem Abschnitt! \#end\# Sie fahren anschließend ohne Unterbrechung mit dem Schreiben Ihres Textes fort. ____________________________________________________________________________ Druckbild (nach lineform): Es ist auch möglich, eine Fußnote innerhalb eines Abschnitts zu schreiben, wie z.B. in dieser Zeile#u#*)#e#. Sie fahren anschließend ohne Unterbrechung mit dem Schreiben#foot# #u#*)#e# Fußnote in einem Abschnitt! #end# Ihres Textes fort. In diesem Fall ist es wünschenswert, daß 'lineform' die Zeile, die \#foot\# vorausgeht, mit der Zeile, die \#end\# folgt, auffüllt. Dies geschieht unter folgenden Bedingungen: 1. Hinter \#foot\# darf nichts mehr stehen, also auch kein Absatzzeichen. 2. Es werden so lange Worte von der Zeile nach \#end\# vor die \#foot\#-Anweisung plaziert, bis die Zeile gefüllt oder die Zeile nach \#end\# leergeräumt ist. 3. Beachten Sie, daß Textkosmetik-Anweisungen ebenfalls mit über die Fußnote genommen werden. Handelt es sich beispielsweise um eine \#type\#-Anweisung, kann sich das Aussehen der Fußnote verändern! Darum ist es angeraten, even­ tuelle Anweisungen, die die Fußnote verändern sollen, innerhalb der Fußnote zu plazieren. Sie sollten vermeiden, umfangreiche Texte in Fußnoten zu schreiben (beispielsweise längere Zitate). Aus programmtechnischen Gründen begrenzt 'pageform'/'autopage­ form' die maximale Länge von Fußnoten auf einer Seite auf 85% des effektiven Schreibfeldes (effektives Schreibfeld: Seitenlänge minus Länge von \#head\#- bzw. \#bottom\#-Zeilen). Nimmt eine Fußnote einen größeren Raum ein, bricht 'pageform'/ 'autopageform' die Seitenformatierung mit einer Fehlermeldung ab. #page# #ib(9)#5.3.8.1. #ib#Fußnoten numerieren#ie##ie(9)# #goalpage("count")##goalpage("value")# #free(1.0)# #on("i")# Gleichartige Textteile wie Lehrsätze, Beispiele, Fußnoten usw. werden i. allg. durchnumeriert. Da Sie bei der Abfassung eines längeren Textes ihre genaue Anzahl meist nicht vorausplanen können, übernimmt 'pageform'/'autopageform' die Zählung. #off("i")# #free(1.0)# Durch die #ib#\#count\#-Anweisung#ie# wird 'pageform'/'autopageform' veranlaßt, einen internen Zähler (beginnend bei dem Wert 0) zu erhöhen und diesen Wert statt der \#count\#-Anweisungen in den Text einzusetzen. ____________________________________________________________________________ \#count\# ____________________________________________________________________________ setzt den Wert 1 statt der Anweisung ein. Jede weitere \#count\#-Anweisung erhöht den internen Zähler und der Zählerwert wird wiederum eingesetzt: ____________________________________________________________________________ \#count\# ____________________________________________________________________________ setzt den Wert 2 ein usw. Dadurch ist es möglich, beliebige Textteile (Kapitel, mathematische Sätze u.a.m.) fortlaufend zu numerieren, ohne auf die Numerierung beim Schreiben und Ändern des Textes zu achten. Anmerkung: Trifft 'lineform' auf eine \#count\#-Anweisung, so wird die Zeile berechnet, als ob drei Ziffern anstatt der Anweisung im Text ständen. Mit der \#value\#-Anweisung können Sie den #on("b")##on("i")#letzten#off("i")##off("b")# erreichten count-Wert nochmals einsetzen. Das ist insbesondere für Fußnoten sinnvoll einsetzbar. ____________________________________________________________________________ Text ....... (\#count\#) \#foot\# (\#value\#) Text der Fußnote \#end\# Text ....... ____________________________________________________________________________ Das Resultat sähe folgendermaßen aus: Text ....... (3) Text ....... ............... ______ (3) Text der Fußnote Beachten Sie, daß in diesem Fall die \#value\#-Anweisung der \#count\#-Anweisung folgen muß, ohne daß eine weitere \#count\#-Anweisung dazwischen steht. Das liegt - wie bereits oben erwähnt - daran, daß die \#value\#-Anweisung immer den letzten \#count\#-Wert einsetzt. Das können Sie umgehen, indem Sie die \#count\#- und \#value\#-Anweisungen mit einem TEXT-Parameter versehen, der als Kennzeichnung dient. ____________________________________________________________________________ \#count ("Merk1")\# ____________________________________________________________________________ \#count ("Merk1")\# arbeitet ebenso wie \#count\# ohne Parameter und setzt für unser Kapitel hier den Wert 4 ein. Zusätzlich zu dem fortlaufend gezählten Wert (fortlau­ fende Numerierung der Fußnoten) vermerkt 'pageform'/'autopageform' einen Wert, der bei Bedarf an irgendeiner anderen Stelle im Text durch \#value ("Merk1")\# wieder aufgerufen werden kann, zum Beispiel, wenn Sie auf eine andere Fußnote verweisen möchten. ____________________________________________________________________________ \#count\#\#count\# \#value("Merk1")\# ____________________________________________________________________________ Die ersten zwei \#count\#-Anweisungen produzieren - in unserem Kapitel - die Werte 5 bzw. 6. Die \#value\#-Anweisung dagegen setzt den vermerkten Wert 4 ein. Dies ist insbesondere sinnvoll, wenn Sie im Text auf eine Fußnote verweisen möch­ ten. Beispiel: Sie schreiben einen mehrseitigen Prospekt über ein neues Produkt. Auf Seite 5 möch­ ten Sie auf eine Fußnote verweisen, die auf einer anderen Seite steht. Dann fügen Sie 'siehe auch Anmerkung (\#value("liefertermin")\#) in Ihren Text ein und fahren mit dem Schreiben fort. 'pageform'/'autopageform' setzt später die entsprechende Zahl für den Verweis ein. Auf der Seite, auf die Sie Bezug nehmen, sieht das ganze folgendermaßen aus: ____________________________________________________________________________ Der Textverarbeitungskurs ist ein Lernprogramm für Anfänger. \#(count)("Liefertermin")\#) \#foot\# (\#(value)("Liefertermin")\#) Der Textverarbeitungskurs wird ab August erhältlich sein. \#end\# Das Programm ist auf den neuesten Erkenntnissen der Lehr­ forschung aufgebaut. Der Kurs umfaßt Lehrbuch, Arbeitsbuch und sechs Kassetten. ____________________________________________________________________________ #page# Soll die Zahl für den Verweis bzw. für die Fußnote hochgestellt werden, fügen Sie die Anweisungen \#u\# und \#e\# hinzu. ____________________________________________________________________________ \#u\# (\#value("Liefertermin")\#)\#e\# ____________________________________________________________________________ Im gedruckten Prospekt sähe es (nach 'lineform') wie folgt aus: Der Textverarbeitungskurs ist ein Lernprogramm für Anfänger#u##count#)#e#.#foot# #u##value#)#e#Der Textverarbeitungskurs wird ab August erhältlich sein. #end# Das Programm ist auf den neuesten Erkenntnissen der Lehrforschung aufgebaut. Der Kurs umfaßt Lehrbuch, Arbeitsbuch und sechs Kassetten. Manchmal ist es notwendig (ebenso wie bei der Seitennummer), den internen Zähler neu zu setzen. ____________________________________________________________________________ \#setcount (13)\#\#count\# ____________________________________________________________________________ #goalpage("setcount")# produziert den Wert 13. #page# #ib(9)#5.3.9. #ib#Querverweise#ie# #ie(9)# #goalpage("topage")##goalpage("goalpage")# #free(1.0)# #on("i")# Mit den Anweisungen #ib#\#topage\##ie(1,"-Anweisung")# und #ib#\#goalpage\##ie(1,"-Anweisung")# sind Querverweise möglich, die von 'pageform'/'autopageform' in die Druckdatei eingefügt werden. #off("i")# #free(1.0)# Mit Hilfe von Querverweisen soll auf andere Stellen im Text verwiesen werden, was nur bei längeren Texten üblich ist. Um dem Leser die mühselige Suche nach der Textstelle zu ersparen, gibt man in der Regel die Seitennummer an. Normalerweise steht die Seitennummer vor der Fertigstellung des Textes noch nicht fest. Auch in diesem Fall kann 'pageform'/'autopageform' helfen. Die \#topage\#-Anweisung ver­ weist auf eine andere Seite im Text, an der sich eine Anweisung \#goalpage\# befinden muß. Statt der Anweisung \#topage\# wird die Seitennummer der Seite eingesetzt, auf der sich \#goalpage\# befindet. Damit jedes \#topage\# auch sein entsprechendes \#goal­ page\# findet, geben Sie bei beiden Anweisungen einen TEXT-Parameter an. ____________________________________________________________________________ ... siehe auch auf Seite \#topage("Funktionstasten")\# ... ____________________________________________________________________________ Auf einer anderen Seite befindet sich ____________________________________________________________________________ ... \#goalpage("Funktionstasten")\# ____________________________________________________________________________ Nach 'Seite' wird die entsprechende Seitennummer eingesetzt. Es ist möglich, mehrmals auf die gleiche (Ziel-)Seite zu verweisen. Sie müssen nur darauf achten, daß Sie immer das gleiche Merkmal (TEXT-Parameter) verwenden. Beachten Sie auch, daß die \#goalpage\#-Anweisungen sich in den Zeilen befinden müssen, die tatsächlich gedruckt werden. Setzen Sie sie nicht in die ersten Zeilen einer Seite oder eines Textes, die Anweisungen für das Layout enthalten. Die Zahl der Querverweise darf 300 nicht übersteigen. #page# #ib(9)#5.3.10. Kombination von Tabellen, Fußnoten und Kopf- bzw. Fußzeilen#ie(9)# #free(1.0)# #on("i")# In Fußnoten, \#head\#- oder \#bottom\#-Bereichen können Tabellen untergebracht werden. #off("i")# #free(1.0)# ____________________________________________________________________________ \#head\# \#lpos(0.0)\#\#cpos(5.0)\#\#rpos(11.0)\# \#table\# Korrekturen EUMEL-Benutzerhandbuch S.007 \#table end\# \#end\# ____________________________________________________________________________ Die obigen Eingaben schreiben an jeden Seitenanfang folgenden Text: #lpos(0.0)##cpos(5.0)##rpos(11.0)# #table# Korrekturen EUMEL-Benutzerhandbuch S.007 #table end##clear pos# Die Tabelle sollte also vollständig in den oben erwähnten Bereichen enthalten sein. #page# #ib(9)#5.3.11. #ib#Formatierung von Spalten#ie##ie(9)# #goalpage("columns")# #free(1.0)# #on("i")# Mit der \#columns\#-Anweisung ist es möglich, einen Text in #ib#Spalten#ie(1,"formatierung")# zu formatie­ ren ("Zeitungsdruck"). #off("i")# #free(1.0)# Durch die Angabe der \#columns\#-Anweisung wird 'pageform'/'autopageform' auf­ gefordert, den Text in Spalten zu formatieren. Die Spaltenbreite müssen Sie mit der #ib# \#limit\#-Anweisung#ie (1, " für Spalten")# einstellen. ____________________________________________________________________________ \#limit (18.0)\# ... \#columns (2, 2.0)\# \#limit (8.0)\# ... ____________________________________________________________________________ Anfangs schreiben Sie mit einer Zeilenbreite von 18 cm. Dann fordern Sie mit der \#columns\#-Anweisung zweispaltigen Druck an (zwischen den Spalten sollen 2 cm Abstand sein). Somit muß die \#limit\#-Anweisung (sie gilt für beide Spalten) auf 8 cm eingestellt werden. Die interaktive #ib#Spaltenformatierung#ie# wird von 'pageform' wie gewohnt vorgenommen. Auf dem Bildschirm erscheint nun das Spaltenende, wobei die Nummer der Spalte angezeigt wird. Fußnoten werden spaltenweise eingeordnet und müssen somit die gleiche Zeilenbreite haben wie die restlichen Spalten. 'pageform'/'autopageform' erzeugt in der Druckdatei die Spalten hintereinander. Das folgende Beispiel zeigt einen Ausschnitt aus der Druckdatei mit Kopf- und Fußzeilen bei einem zweispaltigen Druck: ____________________________________________________________________________ head-Zeilen xx xx xx bottom-Zeilen \#page\#\#------- Ende Seite 1 Spalte 1 ----\# xx xx xx \#page\#\#------- Ende Seite 1 Spalte 2 ----\# ____________________________________________________________________________ Die zweite Spalte erscheint also ohne Kopf- und Fußzeilen, die jedoch bei der Berechnung berücksichtigt werden. Beachten Sie, daß die Kopf- und Fußzeilen über die Spalten gehen können. Dies erreichen Sie durch geeignete \#limit\#-Anweisungen in den genannten Bereichen. Die meisten Drucker plazieren die zweite Spalte im Druckbild neben die erste. Bei einigen wenigen Druckern müssen Sie die Spalten nebeneinander kleben. Alle Anweisungen funktionieren beim spaltenweisen Formatieren wie üblich. Die \#free\#-Anweisung z.B. hält entsprechenden Platz in einer Spalte frei. Eine Aus­ nahme bildet die #ib#\#page\#-Anweisung#ie (1, " für Spaltenende")#. Sie vollzieht hier ein #ib#Spaltenende#ie#. Die \#page\#-Anweisung mit einem Parameter (welcher die Seitennummer der nächsten Seite angibt) vollzieht dagegen ein Seitenende. Die #ib#\#columns end\#-Anweisung#ie# beendet die spaltenweise #ib#Formatierung#ie(1, " spaltenweise")#. Sie wirkt wie eine \#page\#-Anweisung. #ib#Überschriften#ie (1, " in Spalten")# (bzw. Textblöcke) über mehrere Spalten hinweg sind nur auf der ersten Seite direkt hinter der \#columns\#-Anweisung möglich. ____________________________________________________________________________ \#page\# \#limit (10.0)\# Überschriften (bzw. Textblöcke) über mehrere Spalten hinweg sind nur auf der ersten Seite direkt hinter der \#columns\#- Anweisung möglich. \#columns (2,2.0)\# \#limit (4.0)\# Die erste Spalte soll nur wenige Zeilen beinhalten. Das vor­ zeitige Beendigen der Spalte erreicht man mit der \#page\#- Anweisung. \#page\# In der zweiten Spalte kann dann mit dem Schreiben des Textes fortgefahren werden. ..................... ..................... ..................... ..................... ..................... \#columns end\# ____________________________________________________________________________ #page# Druckbild (mit 'lineform' bearbeitet): Überschriften (bzw. Textblöcke) über mehrere Spalten hinweg sind nur auf der ersten Seite direkt hinter der \#columns\#-Anweisung möglich. #columns (2,2.0)# Die erste Spalte soll nur wenige Zeilen beinhalten. Das vorzeitige Beendigen der Spalte erreicht man mit der \#page\#-Anweisung. #page# In der zweiten Spalte kann dann mit dem Schreiben des Textes fortgefahren werden. ..................... ..................... ..................... #columns end# Die Zeilen für die zweispaltige Überschrift werden berücksichtigt. Dies gilt jedoch nur unmittelbar hinter der \#columns\#-Anweisung. Möchten Sie diesen Effekt nochmals erzeugen, beenden Sie mit \#columns end\#, schreiben die breite Überschrift und schalten die \#columns\#-Anweisung wieder ein (jeweils unter richtiger Setzung von \#limit\#). #page# #ib(9)#5.4. #ib#Index#ie##ie(9)# #free(1.0)# #ib(9)#5.4.1. Stichwort- und/oder#ib# Inhaltsverzeichnis#ie#se erstellen#ie(9)# #free(1.0)# #on("i")# Mit dem Programm '#ib#index#ie(1, "-Kommando")#' können Sie Stichwort- und Inhaltsverzeichnisse er­ stellen. #ib#Stichwortverzeichnis#ie#se können sortiert werden. Mehrere Stichwortverzeich­ nisse können Sie durch 'index merge' zusammenführen. #off("i")# #free(1.0)# Durch den Aufruf von: ____________________________________________________________________________ gib kommando: index ("dateiname.p") ____________________________________________________________________________ werden durch #ib#Indexanweisungen#ie# gekennzeichnete Worte in Dateien, den sogenannten Indexdateien, gespeichert. Die Worte, die in einen Index übernommen werden sollen, müssen Sie in der Druck­ datei für 'index' durch Anweisungen kennzeichnen. Solche #ib(1,"ff")#Indexanweisungen#ie# werden von den anderen Textbe- und -verarbeitungs-Programmen ('lineform', 'pageform', EUMEL-Drucker) ignoriert. Sie können also bei dem Schreiben mit dem Editor gleich festlegen, welche Worte in einen Index aufgenommen werden sollen. Solche Verzeichnisse von Worten werden im EUMEL-System allgemein als #ib#Index#ie# bezeichnet. 'index' kann ebenfalls benutzt werden, um ein #ib#Inhaltsverzeichnis#ie# und/oder ein Verzeichnis aller Abbildungen zu erstellen oder Literaturhinweise zu überprüfen. Nachdem eine oder mehrere Indexdateien aus einer Druckdatei erstellt sind, werden die Indexdateien auf Anfrage alphabetisch sortiert. Bei einem Inhaltsverzeichnis sollten Sie die Sortierung natürlich ablehnen. Nach der Sortierung werden gleiche Einträge automatisch zusammengefaßt und die entsprechenden Seitennummern nacheinander aufgeführt. #on("b")##on("i")#Praktischer Tip:#off("b")##off("i")# Möchten Sie nur eine Sortierung, aber keine Zusammenfassung von Einträgen, dann lehnen Sie die Sortieranfrage ab. Anschließend können Sie die Indexdatei mit '#ib#lex sort#ie# ("indexdateiname")' sortieren. Hierbei bleiben gleiche Einträge erhalten. Das Programm ____________________________________________________________________________ gib kommando: index merge ("dateiname.i1", "dateiname.i2") ____________________________________________________________________________ erlaubt es Ihnen, zwei durch 'index' erzeugte Verzeichnisse zusammenzuführen und - nach Anfrage - wieder zu sortieren. #page# #ib(9)#5.4.1.1. #ib#Worte für 'index' kennzeichnen#ie##ie(9)# #goalpage ("ib")##goalpage("ie")# #free(1.0)# #on("i")# Worte, die in einen Index übernommen werden sollen, kennzeichnen Sie mit \#ib\# und \#ie\#. #off("i")# #free(1.0)# Da in einem Index - neben dem eigentlichen Worteintrag - die #ib#Seitennummer#ie# enthalten sein soll, arbeitet das Programm 'index' nur mit einer #ib#Druckdatei#ie#, d.h. einer Ausgabedatei von 'pageform'/'autopageform'. Die Indexworte werden in #ib#Indexdateien#ie# gesammelt. Die Indexdateien erhalten den Namen der bearbeiteten Datei, an den ".i" und die Nummer des Index angefügt wird. ____________________________________________________________________________ ... Hier wird eine Eigenschaft des \#ib(1)\#EUMEL- Systems\#ie(1)\# beschrieben. ... ____________________________________________________________________________ Die durch die Anweisungen #ib#\#ib\##ie(1,"-Anweisung")# und #ib#\#ie\##ie(1,"-Anweisung")# gekennzeichneten Worte werden mit der dazugehörigen Seitennummer in die erste Indexdatei geschrieben. Die Einträge in einer Indexdatei werden von den Seitennummern durch mindestens drei Punkte getrennt. Werden diese nicht gewünscht, können Sie sie leicht mit dem Editor entfernen. Sie haben die Möglichkeit, bis zu neun unterschiedliche Indexdateien zu erstellen, z.B. gehen durch ____________________________________________________________________________ \#ib (1)\# und \#ie (1)\# ____________________________________________________________________________ gekennzeichnete Worte in die Indexdatei mit der Nummer 1, durch ____________________________________________________________________________ \#ib (9)\# und \#ie (9)\# ____________________________________________________________________________ gekennzeichnete Worte gehen in die Indexdatei mit der Nummer 9. Wenn Sie nur einen Index erstellen müssen, dürfen die \#ib\#- und \#ie\#-Anweisungen ohne Para­ meter benutzt werden, was gleichbedeutend ist mit \#ib (1)\# und \#ie (1)\#. Die durch \#ib\#- und \#ie\#-Anweisungen gekennzeichneten Worte können auch über Zeilengrenzen (mit Silbentrennungen) gehen. ____________________________________________________________________________ .... \#ib\#viele Index­ Anweisungen\#ie\# ... ____________________________________________________________________________ 'index' zieht getrennte Worte zusammen (hier: 'viele Index-Anweisungen'). Möchten Sie einige Worte in verschiedenen Indexdateien haben, dürfen Sie die \#ib\#- und \#ie\#-Anweisungen auch "schachteln". Dies können Sie besonders bei Kapitelüber­ schriften nutzen. ____________________________________________________________________________ \#ib(9)\#Eine Anweisung: die '\#ib\#limit\#ie\#'-Anweisung\#ie(9)\# ____________________________________________________________________________ In diesem Beispiel wird das Inhaltsverzeichnis in die Indexdatei '9' gebracht, während der "allgemeine" Index in der Indexdatei '1' gesammelt wird. #page# #ib(9)#5.4.1.2. #ib#Nebeneinträge erzeugen#ie##ie(9)# #free(1.0)# #on("i")# Sie haben die Möglichkeit, an die Seitennummer eines Eintrags einen beliebigen Text anfügen zu lassen. #off("i")# #free(1.0)# Beispiel: EUMEL-System ... 27ff. Monitor ........ 13(Def.) Dies wird durch eine weitere Form der \#ib\#-Anweisung ermöglicht: ____________________________________________________________________________ ... der \#ib(1,"(Kap.4)")\#EUMEL-Editor\#ie\# ist gut geeignet, Texte zu erstellen ... ____________________________________________________________________________ erzeugt den folgenden Eintrag: Druckbild: EUMEL-Editor ... 1(Kap.4) An einen Eintrag können Sie einen weiteren Text angefügen, um etwa Untereinträge zu bilden: Druckbild: EUMEL-System .................................. 27 EUMEL-System, komplexes ....................... 29 Das wird ebenfalls durch eine andere Form der \#ib\#-Anweisung ermöglicht: ____________________________________________________________________________ ... ist das \#ib\#EUMEL-System\#ie(1,", benutzerfreundliches")\# wirklich ein benutzerfreundliches System ... ____________________________________________________________________________ erzeugt den folgenden Eintrag: Druckbild: EUMEL-System, benutzerfreundliches ............ 28 Nach der Erstellung einer Indexdatei können - nach interaktiver Anfrage - die Einträge sortiert werden. Die Sortierung erfolgt alphabetisch nach DIN 5007, Abschnitt 1 und 3.2 (Umlaute werden "richtig" eingeordnet). Wie bereits erwähnt, können Sie 'index' vielseitig einsetzen: a) Erstellung von Stichwortverzeichnissen: Wie bereits beschrieben. b) Erstellung von Inhaltsverzeichnissen: Kapitelüberschriften mit eigenen Indexanweisungen klammern und durch 'index' wie beschrieben verarbeiten. ____________________________________________________________________________ \#ib(9)\#6.1. Eine Datei drucken\#ie(9)\# _________________________________________________________________________ Dann sind Sie sicher, daß das Inhaltsverzeichnis bezüglich Seitennummern und Kapitelüberschriften korrekt ist. c) Erstellung von #ib#Abbildungsverzeichnisse#ie#n: Abbildungsüberschriften- bzw. -unterschriften wie Kapitelüberschriften verarbei­ ten. d) Überprüfung von Literaturhinweisen auf Vollständigkeit: Sie klammern alle Literaturhinweise mit gesonderten Indexanweisungen. ____________________________________________________________________________ \#ib(8)\#/Meier82/\#ie(8)\#) _________________________________________________________________________ und überprüfen dann mit Hilfe dieser Indexdatei die Literaturverweise. So können Sie sichergehen, daß alle Literaturverweise im Text auch in der Literaturaufstellung stehen. #page# #ib(9)#5.4.1.3. #ib#Indexdateien zusammenführen#ie##ie(9)# #free(1.0)# #on("i")# Durch das Programm '#ib#index merge#ie(1,"-Kommando")#' können Sie eine Indexdatei in eine zweite "einmischen". #off("i")# #free(1.0)# Es ist somit möglich, einen Index zu erstellen, der sich über mehrere Dateien er­ streckt, indem Sie 'index' die Druckdateien dieser Dateien bearbeiten und an­ schließend die entstandenen Indexdateien mit 'index merge' zusammenfassen lassen. Indexdateien können ggf. mit dem Editor bzw. 'lineform' und/oder 'pageform'/­ 'autopageform' bearbeitet und anschließend gedruckt werden. ____________________________________________________________________________ gib kommando: index merge ("1.kapitel.i1", "2.kapitel.i1") ____________________________________________________________________________ Hier wird die Indexdatei des 1. Kapitels in die Indexdatei des 2. Kapitels eingeordnet und auf Wunsch sortiert. #page# #ib(9)#5.5. #ib#Outline#ie##ie(9)# #goalpage("outline")# #free(1.0)# #ib(9)#5.5.1. Eine#ib# Strukturübersicht#ie# oder #ib#Zusammenfassung#ie# erstellen#ie(9)# #free(1.0)# #on("i")# Das Programm 'outline' erstellt aus einem Text eine Zusammenfassung aller (Kapitel-) Überschriften und Stichworte, sofern diese mit #ib#Index-Anweisungen#ie# gekennzeichnet sind. #off("i")# #free(1.0)# Manchmal sollen Stichworte oder das Inhaltsverzeichnis aus einem Text herausgeholt werden, ohne vorher 'pageform' durchlaufen zu müssen. Das ist dann nützlich, wenn Sie - Stichworte auf Korrektheit und Vollständigkeit überprüfen möchten; - die Reihenfolge von Kapiteln überprüfen müssen; - eine Übersicht durch Kapitel-Überschriften und Stichworte anfertigen möchten; - einen Text auf logische Zusammenstellung überprüfen. In solchen Fällen hilft das Programm 'outline', das mit dem Monitor-Kommando ____________________________________________________________________________ gib kommando: outline ("dateiname") ____________________________________________________________________________ aufgerufen wird. 'outline' arbeitet ähnlich wie 'index', indem es alle mit \#ib\# und \#ie\# markierten Textteile in eine Datei mit dem Zusatz 'outline' schreibt. Im Unterschied zu 'index' muß die Eingabe-Datei keine Druckdatei ('.p'-Zusatz) sein. Das Programm 'outline' fragt zuerst, mit welcher Indexnummer das Inhaltsverzeichnis versehen ist. Das ist notwendig, weil die Kapitelüberschriften gegenüber Stichwörtern in der 'outline'-Datei hervorgehoben werden (Einrückungen). Eingabe-Datei ("dateiname"): ____________________________________________________________________________ ... \#ib(9)\#1. Kapitel\#ie(9)\# ... ...\#ib\#Stichwort 1\#ie\# \#ib\#Stichwort 2\#ie\#... \#ib(9)\#1.1. Kapitel\#ie(9)\# ... \#ib\#Stichwort 3\#ie\# usw... ____________________________________________________________________________ Druckbild der erzeugten Datei ("dateiname.outline"): 1. Kapitel Stichwort 1 Stichwort 2 1.1. Kapitel Stichwort 3 In diesem Beispiel werden alle Indizes mit Ausnahme der Kapitelüberschrift jeweils in einer Zeile aufgeführt und gegenüber der Kapitelüberschrift eingerückt. Ein neues Kapitel, sofern es dezimal gekennzeichnet ist, wird gegenüber einem Kapitel mit höherer Ordnung eingerückt. #page# #ib(9)#5.6. #ib#Print#ie##ie(9)##goalpage("print")# #free(1.0)# #on("i")# Der #ib#EUMEL-Drucker#ie#, der mit dem #ib#'print'#ie(1,"-Kommando")#-Kommando angesprochen wird, ist eine Software-Schnittstelle zu einem angeschlossenen Drucker. In diesem Kapitel wird erklärt, wie Sie mit dem EUMEL-Drucker eine Datei drucken können und welche speziellen Anweisungen den Drucker steuern. #off("i")# #free(1.0)# Jeder Drucker erbringt "hardwaremäßig" unterschiedliche Leistungen (z.B. Typen und Modifikationen). Diese Leistungen werden durch Eingabe spezieller Zeichenfolgen veranlaßt, die herstellerspezifisch sind. Um vom EUMEL-System unterschiedliche Drucker auf gleiche Weise ansprechen zu können, wurde eine Software-Schnittstelle geschaffen, die #ib#EUMEL-Drucker#ie# ge­ nannt wird. Der EUMEL-Drucker akzeptiert eine Datei und veranlaßt, daß diese in geeigneter Weise gedruckt wird. Weiterhin beachtet der EUMEL-Drucker die An­ weisungen der Textkosmetik. Die Form der Anweisungen der Textkosmetik und des EUMEL-Druckers sind identisch. #page# #ib(9)#5.6.1. #ib#Eine Datei drucken#ie##ie(9)# #free(1.0)# #on("i")# Mit dem Kommando '#ib#print#ie#' können Sie dem EUMEL-Drucker eine Datei zum Drucken übergeben. #off("i")# #free(1.0)# ____________________________________________________________________________ gib kommando: print ("dateiname") ____________________________________________________________________________ In der Regel ist im EUMEL-System (Multi-User) ein "Spooler" installiert, so daß Sie sofort mit der Arbeit fortfahren können. Der EUMEL-Drucker arbeitet in diesem Fall parallel zu Ihren anderen Arbeiten. #page# #ib(9)#5.6.2. #ib#Anweisungen für den EUMEL-Drucker#ie##ie(9)# #free(1.0)# Ein Text (eine Datei) kann vom Drucker auch ohne Anweisungen gedruckt werden, etwa für Probedrucke. Für diesen Fall hat der Drucker vernünftige Voreinstellungen. Für einen "normalen" Text brauchen Sie keine speziellen Druckeranweisungen in den zu druckenden Text einzufügen, denn die Anweisungen für die Textkosmetik reichen zur Druckersteuerung aus. Nur wenn besondere Leistungen verlangt werden, wie z.B. Blocksatz oder den gedruckten Text an eine bestimmte Stelle zu plazieren, sind Druckeranweisungen notwendig. Werden vom Drucker Leistungen verlangt, die hardwaremäßig nicht vorhanden sind, so sorgt der EUMEL-Drucker dafür, daß eine möglichst äquivalente Leistung erbracht wird. Fordern Sie beispielsweise einen nicht vorhandenen Schrifttyp an, wird mit dem Standard-Schrifttyp der jeweiligen Installation gedruckt. Damit ist es Ihnen möglich, einen Text, der eigentlich für einen anderen Drucker bestimmt ist, auf einem Drucker zu drucken, der die geforderte Type nicht kennt. Wie bereits erwähnt, beachtet der EUMEL-Drucker die gleichen Anweisungen wie die Textkosmetik-Programme, aber einige Anweisungen sind nur für den Drucker implementiert. Eine #ib#\#type\#-Anweisung#ie# beispielsweise, die einen bestimmten Schrift­ typ anfordert, wird vom EUMEL-Drucker als Befehlsfolge an den angeschlossenen Hardware-Drucker übergeben, sofern der Schrifttyp auf dem Drucker vorhanden ist. Wie die Anweisungen geschrieben werden müssen, wurde in der Beschreibung der Textkosmetik geschildert. Anweisungen werden nicht gedruckt. Besteht eine Zeile nur aus Anweisungen, so wird diese Zeile vom EUMEL-Drucker nicht gedruckt. Im Gegensatz zu den Programmen der Textkosmetik werden unbekannte oder #ib#fehlerhafte Anweisungen#ie# vom EUMEL­ Drucker ohne Fehlermeldung "verschluckt". Neben den "normalen" Anweisungen, die nur in "\#"-Zeichen eingeschlossen wer­ den, gibt es noch eine andere Form: Kommentar-#ib#Anweisungen#ie(1,", Kommentar-")#: Werden in "\#-" und "-\#"-Zeichen eingeschlossen. Solche Anweisungen wer­ den ignoriert. ____________________________________________________________________________ .......................... Text...................... .......................... Kommentar-Anweisungen werden beim Drucken ignoriert. \#---- Ende der Seite 1 ---\# ____________________________________________________________________________ Die letze Zeile erscheint im gedruckten Text nicht. #page# #goalpage("block")# #ib(9)#5.6.3. #ib#Blocksatz#ie# #ie(9)# #free(1.0)# #ib(9)#5.6.3.1. #ib#Randausgleich#ie##ie(9)# #free(1.0)# #on("i")# Die Anweisung #ib#\#block\##ie(1,"-Anweisung")# bewirkt einen Blocksatz beim Druck. #off("i")# #free(1.0)# Fügen Sie in den Text (meist am Anfang einer Datei) die Anweisung ____________________________________________________________________________ \#block\# ____________________________________________________________________________ ein, druckt der Drucker ab dieser Stelle alle Zeilen, die nicht mit einem Absatzkenn­ zeichen versehen sind, im #ib#Blocksatz#ie#. Das heißt, daß durch Vergrößern der Wort­ abstände alle Zeilen an der gleichen Position enden (rechter #ib#Randausgleich#ie#). Preis­ werte Drucker können dies nur durch Einfügen ganzer Leerzeichen zwischen den Worten vornehmen, was sich oft beim Lesen störend bemerkbar macht. Bei qualitativ hochwertigen Druckern wird dagegen der Blocksatz durch Einfügen kleinerer Abstän­ de zwischen den Worten erreicht. Der Text einer Zeile wird durch Vergrößern der #ib#Wortlücken#ie(1, ", Vergrößern der")# auf die Zeilenlänge, die durch die \#limit\#-Anweisung eingestellt ist, verbreitert. a) Es werden nicht verbreitert: - Absatzzeilen; - der Text bis zum letzten #ib#Mehrfachblank#ie#; - führende Leerzeichen (#ib#Einrückung#ie#); - ein Leerzeichen hinter einer Aufzählung (siehe dazu b); - geschützte Blanks. b) #ib#Aufzählungen#ie# gibt es nur nach einer Absatzzeile: - "Spiegelstrich" (Bindestrich und Leerzeichen am Anfang der Zeile); - Doppelpunkt als Ende des ersten Wortes (Position < 20); - schliessende Klammer oder Punkt als Ende des ersten Wortes (Position < 7), z.B. 1) oder 1. #page# #goalpage ("pageblock")# #ib(9)#5.6.3.2. #ib#Seitenausgleich#ie##ie(9)# #free(1.0)# #on("i")# Mit der #ib#\#pageblock\#-Anweisung#ie# wird der Drucker veranlaßt, einen Seiten­ ausgleich (ähnlich wie bei der \#block\#-Anweisung für den rechten Rand­ ausgleich) vorzunehmen. #off("i")# #free(1.0)# Durch die automatische oder interaktive Seitenformatierung oder durch einen Fuß­ notenumbruch von 'pageform'/'autoform' bleiben oft am Ende einer Seite Zeilen leer. Dies können Sie durch die \#pageblock\#-Anweisung verhindern. Sie veranlaßt den Drucker, Zwischenräume (Fachbegriff: Durchschuß) zwischen den Zeilen einzufügen, so daß alle letzten Zeilen auf allen Seiten auf gleicher Höhe abschließen. Ebenso wie beim Randausgleich hängt die Güte des Druckergebnisses jedoch von den Fähig­ keiten des angeschlossenen Druckers ab. Beachten Sie jedoch, daß manche Verlage so bearbeitete Seiten nicht wünschen, weil bei Verwendung von zu dünnem Papier beim Druck Zeilen "durchscheinen" können, so daß das Lesen erschwert wird. Ist die Anweisung \#pageblock\# gegeben, können Sie in 'pageform' die Seitengrenze auch über das rechnerische Seitenende hinaus plazieren. In diesem Fall werden die Zeilen vom Drucker gestaucht. #mark ("", "")# ____________________________________________________________________________ PAGEFORM für x Zeilen: dateiname ---> dateiname.p ____________________________________________________________________________ ____________________________________________________________________________ Seitenende verschieben: UP, DOWN / bestaetigen: RETURN / Abbruch: ESC ____________________________________________________________________________ #page# #ib(9)#5.6.4. #ib#Schreibfeld verschieben#ie##ie(9)# #goalpage("start")# #free(1.0)# #on("i")# Durch die Anweisung #ib#\#start\# #ie(1,"-Anweisung")#ist es Ihnen möglich, das #ib#Schreibfeld#ie# beim Druck auf dem Papier an eine andere Stelle zu plazieren. #off("i")# #free(1.0)# Der EUMEL-Drucker plaziert das Schreibfeld auf einem Drucker automatisch derart, daß ein genügender Rand verbleibt. Die Wirkung dieser Voreinstellung ist natürlich abhängig vom Drucker und der Installation. Mit der \#start\#-Anweisung können Sie die automatische Einstellung verändern. ____________________________________________________________________________ \#start (1.0, 2.0)\# ____________________________________________________________________________ legt die linke, obere Ecke des Schreibfeldes fest (vom linken Rand 1 cm, vom oberen Rand 2 cm). Die standardmäßige Voreinstellung ist \#start (2.54, 2.35)\#. Die \#start (...)\#-Anweisung können Sie nur einmal pro Seite geben. #page#