[Tustep-Liste] Seitenzahlen im Register bearbeiten | KOPIERE

Dr. Thomas Neumann tho.neumann at gmx.de
Mi Feb 22 13:11:26 CET 2017


Liebe Kollegen,

hier nun das Ergebnis der Registerbearbeitung und damit einhergehend mein Dank für
die Unterstützung an Herrn Trauth und vor allem auch an Herrn Ott, für die elegante 
Ergänzung.

Vielleicht fühlen sich ja einige Kollegen angesprochen ein Beispiel mit TUSCRIPT 
zu ergänzen... KOPIERE ist doch schon sehr mächtig ... 

Ausgangsdatei bzw. Daten im Register:

Register
Fouqué, Caroline de la Motte _ 23 34 35 45 46 47 50 51 52 53 54 63

daraus soll werden:

Register
Fouqué, Caroline de la Motte _ 23 34f. 45ff. 50-54 63

Ergänzen kann man noch das Einfügen von Kommata, was aber in den unteren beiden
KOPIERE-Programmen nicht ergänzt wurde:

Dann soll es so aussehen: 

Register
Fouqué, Caroline de la Motte _ 23, 34f., 45ff., 50-54, 63

Dieses KOPIERE läuft noch auf dem TUSTEP 2010, ohne den Parameter PAR:

#KOPIERE,q,z,lo=+,*
>z1 : !
els 1000
* Zuerst prüfen, ob überhaupt ein Registereintrag
* (erkennbar am ' _ ' vor den Referenzen) vorliegt:
* Nur diese werden verarbeitet, alle anderen Sätze
* werden gleich in die Zieldatei ausgegeben:
zf+ 1 | _ <>>/ <>>/|
zf+ 2 |>[z1]<>>/ <>>/|
al 2 = zf+ 2
liv 2 i1 i2
rr 2 if (i1.ne.(i2-1)) goto 32;
xxb 2 |>[z1]<>>/ <>>/|>=(1-2):>=04|
erz 2 1
xxb 3 |>[z1]<>>/ <>>/|>=(1-2)!>=04|
erz 3 1
xx 4 |>/<|:<>>/>|:|f|
xx 4 |>/<|:>|<>>/|f|
xx 4 |>/<|!| |
xxb 4 |<>>/<|<>2f<>>/|>=02.|
xxb 4 |>/<|>(3-0)f<>>/|-<=01|
_1__2__3_
spn 3 42 8
spj 21 22 8
sp2 8 21 21
*eof

Und die etwas "modernere" Variante, die mit dem Parameter PAR und einigen 
Änderungen auf den späteren TUSTEP Versionen läuft:

#ko,q,z,,+,*
par {}
els 1000
* Zuerst prüfen, ob überhaupt ein Registereintrag
* (erkennbar am ' _ ' vor den Referenzen) vorliegt:
* Nur diese werden verarbeitet, alle anderen Sätze
* werden gleich in die Zieldatei ausgegeben:
zf+ 1 | _ {#} {#}|
zf+ 2 |[: !]{#} {#}|
al 2 = zf+ 2
liv 2 i1 i2
rr 2 if (i1.ne.(i2-1)) goto 32;
xxb 2 |[: !]{#} {#}|{+1-2=}:{+4=}|
erz 2 1
xxb 3 |[: !]{#} {#}|{+1-2=}!{+4=}|
erz 3 1
xx 4 |{#}{[}:{#}{]}:|f|
xx 4 |{#}{[}:{]}{#}|f|
xx 4 |{#}{[}!| |
xxb 4 |{#}{[}{1-2}f{#}|{+2=}.|
xxb 4 |{#}{[}{3-0}f{#}|-{-1=}|
_1__2__3_
spn 3 42 8
spj 21 22 8
sp2 8 21 21
*eof

Lg in die Runde und vielleicht kann es ja der eine oder andere auch gebrauchen.
Thomas Neumann

-------------------------------------
  Dr. Thomas Neumann
    Greutweg 43
    73733 Esslingen
-------------------------------------
    mail tho.neumann at gmx.de
    fax +4932121431182
-------------------------------------
    www.caroline-fouque.de
    www.hoererlebnis.de
-------------------------------------



Mehr Informationen über die Mailingliste Tustep-Liste