Erschienen in 64'er Magazin, Ausgabe unbekannt · Originaldatei: MEHRSPA.TXT
Hinweis: Dies ist das an die Redaktion eingereichte Manuskript, nicht der gedruckte Endtext. Layout, Bildunterschriften, Korrekturen und Kürzungen der Redaktion können in der veröffentlichten Fassung abweichen.
Anleitung: MEHRSPALTER 1.3
Für den C 64 gibt es eine Reihe von sehr guten Textverarbeitungsprogrammen. Doch etwas, das für professionelle Textsysteme auf PCs eine Selbstverständlichkeit ist, können nur die wenigsten dieser Programme: Mehrspaltigen Druck. Für den »Textomat Plus« von »Data Becker« gibt es jetzt Abhilfe.
Nikolaus M. Heusler
Mit dem hier vorgestellten Programm »Mehrspalter«, diese Anleitung bezieht sich auf die Version 1.3, kann man ein fertiges Textomat Plus-Dokument so umformatieren, daß es danach mehrspaltig vorliegt. Laden Sie das Programm wie ein normales Basicprogramm und starten mit RUN. Auf dem Schirm erscheint nun ein Titelbild. Wenn Sie es gelesen haben, drücken Sie eine beliebige Taste.
Sie sehen eine Eingabemaske mit fünf Feldern. Im obersten blinkt ein Cursor. Geben Sie ein, wie das Textfile, das umformatiert werden soll, heißt. Das »T« am Ende wird automatisch ergänzt. Drücken Sie danach auf RETURN. Nun geben Sie ebenso den Namen ein, den das erzeugte Textfile tragen soll. Auch hier ist das »T« nicht anzugeben. Es folgen einige Angaben zur Form. Bestimmen Sie zunächst, wieviele Spalten das Dokument haben soll. Sinnvoll sind hier numerische Eingaben von 2 bis 9. Anderes nimmt das Programm nicht an. Als nächstes wird eingegeben, wie breit (in Zeichen) eine Spalte sein soll. Eingaben zwischen 8 und 99 sind erlaubt. Die Spalten werden, falls sie zu kurz sind, mit Leerzeichen aufgefüllt, um eine einheitliche Breite zu erreichen (Blocksatz). Was noch fehlt, ist die Anzahl Zeamm, der Mehrspalter nutzt die Bildschirmbreite voll aus.
Dazu berechnet er nun den Abstand der Spalten untereinander und zeigt ihn an. Falls hier ein sinnloser Wert herauskommt (wenn die Spalten so breit gewählt wurden, daß sie sich überschneiden würden), erscheint eine entsprechende Fehlermeldung, und die letzten drei Werte müssen erneut eingegeben werden. Ansonsten erfolgt eine Sicherheitsabfrage, ob die bisher gemachten Angaben richtig sind.
Danach werden Sie aufgefordert, die Quelldiskette ins Laufwerk zu legen; tun Sie dies und drücken eine Taste. Die Textdatei wird in den Speicher geladen. Sie erkennen dies daran, daß in der untersten Zeile das Wort »WORKING« blinkt. Es wird bei jeder neuen Zeile an- und wieder ausgeschaltet. Falls ein Wort erkannt wird, das länger als die maximale Spaltenbreite ist, wird dieses ausgegeben, und ein Trennvorschlag soll gemacht werden. Dazu bewegen Sie den Pfeil zwischen die zwei Buchstaben, zwischen denen der Trennungsstrich erscheinen soll. Es ist auch hier nicht möglich, fehlerhafte Eingaben zu machen, der Pfeil läßt sich (mit den CRSR-Tasten) nur innerhalb sinnvoller Grenzen bewegen. Ist der Trennvorschlag gemacht, drücken Sie RETURN, und das Fenster verschwindet wieder.
Ist der eingelesene Text zu lang (der Textspeicher reicht von $2000 bis $9000), erscheint eine entsprechende Meldung, und der Einlesevorgang wird abgebrochen. Dieser Fall wird in der Praxis aber nicht eintreten, da der Textspeicher des Textomat Plus kleiner ist als der des Mehrspalters.
Wenn der Text komplett im Speicher steht, rechnet das Programm aus, wie viele Zeilen eine Spalte benötigt. Die letzte Spalte kann, wenn es nicht genau »aufgeht«, eine oder zwei Zeilen kürzer als die anderen ausfallen, das Programm berechnet solche Sonderfälle selbstständig. Ist alles in Ordnung, drücken Sie die J-Taste; um ins Hauptmenü zurückzukehren dient die N-Taste. Im ersten Falles wird nun die Zieldiskette eingelegt und eine Taste gedrückt. Der fertig formatierte Text wird dann als Datei geschrieben. Diese können Sie wie gewohnt unter dem Menuepunkt »Text einlesen« von Textomat Plus aus lesen. Auch während des Schreibens blinkt unten wieder das Wort »WORKING«. Das Speichern dauert etwa so lange wie das Einlesen.
Ist auch das geschehen, meldet sich das Programm mit der Frage, ob Sie noch einen Text behandeln wollen. Zuvor wird, falls im Dokument Steuerzeichen waren (reverses S), eine Warnung ausgegeben. Steuerzeichen werden vom Programm zwar unterdrückt, nicht aber der Kurzkommentar danach. Beispielsweise wird die Sequenz »Slr20« zum Setzen des linken Randes auf 20 gewandelt in »lr20«. Es ist insbesondere für Besitzer von Druckern wichtig, die mit diesem Zeichen in Texten zu unterstreichen oder fett zu drucken pflegen, vor der Konvertierung alle Steuerzeichen zu entfernen und nach der Wandlung wieder einzubauen, da sonst die Blocksatzroutine nicht richtig arbeitet. Passen Sie bitte auch auf, daß Sie, wenn Sie z.B. am Anfang der ersten Spalte das Unterstreichen einschalten, daß diese Funktion am Ende der Spalte wieder abgeschaltet wird, da sonst die gesamte Zeile unterstrichen wird. Ebenso sollten Sie (zentrierte) Überschriften erst nach der Konvertierung »von Hand« einfügen.
Sie werden gefragt, ob Sie noch einen Text bearbeiten wollen. Antworten Sie hier mit N, besteht noch die Möglichkeit, daß das Mehrspaltenprogramm den Textomat Plus gleich nachlädt (Befehl: LOAD":*",8,1 und RUN). Dazu ist die folgende Frage mit J zu beantworten, sonst wird ein Reset ausgelöst. Legen Sie für das Nachladen die Diskette mit Textomat Plus oder einem Lader als erstes Programm ein und drücken Sie eine Taste.
Soviel zur Bedienung des Programmes. Es ist nicht möglich, das Programm durch Fehlbedienung zum Absturz zu bringen, alle Floppy- oder Parameterfehler werden sicher abgefangen und angezeigt. Aus programmtechnischen Gründen werden, falls Sie im zu konvertierenden Dokument Trennvorschläge gemacht haben (reverser Strich), diese nicht berücksichtigt, sondern einfach gestrichen. Trennvorschläge sind, falls nötig, während des Einlesens manuell machbar.
Falls Sie sich im Besitz eines Commodore MPS 801 oder 803-Druckers befinden, können Sie (saubere) Texte mit maximal vier Spalten ausdrucken, da diese Drucker nur 80 Zeichen pro Zeile ausgeben können. Mehr Spalten würden nicht mehr schön aussehen. Bessere Drucker können (beispielsweise in Elite-Schrift oder komprimiert) mehr Spalten drucken.
Wenn Sie Texte mit extrem kurzen Wörtern haben, können Sie (mit 70 Zeichen pro Zeile!) natürlich auch noch mehr Spalten drucken, aber bei Texten mit Wörten zu 10 Buchstaben maximal (was dem Standard entspricht) sieht es nicht gut aus, wenn sehr oft nur ein Wort in eine Zeile (einer Spalte) paßt. Solche Wörter, die allein in einer Zeile stehen, werden von der Blocksatzroutine übrigens automatisch zentriert und nicht, wie es in Zeitschriften üblich ist, linksbündig gedruckt.
Wenn Sie selbst rechnen wollen, wenden Sie folgende Formel an:
a >= n*s + (n-1)*v + 1, wobei
a = Zeichen pro Zeile (Bildschirm)
n = Anzahl Spalten
s = Breite einer Spalte
v = Abstand der Spalten
+1, weil an jede Zeile noch ein Pfeil nach links (RETURN) angehängt wird. Lösen Sie diese Formel nach der gesuchten Größe auf. Bei gegebener Gesamtbreite, Spaltenzahl und Spaltenabstand errechnet man die Breite einer Spalte etwa nach dieser Formel (diesen Weg wird man in der Praxis gehen):
s = (a - 1 - (n-1)*v) / n
Der erhaltene Wert für s sollte auf eine ganze Zahl abgerundet werden, wobei wie gesagt Spalten breiter als ca. 15 Zeichen sein sollten. Geeignete Werte für die Praxis sind a=70 (Normalschrift, 10 cpi), a=84 (Elite, 12 cpi) bzw. a=105 (Schmalschrift, 15 cpi) und v=3. Diese Formel ergibt die folgenden praktischen Werte für s bei einem Spaltenabstand von v=3:
Spaltenzahl │ bei a=70 a=84 a=105
─────────────┼────────────────────────────────
n=2 │ 33 40 50
n=3 │ 21 25 32
n=4 │ 15 18 23
n=5 │ 11 14 18
n=6 │ 9 11 14
Abschließend noch einige Hinweise zur internen Funktionsweise. Zunächst führt das Programm (mit obiger Formel) einige Rechnungen durch, um den Abstand der Spalten zu erechnen, der größer als Null sein muß. Dann wird der Text buchstabenweise eingelesen. Immer wenn ein Wort zuende ist, wird geprüft, ob es noch in die Zeile paßt. Wenn ja, geht es mit dem nächsten Wort weiter (als Wortzwischenräume werden nur »normale«, also nicht geshiftete Spaces erkannt). Paßt ein Wort nicht mehr, wird zunächst blocksatzformatiert. Dazu wird ein Zeiger auf die Mitte der Spalte gesetzt, der nun das nächste Space sucht. Wird kein Space mehr gefunden, ist das Wort das einzige in der Zeile, und es wird zentriert. Nun wird die formatierte Zeile in den Textspeicher geschrieben. Daraufhin prüft das Programm, ob das kommende Wort zu lang für eine Spalte ist, dann wird es per Trennvorschlag getrennt und die erste Hälfte mit einem Trennstrich in den Puffer geschrieben und dort zentriert. Die zweite Hälfte wird wie ein zu langes Wort behandelt.
Am Absatzende wird auf weitere Wörter verzichtet und der Rest der Zeile linksbündig formatiert.
Sind alle Zeilen so eingelesen, folgen wieder diverse Berechnungen, die untersuchen, wieviele Zeilen eine Spalte hat und wieviel weniger Zeilen die letzte Spalte hat. Das Ergebnis wird ausgegeben.
Momentan steht der Text also wie auf eine schmale Rolle gedruckt fertig formatiert im Speicher. Nun tritt eine »Schere« ein, die im Speicher diese Rolle wie vorher berechnet in die Spalten einteilt. Die Adressen, an denen jeweils eine neue Spalte beginnt, werden gemerkt.
Wenn der Text jetzt wieder ausgegeben wird, wird in jeder Zeile von jeder Spalte ein Teil gelesen, diese werden nebeneinandergestellt, geshiftete Spaces werden dazwischengestellt, ein Absatzendezeichen ans Ende und das Ganze in die Datei geschrieben. So wird der ganze Text dann ausgegeben.
Das Programm ist so sicher verfaßt, daß eigentlich nichts schiefgehen kann, wenn keine Steuerzeichen in den Texten vorkommen. Diese sollten Sie vor der Konvertierung herausnehmen und danach wieder einsetzen. Dazu können Sie im Formular die Anzahl der Zeichen am Bildschirm etwas heraufsetzen.
Noch eine Bemerkung am Schluß: Das Mehrspaltenprogramm eignet sich vor allem zur Konvertierung von Fließtext, bei Tabellen oder manuellen Unterstreichungen mit Minuszeichen oder sonstigen Spielereien, bei denen es darauf ankommt, daß sich das »Gesicht« des Textes nicht verändern darf, werden Sie nach der Konvertierung ein heilloses Chaos vorfinden. Bei sachgemäßer Anwendung lassen sich mit dem Mehrspalter aber sehr professionelle und schöne Effekte erzeugen.