[Tustep-Liste] #VA: Akzente (ZSYN.M)
Peter Stahl
peter.stahl at uni-wuerzburg.de
Mo Dez 10 21:02:27 CET 2018
Makro ZSYN.M von Michael Trauth:
----------------------------------------------------------------
$$- (Last modified 2018-05-23 / MTr)
$$-
$$- Mit dem Makro ZSYN kann man zwei bis neun Texte in Form einer
$$- Zeilensynopse vergleichen lassen. Es kann außerdem Sonderzeichen
$$- fakultativ als Codierungen oder als Sonderzeichen ausgeben,
$$- ferner bestimmte Textunterschiede als definierte Textüberein-
$$- stimmungen behandeln, Aufsatzpunkte für die einzelnen Vergleiche
$$- von der Tastatur übernehmen und die Zeilensynopse in ein
$$- ASCII-File zur Weiterverarbeitung durch ein anderes Textverar-
$$- beitungsprogramm überführen.
$$-
$$- Das Makro hat folgende Spezifikationen:
$$-
$$!
$$ MODE TUSCRIPT, {}
----------------------------------------------------------------
-*** Vordefinition von (Text)Variablen, die in mehreren Windows
-*** benötigt werden:
SET f_kopf = " Achtung! "
SET ok = "OK"
SET prtyp = "PS-Q1"
-- KORR_GES ist die Variable, in die sämtliche Namen
-- sämtlicher Korrekturanweisungsdateien gesteckt werden:
SET korr_ges = ""
SET ascii = "", name = "", vglges = ""
SET asc = 0, aflag = 0, eflag = 0, afszp = 0
SET shift = "", shift1 = "", shift2 = ""
-- Variable KOLL enthält den Namen der Datei, die als
-- Kollationsgrundlage angesetzt ist:
SET koll = ""
-- Die Variablen VGL1 bis VGL9 enthalten die Namen der Dateien, die
-- mit der Kollationsgrundlage KOLL verglichen werden sollen:
SET vgl1 = "", vgl2 = "", vgl3 = "", vgl4 = ""
SET vgl5 = "", vgl6 = "", vgl7 = "", vgl8 = "", vgl9 = ""
-- Variablen für die VergleichsAufsatzpunkte:
SET asp_lst1 = *
SET asp_lst2 = *
SET asp_lst3 = *
SET asp_lst4 = *
SET asp_lst5 = *
SET asp_lst6 = *
SET asp_lst7 = *
SET asp_lst8 = *
-*** Button-Beschriftungen:
SET ende = " Ende "
SET help = " Hilfe "
SET zurueck = " Zurück "
SET sorry = " Abbruch "
SET losgehts = " Weiter "
SET erledigt = " Fertig "
SET start = " Start "
----------------------------------------------------------------
WINDOW anfang: [] 70 feld
SET feld = "weiter"
SET ttext = *
DATA *** ZSYN ***
DATA
DATA (c) Michael Trauth 1989-2018
SET utext = *
DATA Funktionen des Makros:
DATA +----------------[titel ]----------------+
DATA | [titel ] |
DATA | [titel ] |
DATA | |
DATA | |
DATA | Zeilensynoptischer Vergleich von Texten |
DATA | --------------------- |
DATA | |
DATA | |
DATA | [ueber ] |
DATA | |
DATA | - Vergleich von zwei bis neun Texten; |
DATA | - Zeilensynoptische Druckaufbereitung des Ergebnisses; |
DATA | - Unterdrückung definierter Textunterschiede; |
DATA | - Darstellung von Sonderzeichen auf verschiedenen Druckern; |
DATA | - Ausgabe des Vergleichprotokolls in ASCII-File. |
DATA | |
DATA | |
DATA | [abbruch ] [weiter ] |
DATA | |
DATA +--------------------------------------------------------------+
FIELD titel: OUTPUT 1e ttext
FIELD ueber: OUTPUT 8f utext
FIELD abbruch: BUTTON/CANCEL 4e sorry
EDIT
IF ((CANCEL) .OR. (ENTER)) STOP
FIELD weiter: BUTTON/ENTER 2a losgehts
EDIT
IF ((ENTER) .OR. (CR)) GOTO WINDOW auswahl
END WINDOW
----------------------------------------------------------------
WINDOW auswahl: [] 71 feld
DATA +-----------[kopf ]------------------+
DATA | |
DATA | Wählbare Dateien: Bereits ausgewählt: |
DATA | |
DATA | [liste1 ] [koll ] = KOLL |
DATA | [liste1 ] |
DATA | [liste1 ] [vgl1 ] = VGL1 |
DATA | [liste1 ] [vgl2 ] = VGL2 |
DATA | [liste1 ] [vgl3 ] = VGL3 |
DATA | [liste1 ] [vgl4 ] = VGL4 |
DATA | [liste1 ] [vgl5 ] = VGL5 |
DATA | [liste1 ] [vgl6 ] = VGL6 |
DATA | [liste1 ] [vgl7 ] = VGL7 |
DATA | [liste1 ] [vgl8 ] = VGL8 |
DATA | [liste1 ] [vgl9 ] = VGL9 |
DATA | [liste1 ] |
DATA | [liste1 ] |
DATA | [liste1 ] |
DATA | [liste1 ] |
DATA | [liste1 ] |
DATA | [liste1 ] |
DATA | |
DATA | [hilfe ] [zurueck ] [abbruch ] [weiter ] |
DATA | |
DATA +--------------------------------------------------------------+
FIELD kopf: OUTPUT 8F kopftxt1
FIELD liste1: SELECT/SINGLE/CLICK 1f liste1, nummer
LOOP
SET nummer = 0
EDIT
IF ({nummer}.EQ.0) EXIT
SET name = SELECT (liste1, {nummer})
-*** Prüfen, ob mit den ausgewählten Dateien alles in Ordnung ist:
-*** Wenn nein: Fehlermeldung ausgeben:
SET status = OPEN ("{name}", WRITE, -STD-)
SET status = CHECK ("{name}", UPDATE)
IF ("{status}" .NE. "OK") THEN
DO dateifehler
CYCLE
ENDIF
-*** Wenn mit der ausgewählten Datei alles in Ordnung ist, wird
-*** sie mit REMOVE aus 'liste1' herausgenommen und als eine der
-*** zu vergleichenden Dateien verbucht:
SET liste1 = REMOVE (liste1, {nummer})
IF ("{koll}" .EQ. "") THEN
SET koll = "{name}"
ELSEIF ("{vgl1}" .EQ. "") THEN
SET vgl1 = "{name}"
ELSEIF ("{vgl2}" .EQ. "") THEN
SET vgl2 = "{name}"
ELSEIF ("{vgl3}" .EQ. "") THEN
SET vgl3 = "{name}"
ELSEIF ("{vgl4}" .EQ. "") THEN
SET vgl4 = "{name}"
ELSEIF ("{vgl5}" .EQ. "") THEN
SET vgl5 = "{name}"
ELSEIF ("{vgl6}" .EQ. "") THEN
SET vgl6 = "{name}"
ELSEIF ("{vgl7}" .EQ. "") THEN
SET vgl7 = "{name}"
ELSEIF ("{vgl8}" .EQ. "") THEN
SET vgl8 = "{name}"
ELSEIF ("{vgl9}" .EQ. "") THEN
SET vgl9 = "{name}"
ELSE
BEEP
ENDIF
ENDLOOP
-*** In den Zielfeldern können die gewählten Dateien wieder
-*** abgewählt werden:
FIELD koll: SELECT/SINGLE/CLICK 4f koll, nummer
EDIT
IF (TAB) GOTO FIELD liste1
SET name = SELECT (koll, {nummer})
IF ("{name}" .NE. "") THEN
SET koll = "{vgl1}"
SET vgl1 = "{vgl2}"
SET vgl2 = "{vgl3}"
SET vgl3 = "{vgl4}"
SET vgl4 = "{vgl5}"
SET vgl5 = "{vgl6}"
SET vgl6 = "{vgl7}"
SET vgl7 = "{vgl8}"
SET vgl8 = "{vgl9}"
SET vgl9 = ""
SET liste1 = INSERT (liste1, 0, name)
ENDIF
GOTO FIELD liste1
FIELD vgl1: SELECT/SINGLE/CLICK 4f vgl1, nummer
EDIT
IF (TAB) GOTO FIELD liste1
SET name = SELECT (vgl1, {nummer})
IF ("{name}" .NE. "") THEN
SET vgl1 = "{vgl2}"
SET vgl2 = "{vgl3}"
SET vgl3 = "{vgl4}"
SET vgl4 = "{vgl5}"
SET vgl5 = "{vgl6}"
SET vgl6 = "{vgl7}"
SET vgl7 = "{vgl8}"
SET vgl8 = "{vgl9}"
SET vgl9 = ""
SET liste1 = INSERT (liste1, 0, name)
ENDIF
GOTO FIELD liste1
FIELD vgl2: SELECT/SINGLE/CLICK 4f vgl2, nummer
EDIT
IF (TAB) GOTO FIELD liste1
SET name = SELECT (vgl2, {nummer})
IF ("{name}" .NE. "") THEN
SET vgl2 = "{vgl3}"
SET vgl3 = "{vgl4}"
SET vgl4 = "{vgl5}"
SET vgl5 = "{vgl6}"
SET vgl6 = "{vgl7}"
SET vgl7 = "{vgl8}"
SET vgl8 = "{vgl9}"
SET vgl9 = ""
SET liste1 = INSERT (liste1, 0, name)
ENDIF
GOTO FIELD liste1
FIELD vgl3: SELECT/SINGLE/CLICK 4f vgl3, nummer
EDIT
IF (TAB) GOTO FIELD liste1
SET name = SELECT (vgl3, {nummer})
IF ("{name}" .NE. "") THEN
SET vgl3 = "{vgl4}"
SET vgl4 = "{vgl5}"
SET vgl5 = "{vgl6}"
SET vgl6 = "{vgl7}"
SET vgl7 = "{vgl8}"
SET vgl8 = "{vgl9}"
SET vgl9 = ""
SET liste1 = INSERT (liste1, 0, name)
ENDIF
GOTO FIELD liste1
FIELD vgl4: SELECT/SINGLE/CLICK 4f vgl4, nummer
EDIT
IF (TAB) GOTO FIELD liste1
SET name = SELECT (vgl4, {nummer})
IF ("{name}" .NE. "") THEN
SET vgl4 = "{vgl5}"
SET vgl5 = "{vgl6}"
SET vgl6 = "{vgl7}"
SET vgl7 = "{vgl8}"
SET vgl8 = "{vgl9}"
SET vgl9 = ""
SET liste1 = INSERT (liste1, 0, name)
ENDIF
GOTO FIELD liste1
FIELD vgl5: SELECT/SINGLE/CLICK 4f vgl5, nummer
EDIT
IF (TAB) GOTO FIELD liste1
SET name = SELECT (vgl5, {nummer})
IF ("{name}" .NE. "") THEN
SET vgl5 = "{vgl6}"
SET vgl6 = "{vgl7}"
SET vgl7 = "{vgl8}"
SET vgl8 = "{vgl9}"
SET vgl9 = ""
SET liste1 = INSERT (liste1, 0, name)
ENDIF
GOTO FIELD liste1
FIELD vgl6: SELECT/SINGLE/CLICK 4f vgl6, nummer
EDIT
IF (TAB) GOTO FIELD liste1
SET name = SELECT (vgl6, {nummer})
IF ("{name}" .NE. "") THEN
SET vgl6 = "{vgl7}"
SET vgl7 = "{vgl8}"
SET vgl8 = "{vgl9}"
SET vgl9 = ""
SET liste1 = INSERT (liste1, 0, name)
ENDIF
GOTO FIELD liste1
FIELD vgl7: SELECT/SINGLE/CLICK 4f vgl7, nummer
EDIT
IF (TAB) GOTO FIELD liste1
SET name = SELECT (vgl7, {nummer})
IF ("{name}" .NE. "") THEN
SET vgl7 = "{vgl8}"
SET vgl8 = "{vgl9}"
SET vgl9 = ""
SET liste1 = INSERT (liste1, 0, name)
ENDIF
GOTO FIELD liste1
FIELD vgl8: SELECT/SINGLE/CLICK 4f vgl8, nummer
EDIT
IF (TAB) GOTO FIELD liste1
SET name = SELECT (vgl8, {nummer})
IF ("{name}" .NE. "") THEN
SET vgl8 = "{vgl9}"
SET vgl9 = ""
SET liste1 = INSERT (liste1, 0, name)
ENDIF
GOTO FIELD liste1
FIELD vgl9: SELECT/SINGLE/CLICK 4f vgl9, nummer
EDIT
IF (TAB) GOTO FIELD liste1
SET name = SELECT (vgl9, {nummer})
IF ("{name}" .NE. "") THEN
SET vgl9 = ""
SET liste1 = INSERT (liste1, 0, name)
ENDIF
GOTO FIELD liste1
FIELD hilfe: BUTTON/HELP 2a help
EDIT
IF (HELP) THEN
SET h_tit = "HILFE: Datei-Auswahl"
SET h_txt = *
DATA Wählen Sie bitte im linken Fenster die Dateien aus,
DATA die Sie vergleichen möchten. Die erste Datei wird
DATA zur Kollationsgrundlage KOLL, alle weiteren zu den
DATA Vergleichsdateien VGL1, VGL2 usw. In der rechten
DATA Spalte können Sie die ausgewählten Dateien wieder
DATA abwählen (durch Mausklick oder RETURN).
SET nix = DISPLAY (0:0, 1F-71-79-80, h_tit, h_txt, ok)
ENDIF
GOTO FIELD liste1
FIELD zurueck: BUTTON 1e zurueck
EDIT
IF ((ENTER) .OR. (CR)) GOTO WINDOW anfang
FIELD abbruch: BUTTON/CANCEL 4e sorry
EDIT
IF ((CANCEL) .OR. (ENTER)) STOP
FIELD weiter: BUTTON 2a losgehts
EDIT
IF ("" .EQ. "{koll}", "{vgl1}") THEN
SET f_txt = *
DATA Es müssen mindestens zwei Dateien zum Vergleich
DATA ausgewählt werden. Bitte korrigieren oder abbrechen!
SET nix = DISPLAY (0:0, 1f-70-4e-2a, f_kopf, f_txt, ok)
GOTO FIELD liste1
ELSE
SET vglges = "{vgl1}"
LOOP shift = "{vgl2}'{vgl3}'{vgl4}'{vgl5}'{vgl6}'{vgl7}'{vgl8}"
IF ("{shift}" .EQ. "") EXIT
SET vglges = APPEND (vglges, "'", shift)
ENDLOOP
GOTO WINDOW optionen
ENDIF
END WINDOW
-----------------------------------------------------------------
SECTION dateifehler
SET f_txt = *
DATA Es gibt ein Problem mit der Datei {name}:
DATA keine TUSTEP-Datei? von einem anderen Prozeß
DATA belegt? nicht vorhanden? Bitte andere Auswahl!
SET nix = DISPLAY (0:0, 1f-70-4e-2a, f_kopf, f_txt, ok)
ENDSECTION
-----------------------------------------------------------------
-*** Beschriftung des Feldes 'kopf' und der Buttons:
SET kopftxt1 = "Auswahl der Vergleichsdateien"
-*** Schreibt die TUSTEP-konformen Namen der Dateien im aktu-
-*** ellen Projektverzeichnis in die (Stern)Variable 'liste1':
SET liste1 = FILE_NAMES (+, -STD-)
-----------------------------------------------------------------
-*** Vorbelegung von Variablen für das Window 'optionen':
SET elim = 0
SET sndrz = 1
SET synops = 1
SET prt = 1
-----------------------------------------------------------------
WINDOW optionen: [] 71 feld
DATA +----------[kopf ]-----------+
DATA | |
DATA | [s] [sonderz ] |
DATA | [s] [sonderz ] |
DATA | |
DATA | [e] [eliminieren ] |
DATA | [eliminieren ] |
DATA | |
DATA | [y] [synopsenart ] |
DATA | [y] [synopsenart ] |
DATA | |
DATA | [p] [protokoll ] |
DATA | [p] [protokoll ] |
DATA | ggf. Name der ASCII-Datei: [asciidat ] |
DATA | ggf. Erlaubnis zum Überschreiben dieser Datei [l] |
DATA | |
DATA | [a] [aufsatzp ] |
DATA | |
DATA | Eingestellter Druckertyp: [drtyp ] |
DATA | [d] [ch_drtyp ] |
DATA | |
DATA | [hilfe ] [zurueck ] [abbruch ] [weiter ] |
DATA | |
DATA +--------------------------------------------------------------+
IF ({sndrz} .EQ. 0) SET sndrz = 1
FIELD kopf: OUTPUT 8F kopftxt2
FIELD s: FLAGS/SINGLE/CLICK 80 sndrz
EDIT
IF ({sndrz} .EQ. 0) SET sndrz = 1
FIELD sonderz: OUTPUT/CLICK 70 sz_liste
FIELD e: FLAGS/SINGLE/CLICK 80 elim
EDIT
IF (({elim}.EQ.1) .AND. ({eflag}.NE.1)) DISPLAY eliminieren
IF ({elim}.EQ.0) SET eflag = 0
GOTO FIELD weiter
FIELD eliminieren: OUTPUT 70 elimtxt
IF ({synops} .EQ. 0) SET synops = 1
FIELD y: FLAGS/SINGLE/CLICK 80 synops
EDIT
IF ({synops} .EQ. 0) SET synops = 1
GOTO FIELD weiter
FIELD synopsenart: OUTPUT/CLICK 70 synlst
IF ({prt} .EQ. 0) SET prt = 1
FIELD p: FLAGS/SINGLE/CLICK 80 prt
EDIT
IF ({prt} .EQ. 0) THEN
SET prt = 1
GOTO FIELD weiter
ELSEIF ({prt} .EQ. 1) THEN
GOTO FIELD weiter
ELSE
GOTO FIELD asciidat
ENDIF
FIELD protokoll: OUTPUT/CLICK 70 prot_txt
FIELD l: FLAGS/SINGLE 4e loe
EDIT
FIELD asciidat: INPUT 1e ascii, asc
LOOP
EDIT
IF ("{ascii}" .EQ. "") EXIT
IF ("{ascii}" .NE. DATEINAME) THEN
SET f_txt = *
DATA Der von Ihnen angegebene Dateiname ent-
DATA spricht nicht den TUSTEP-Konventionen
DATA (max. 12 Zeichen, Buchstabe am Anfang,
DATA nur '_' als Sonderzeichen erlaubt).
DATA Bitte korrigieren!
SET nix = DISPLAY (0:0, 1f-70-4e-2a, f_kopf, f_txt, ok)
ELSE
IF ({prt} .NE. 2) THEN
SET f_txt = *
DATA Sie haben die Ausgabe auf einem Drucker angewählt,
DATA nicht die Ausgabe in eine ASCII-Datei. Bitte hier
DATA nur dann einen Dateinamen angeben, wenn Sie diese
DATA ASCII-Ausgabe angewählt haben!
SET nix = DISPLAY (0:0, 1f-70-4e-2a, f_kopf, f_txt, ok)
GOTO FIELD p
ELSE
SET status1 = OPEN (ascii, WRITE, -STD-)
IF (("{status1}" .EQ. "OK") .AND. ({loe} .EQ. 1)) THEN
EXIT
ELSEIF (("{status1}" .EQ. "OK") .AND. ({loe} .NE. 1)) THEN
SET f_txt = *
DATA Die Datei existiert schon, aber Sie haben die
DATA Erlaubnis zum Löschen (noch?) nicht gegeben.
DATA Bitte korrigieren!
SET nix = DISPLAY (0:0, 1f-70-4e-2a, f_kopf, f_txt, ok)
GOTO FIELD l
ELSEIF ("{status1}" .NE. "OK") THEN
SET status2 = CREATE (ascii, SDF-P, -STD-)
IF ("{status2}" .EQ. "OK") THEN
EXIT
ELSE
SET f_txt = *
DATA Die angegebene ASCII-Datei kann nicht
DATA angelegt werden - weiß der Teufel warum.
DATA Bitte andere Wahl!
SET nix = DISPLAY (0:0, 1f-70-4e-2a, f_kopf, f_txt, ok)
ENDIF
ENDIF
ENDIF
ENDIF
ENDLOOP
FIELD a: FLAGS/SINGLE/CLICK 80 afszp
EDIT
IF ({afszp}.EQ.0) SET aflag = 0
IF (({afszp}.EQ.1) .AND. ({aflag}.NE.1)) THEN
SET hv1 = 0
LOOP shift = "{vglges}"
SET hv1 = {hv1} + 1
SET asp_lst = *
SET kopftxt = *
DATA Manuelle Eingabe von Aufsatzpunkten
DATA für den Vergleich der beiden Dateien
DATA {koll} - {shift}
DISPLAY aufsatzpt
SET asp_lst{hv1} = VALUE (asp_lst)
ENDLOOP
SET aflag = 1
ENDIF
GOTO FIELD weiter
FIELD aufsatzp: OUTPUT/CLICK 70 afszp_txt
FIELD drtyp: OUTPUT 1e prtyp
FIELD d: FLAGS/SINGLE/CLICK 80 chprtyp
EDIT
IF ({chprtyp} .EQ. 1) GOTO WINDOW dr_auswahl
FIELD ch_drtyp: OUTPUT/CLICK 70 ch_drtyp
FIELD hilfe: BUTTON/HELP 2a help
EDIT
IF (HELP) THEN
SET h_tit = "HILFE: Vergleichsoptionen"
SET h_txt = *
DATA Sorry, noch keine Hilfe definiert!
SET nix = DISPLAY (0:0, 1F-71-79-80, h_tit, h_txt, ok)
ENDIF
GOTO FIELD {feld}
FIELD zurueck: BUTTON 1e zurueck
EDIT
IF ((ENTER) .OR. (CR)) GOTO WINDOW auswahl
FIELD abbruch: BUTTON/CANCEL 4e sorry
EDIT
IF ((CANCEL) .OR. (ENTER)) STOP
FIELD weiter: BUTTON 2a start
EDIT
IF ((ENTER) .OR. (CR)) THEN
IF ({prt} .EQ. 2) THEN
IF ("{ascii}" .EQ. "") THEN
SET f_txt = *
DATA Sie haben die Ausgabe in eine ASCII-Datei
DATA verlangt, aber keinen Dateinamen angegeben.
DATA Bitte korrigieren!
SET nix = DISPLAY (0:0, 1f-70-4e-2a, f_kopf, f_txt, ok)
GOTO FIELD asciidat
ENDIF
ELSE
IF ("{ascii}" .NE. "") THEN
SET f_txt = *
DATA Sie haben die Aufbereitung der Synopse für
DATA einen Drucker verlangt, zugleich aber einen
DATA Dateinamen für die Ausgabe in eine ASCII-
DATA Datei angegeben. Bitte korrigieren!
SET nix = DISPLAY (0:0, 1f-70-4e-2a, f_kopf, f_txt, ok)
GOTO FIELD asciidat
ENDIF
ENDIF
IF (({elim}.EQ.1) .AND. ({eflag}.NE.1)) GOTO WINDOW eliminieren
ENDIF
END WINDOW
-----------------------------------------------------------------
-*** Beschriftung des Feldes 'kopf' etc.:
SET kopftxt2 = " Vergleichsoptionen"
SET sz_liste = *
DATA Darstellung von Sonderzeichen als Codierung
DATA Darstellung von Sonderzeichen als Sonderzeichen
SET synlst = *
DATA Synopse enthält den gesamten Text.
DATA Synopse enthält nur die Abweichungen.
SET elimtxt = *
DATA Eliminieren definierter Textunterschiede, die wie
DATA Textübereinstimmungen behandelt werden sollen.
SET prot_txt = *
DATA Synopse für Ausgabe auf einem Drucker aufbereiten.
DATA Synopse in ASCII-Datei ausgeben.
SET afszp_txt = "Eingabe von Aufsatzpunkten"
SET ch_drtyp = "ggf. anderen Druckertyp auswählen"
----------------------------------------------------------------
WINDOW dr_auswahl: [] 71 feld
DATA +--------------------------------------------------------------+
DATA | |
DATA | [kopf ] |
DATA | |
DATA | Wählbare Druckertypen: Ausgewählt: |
DATA | |
DATA | [drtliste ] [drtyp ] |
DATA | [drtliste ] |
DATA | [drtliste ] |
DATA | [drtliste ] |
DATA | [drtliste ] |
DATA | [drtliste ] |
DATA | [drtliste ] |
DATA | [drtliste ] |
DATA | [drtliste ] |
DATA | [drtliste ] |
DATA | [drtliste ] |
DATA | |
DATA | [hilfe ] [zurueck ] [abbruch ] [weiter ] |
DATA | |
DATA +--------------------------------------------------------------+
SET kopftxt = "Auswahl des Druckertyps"
SET prtlist = "HP'HP-10'HP-12'HP-LP'HP-LP1'HP-LP2'HPDJ'HPII'HPLJ'" ...
"MAC-10'MAC-12'MAC-PR'WIN-10'WIN-12'" ...
"PS-10'PS-10-A3'PS-10-QF'PS-12'PS-12-A3'PS-12-QF'PS-Q1'" ...
"PS-Q1-A3'PS-Q2'PS-Q2-A3'PS-10-LTR'PS-10-LGL'" ...
"PS-12-LTR'PS-12-LGL'PS-Q1-LTR'PS-Q2-LTR'" ...
"PS-Q1-LGL'PS-Q2-LGL'LX'FX'LQ'ST"
FIELD kopf: OUTPUT 8F kopftxt
FIELD drtliste: SELECT/SINGLE/CLICK 1f prtlist, nummer
LOOP
SET nummer = 0
EDIT
IF ({nummer}.EQ.0) EXIT
SET prtyp = SELECT (prtlist, {nummer})
ENDLOOP
FIELD drtyp: OUTPUT 4f prtyp
FIELD hilfe: BUTTON/HELP 2a help
EDIT
IF (HELP) THEN
SET h_tit = "HILFE: Auswahl des Druckertyps"
SET h_txt = *
DATA Wählen Sie bitte im linken Fenster den Druckertyp
DATA für die Ausgabe aus. Diese Angabe ist auch dann
DATA erforderlich, wenn Sie nicht ausdrucken, sondern
DATA nur in eine ASCII-Datei ausgeben lassen möchten.
DATA Als Standardwert ist PS-12 (= DIN-A4 hoch, mit
DATA 94 Zeichen pro Zeile) voreingestellt. Wenn eine
DATA Ausgabe mit möglichst vielen Zeichen pro Zeile
DATA gewünscht wird, ist etwa PS-Q1 (DIN-A4 quer, mit
DATA 120 Zeichen pro Zeile) empfehlenswert. Mehr über
DATA die von TUSTEP unterstützten Druckertypen erfah-
DATA Sie auf Kommandoebene mit dem Kommando #LI,DR
SET nix = DISPLAY (0:0, 1F-71-79-80, h_tit, h_txt, ok)
ENDIF
GOTO FIELD {feld}
FIELD zurueck: BUTTON 1e zurueck
EDIT
IF ((ENTER) .OR. (CR)) THEN
SET chprtyp = 0
GOTO WINDOW optionen
ENDIF
FIELD abbruch: BUTTON/CANCEL 4e sorry
EDIT
IF ((CANCEL) .OR. (ENTER)) STOP
FIELD weiter: BUTTON 2a erledigt
EDIT
IF ((ENTER) .OR. (CR)) THEN
SET chprtyp = 0
GOTO WINDOW optionen
ENDIF
END WINDOW
-----------------------------------------------------------------
WINDOW eliminieren: [] 71 feld
DATA +-----------------------------------------------------------------+
DATA | |
DATA | [kopf ] |
DATA | [kopf ] |
DATA | |
DATA | |
DATA | [m] [elimliste ] |
DATA | [m] [elimliste ] |
DATA | [m] [elimliste ] |
DATA | [m] [elimliste ] |
DATA | [m] [elimliste ] |
DATA | [m] [elimliste ] |
DATA | [m] [elimliste ] |
DATA | [m] [elimliste ] |
DATA | [m] [elimliste ] |
DATA | [m] [elimliste ] |
DATA | [m] [elimliste ] |
DATA | [m] [elimliste ] |
DATA | [m] [elimliste ] |
DATA | |
DATA | |
DATA | [hilfe ] [zurueck ] [abbruch ] [weiter ] |
DATA | |
DATA +-----------------------------------------------------------------+
SET kopftxt = *
DATA Definierte Textunterschiede beim Vergleich
DATA wie Textübereinstimmungen behandeln
SET elimlst = *
DATA Satzzeichen (.:,;!?"=-/') ohne Belang
DATA Groß-/Kleinschreibung ohne Belang
DATA Identische Doppelkonsonanten = einfache Konsonanten
DATA aw/auw/ow/ouw = au
DATA Ch/ch = H/h
DATA ck/gk/k/c = k
DATA Ei/ei = Ai/ai
DATA F/f = V/v
DATA J/j/Y/y = I/i (z.B.: May/Maj/Mai)
DATA P/p = B/b
DATA ss/sß/ß = s
DATA tt/d/dt = t
DATA v/w = u (z.B.: Bawer/Bauer)
FIELD kopf: OUTPUT 1f kopftxt
FIELD m: FLAGS/MULTIPLE 2e elimnr
EDIT
FIELD elimliste: OUTPUT/CLICK 1f elimlst
FIELD hilfe: BUTTON/HELP 2a help
EDIT
IF (HELP) THEN
SET h_tit = "HILFE: Textunterschiede eliminieren"
SET h_txt = *
DATA Wählen Sie aus den angebotenen Optionen die von
DATA Ihnen benötigten aus (durch Klick oder RETURN)
SET nix = DISPLAY (0:0, 1F-71-79-80, h_tit, h_txt, ok)
ENDIF
GOTO FIELD m
FIELD zurueck: BUTTON 1e zurueck
EDIT
IF ((ENTER) .OR. (CR)) GOTO WINDOW optionen
FIELD abbruch: BUTTON/CANCEL 4e sorry
EDIT
IF ((CANCEL) .OR. (ENTER)) STOP
FIELD weiter: BUTTON 2a erledigt
EDIT
IF ((ENTER) .OR. (CR)) SET eflag = 1
END WINDOW
----------------------------------------------------------------
WINDOW aufsatzpt: [] 71 feld
DATA +--------------------------------------------------------------+
DATA | |
DATA | [kopf ] |
DATA | [kopf ] |
DATA | [kopf ] |
DATA | |
DATA | |
DATA | [vglasp ] |
DATA | [vglasp ] |
DATA | [vglasp ] |
DATA | [vglasp ] |
DATA | [vglasp ] |
DATA | [vglasp ] |
DATA | [vglasp ] |
DATA | [vglasp ] |
DATA | [vglasp ] |
DATA | [vglasp ] |
DATA | [vglasp ] |
DATA | [vglasp ] |
DATA | [vglasp ] |
DATA | |
DATA | [hilfe ] [abbruch ] [weiter ] |
DATA | |
DATA +--------------------------------------------------------------+
FIELD kopf: OUTPUT 8F kopftxt
FIELD vglasp: INPUT/EDIT 1f asp_lst, nummer
EDIT/LF
FIELD hilfe: BUTTON/HELP 2a help
EDIT
IF (HELP) THEN
SET h_tit = "HILFE: Eingabe von Aufsatzpunkten"
SET h_txt = *
DATA Geben Sie hier manuelle Aufsatzpunkte für den
DATA Vergleich der beiden Texte an: entweder einen
DATA pro Zeile oder mehrere, durch Hochkommata ge-
DATA trennt, nebeneinander. Beispiele für korrekte
DATA Aufsatzpunkte: 1.1=2.1
DATA 1.1-3.12=1.1-3.44
DATA 3.13-7.60=3.45-6.32
SET nix = DISPLAY (0:0, 1F-71-79-80, h_tit, h_txt, ok)
ENDIF
GOTO FIELD vglasp
FIELD abbruch: BUTTON/CANCEL 4e sorry
EDIT
IF ((CANCEL) .OR. (ENTER)) STOP
FIELD weiter: BUTTON 2a erledigt
EDIT
END WINDOW
-----------------------------------------------------------------
- trace on
DISPLAY anfang
- trace off
-----------------------------------------------------------------
DATA #mo,re#pr,start#pr,/#pa,aus#fe,ein
SET hv1 = 0
LOOP shift = "{vglges}"
SET hv1 = hv1 + 1
SET korr_dat = "zsyn*korr_dat.9_{hv1}"
SET asp_lst = VALUE (asp_lst{hv1})
--SET korr_ges = REPLACE (korr_ges, 0, korr_dat)
SET korr_ges = APPEND (korr_ges, "'", korr_dat)
DATA #da,{korr_dat},fr=-
DATA #ve,{koll},{shift},mo=t,lo=+,pa=*,ko={korr_dat},pr=-
DATA par {}
DATA vkz |{shift}|
DATA umg 1 50 1
DATA asp {asp_lst}
DATA sw 0
DATA *eof
ENDLOOP
IF ({elim} .EQ. 1) THEN
SET hv2 = 0
LOOP shift = "{vglges}"
SET hv2 = hv2 + 1
SET kor = "zsyn*korr_dat.9_{hv2}"
SET zwi = "zsyn*zwi_dat.9_{hv2}"
-*** Das nachfolgende KOPIERE hat die Aufgabe, aus der Ergebnisdatei
-*** des jeweiligen VERGLEICHE (KOR.n) diejenigen festgestellten Unter-
-*** schiede zu eliminieren, die nach festen Vorgaben (XX-Karten) nicht
-*** wie Unterschiede behandelt werden sollen:
DATA #da,{zwi},fr=-
DATA #ko,{kor},{zwi},,+,*
DATA par <>
DATA >0z .:,;!?"=-/'
DATA >1z </><aeiouäöü
DATA * Das nachfolgende Austausche (XX-Karten) defi-
DATA * niert Zeichen(folge)paare, die als identisch
DATA * gelten sollen.
LOOP shift1 = elimnr
SELECT "{shift1}"
CASE 1
DATA xx 1 |>0|||%>0><>0|»0| :: |]=|]+|]-||
CASE 2
DATA xx 1 |<*|>-01|
CASE 3
DATA xx 2 |>1>=01|>=01|
CASE 4
DATA xx 3 |<Aw|Au|>aw|au|
DATA xx 3 |<Auw|Au|>auw|au|
DATA xx 3 |<Ow|Au|>ow|au|
DATA xx 3 |<Ouw|Au|>ouw|au|
CASE 5
DATA xx 3 |<Ch|<H|>ch|h|
CASE 6
DATA xx 3 |ck|k|gk|k|c|k|
CASE 7
DATA xx 4 |<Ei|Ai|>ei|ai|
CASE 8
DATA xx 4 |<F|V|>f|v|
CASE 9
DATA xx 4 |<J|I|>j|i|<Y|I|>y|i|
CASE 10
DATA xx 4 |<P|B|>p|b|
CASE 11
DATA xx 4 |ss|s|sß|s|ß|s|
CASE 12
DATA xx 4 |tt|t|<D|T|>d|t|dt|t|
CASE 13
DATA xx 4 |<V|U|>v|u|<W|U|>w|u|
ENDSELECT
ENDLOOP
DATA ak1 8 | :: |
DATA ek1 8 = ak1 8
DATA aei 8 11
DATA av 9 |]=|]+|]-|
DATA vi 9 11
DATA vgl 9 0
DATA vtz 9 3
DATA _1__2__3__4__5__6__7__8__9
DATA sp0 12 8 8 8 8 8 8 91 3
DATA spn 8 8 8 8 8 8 8 8 90
DATA spj 8 8 8 8 8 8 8 8 0
DATA sp2 22 32 42 52 62 72 17 15 8
DATA sp5 99
DATA sp7 82
DATA *eof
DATA #ko,{zwi},{kor},,+
DATA #lo,,{zwi}
ENDLOOP
ENDIF
SET proto1 = "zsyn*zwi_prt.9_4"
SET proto2 = "zsyn*zwi_prt.9_5"
IF ({synops} .EQ. 2) SET synops = 0
DATA #da,{proto1},fr=-
DATA #va,{koll},ko={korr_ges},lo=+,pa=*,pr={proto1}
DATA par {}
DATA pr {synops}
DATA kt |#/+Synopse: {koll} _#(pfb)_ {vgl1} {vgl2} {vgl3}
DATA kt {vgl4} {vgl5} {vgl6} {vgl7} {vgl8}@/xxxx#/-|
DATA kt |#0+__@/#0-|
IF ("{prtyp}" .EQ. "HP-12","HP-GM") THEN
DATA dr 1 2 88
ELSEIF ("{prtyp}" .EQ. "PS-12","PS-12-LTR","PS-12-LGL") THEN
DATA dr 1 2 88
ELSEIF ("{prtyp}" .EQ. "HP-LP1","PS-Q1") THEN
DATA dr 1 3 125
ELSE
DATA dr 1 2 74
ENDIF
DATA drt {prtyp}
DATA drz 3 61
DATA *eof
IF ({sndrz} .EQ. 2) THEN
DATA #da,{proto2},fr=-
DATA #ko,{proto1},{proto2},,+,*
DATA par <>
DATA >0z <%>< <>
DATA zf+ 1 |^#;|^#!|^#.|^#'|^#,|^%^\|^%>@|^#(<>4</)|^#>%+|^#>%-|
DATA * Superskribierung = #; + gesamten Wortrest:
DATA xx 1 |^#;<>>0|#;<=01___|
DATA * Subskribierung = #! + gesamten Wortrest:
DATA xx 1 |^#!<>>0|#!<=01___|
DATA * Einfache Hochstellung = #' + gesamten Wortrest:
DATA xx 1 |^#'<>>0|#'<=01__|
DATA * Einfache Tiefstellung = #, + gesamten Wortrest:
DATA xx 1 |^#,<>>0|#,<=01__|
DATA * Ligatur = #. + gesamten Wortrest:
DATA xx 1 |^#.<>>0|«=01__|
DATA * Gravis über Buchstaben + gesamten Wortrest:
DATA xx 1 |^%^\<>>0|%\>=03__|
DATA * Gravis unter Buchstaben + gesamten Wortrest:
DATA xx 1 |^%^\^\<>>0|%\\>=04__|
DATA * Akzent über Buchstaben + gesamten Wortrest:
DATA xx 1 |^%>@<>>0|%>=(2-3)__|
DATA * Akzent unter Buchstaben + gesamten Wortrest:
DATA xx 1 |^%>@>@<>>0|%>=(2-4)___|
DATA * Sonderkodierungen + gesamten Wortrest:
DATA xx 1 |^#(><4</)><<>>0|#(>=03)<=01______|
DATA xx 1 |^#(><3</)><<>>0|#(>=03)<=01_____|
DATA xx 1 |^#(><2</)><<>>0|#(>=03)<=01____|
DATA * Zeichenformatierungen:
DATA xx 1 |^#>%+><<>>0|#>=02+<=01___|
DATA xx 1 |^#>%-><<>>0|#>=02-<=01___|
DATA spn 3
DATA sp2 11
DATA *eof
DATA #ko,{proto2},{proto1},,+
DATA #lo,,{proto2}
ENDIF
IF ({asc} .EQ. 1) THEN
IF ("{ascii}" .EQ. SCRATCH) DATA #lo,,{ascii}
DATA #da,{ascii},sdf-ap
DATA #da,{proto2},fr=-
DATA #ko,{proto1},{proto2},,+,*
DATA par <>
DATA ta- 1 |-|*|
DATA ta- 1 |>/#0+\\|>/#=>/>/>/#0+\\|
DATA xx 1 |><|>/||
DATA xx 1 |#=>/>/>/||#+>/>/>/||#->/>/>/||
DATA xx 1 |^_|_|^#|#|^&|&|^%|%|^\|\|^@|@|
DATA blu 0 1
DATA *eof
DATA #um,{proto2},{ascii},-STD-,+,CO=ISO
DATA #lo,,{proto2}
ENDIF
DATA #mo,ho#pa,ein#pr,+
DATA #da,zsyn.ziel,seq-ap
DATA #ko,{proto1},zsyn.ziel,,+
DATA #lo,,{proto1}
DATA #makro
DATA $$ SET kopftxt = " Bitte beachten Sie: "
DATA $$ SET ok = "OK"
DATA $$ WINDOW drucken: [] 8f feld
DATA +--------------------------------------------------------------+
DATA | |
DATA | [kopf ] |
DATA | |
DATA | Das Resultat der Vergleichsprozedur |
DATA | steht jetzt in der Protokolldatei |
DATA | ZSYN.ZIEL und kann ausgedruckt werden. |
DATA | |
DATA | |
DATA | Bitte wählen Sie: |
DATA | ----------------- |
DATA | |
DATA | [w] Bildschirmausgabe (Preview mit WIN-10) |
DATA | [p] Ausgabe auf den Defaultdrucker Ihres Rechners |
DATA | |
DATA | [ok] Jetzt beenden |
DATA | |
DATA | |
DATA +--------------------------------------------------------------+
DATA $$= - [ ]
DATA FIELD kopf: OUTPUT 8F kopftxt
DATA FIELD w: FLAGS/SINGLE 1e win10
DATA EDIT
DATA FIELD p: FLAGS/SINGLE 1e print
DATA EDIT
DATA FIELD ok: BUTTON/ENTER 2e ok
DATA EDIT
DATA END WINDOW
DATA -----------------------------------------------------------------
DATA DISPLAY drucken
DATA -----------------------------------------------------------------
DATA IF ([win10] .EQ. 1) THEN
DATA DATA #dr,zsyn.ziel,win-10,+
DATA ENDIF
DATA IF ([print] .EQ. 1) THEN
DATA DATA #dr,zsyn.ziel,{prtyp}
DATA ENDIF
DATA *eof
--
Dr. Peter Stahl
Julius-Maximilians-Universität Würzburg
Deutsche Sprachwissenschaft
Am Hubland
D-97074 Würzburg
Tel.: +49 931 31 85 627
Fax: +49 931 31 81 114
E-Mail: stahl at germanistik.uni-wuerzburg.de
Raum: 4.E.4
Sekretariat: Elisabeth Schönig (4.E.12)
Tel.: +49 931 31 85 630
Mehr Informationen über die Mailingliste Tustep-Liste