[Tustep-Liste] Zeilennummerierung
Paul Sappler
paul.sappler at uni-tuebingen.de
Fr Sep 19 11:45:01 CEST 2008
Lieber Herr Trauth, lieber Herr Kollatz,
Herrn Kollatz Lösung Ihrer Preisaufgabe ist preiswürdig.
Wenn das Programm lang aussieht, dann täuscht das, denn
der Rahmen ist ja der mit *koma erzeugte.
Meiner Erinnerung nach arbeitet aber das Satzprogramm so,
daß die Zeilenzählung schon für die Zeile ausgeschaltet
wird, in der &!r. oder &!r- steht, daß also, wenn &!r. in
der Vorgangerzeile von @{ steht, manchmal eine Zeile keine
Zählung bekäme, die sie gut vertrüge. Demnach könnte der
zentrale Teil des Programms so aussehen (nicht probiert):
...
ACCESS ...
compile
SET marker="aus"
LOOP/999999
READ/NEXT/EXIT q
if (marker .eq. "aus") then
IF (zeile.ct.":@{:") THEN
SET zeile= CONCAT (zeile,"&!r."), marker ="ein"
WRITE/UPDATE q
ENDIF
else
IF (zeile.nc.":@{:") then
SET zeile = CONCAT (zeile,"&!r+"), marker="aus"
WRITE/UPDATE q
endif
endif
ENDLOOP
endcompile
ENDACCESS q
Im Textbeispiel sollten @...@{ nicht fast nur in den Zeilen 4 9
14 19 usw. vorkommen, sondern bunt gemischt sein, sonst sieht man
der Effekt nicht.
Ich betone, daß die Verkürzung nur einer anderen Interpretation
des Satz-Programms geschuldet ist und ich mich nicht an der
Ausschreibung beteilige, zumal ich zu meinem Leidwesen nicht in
Heidelberg dabei sein kann (außerdem schon einmal einen Preis
von Herrn Trauth bekommen habe, wird nicht vergessen).
Herzlich, Paul Sappler
Mehr Informationen über die Mailingliste Tustep-Liste