[Tustep-Liste] Register: mehrfaches Vorkommen in einer Zeile auswerten

Wilhelm Ott wilhelm.ott at uni-tuebingen.de
Mi Apr 23 18:59:47 CEST 2008


Lieber Herr Brunschön,

kann es sein, dass Sie nach den Leistungen des Parameters HF in #RA 
suchen? Wenn Sie 
  HF         1
als Parameter angeben, sagt Ihnen #RA, wie oft ein Eintrag an der durch 
die Referenz bezeichneten Stelle vorkommt, wenn dies mehr als 1x ist. 


Wenn (wie man aus Ihrer Aufgabenbeschreibung zu entnehmen) der Punkt
in Teil 1 der Referenz zu einem Komma werden soll, kann dies
mit 
  XRT         ~.~,~
geschehen.

Wenn außerdem der zweite Referenzteil (nämlich ":0") nicht
ausgegeben werden soll, ersetzen Sie doch einfach in #RA+
den Parameter 
  RFT        6 4
durch
  RFT        6
und lassen außerdem den Parameter
  NRT        ~:~
weg.

Wenn hinter der Häufigkeit noch ein "x" stehen soll, so erreichen 
Sie das durch
  NHF        ~x)~
Soll auch das Blank vor der "(" wegbleiben, können Sie das mit
  VHF        ~(~
angeben.


Das Ergebnis, das Sie in Ihrer Aufgabenbeschreibung erwarten,
erreichen Sie freilich nur, wenn Sie noch einen weiteren
Registereintrag in Ihren Quelldaten vorsehen, der nur
das Wort "Ausscheidung" enthält, also z.B.
.
[¡[32.41:0][[cAusscheidung]][[cnaturgemäß]][[cAusscheidung:= 
Ausscheidungsprodukt]][[cAusscheidung:= Ausscheidungsprodukt]]
.

Das ergäbe allerdings mit Ihren Parametern und den angegebenen
Erweiterungen bzw. Änderungen noch immer das Ergebnis
.
<reg>Ausscheidung</reg>  32,41
<tt1>:= Ausscheidungsprodukt  32,41 (2x)
.
Wenn das "<tt1>:" und der Zeilenwechsel wegfallen soll, wie in
Ihrer Aufgabenbeschreibung angegeben, so erreichen Sie das
mit
  TRU       1
(lässt das Trennzeichen weg) und
  NZU       2
(unterdrückt den Zeilenwechsel) sowie 
  TTE   1   ~ ~
(fügt das in Ihrer Beschreibung gezeigte Blank
vor dem "=" ein; Ihr Parameter TTE, der "<tt1>" einsetzt,
müsste dafür natürlich entfallen.)

Außerdem hat Ihre Aufgabenbeschreibung nur 1 Blank zwischen Text und
Referenz; das erreichen Sie durch
  VRF       ~ ~
Num muss noch <reg> und </reg> weg, wenn's so ausschauen soll wie
in Ihrer Aufgabenbeschreibung, also entfallen die beiden
Parameter VTT und NTT in Ihren Angaben zu #RA.

Unschön wird mit all dem freilich der Eintrag aus Ihrem Beispiel 
für [[cgesund:die Gesunden]]; dort fällt wegen TRU jetzt auch das 
Trennzeichen ":" weg; im Ergebnis steht dann "gesunddie Gesunden 32,42".
Wenigstens ein Blank sollte ja nach "gesund" stehen bleiben. Also
ersetzen wir noch
  TTE   1   ~ ~
durch
  TTE   1   ~~+
und fügen noch ein
  VTT   2   ~ ~
Das ergibt dann "gesund die Gesunden 32,42" 


Vielleicht waren aber außer dem Wunsch, "das Mehrfachvorkommen
von Indexeinträgen in einer Zeile parametergesteuert anzugeben",
die Vorgaben in Ihrer Aufgabenbeschreibung gar nicht so buchstäblich
gemeint ... dann wäre diese mail auch schon nach den ersten 5 Zeilen
zu Ende gewesen.

Mit den besten Grüßen 
W. Ott
----------------------------------------------------------------------
Prof. Dr. Wilhelm Ott               phone: +49-7071-987656
Universitaet Tuebingen              fax:   +49-7071-987622
c/o Zentrum fuer Datenverarbeitung  e-mail: wilhelm.ott at uni-tuebingen.de
Waechterstrasse 76
D-72074 Tuebingen



On Fri, 18 Apr 2008, Wolfram Brunschön wrote:

> Date: Fri, 18 Apr 2008 13:46:47 +0200
> From: Wolfram Brunschön <brunschoen at bbaw.de>
> Reply-To: tustep-liste at itug.de
> To: tustep-liste at itug.de
> Subject: [Tustep-Liste] Register: mehrfaches Vorkommen in einer Zeile
>     	auswerten
> 
> Diskussionsforum Tustep-Liste
Weitere Informationen: www.itug.de
------------------------------------------------------------

Liebe TUSTEP-Gemeinde,

gibt es eine Möglichkeit, für das Register das Mehrfachvorkommen von 
Indexeinträgen in einer Zeile parametergesteuert auszugeben?
Liebe Grüße und vielen Dank im voraus
Wolfram Brunschön.


Die Ausgangsdaten für ein #RV sehen wie folgt aus:
.
[¡[32.41:0][[cnaturgemäß]][[cAusscheidung:= 
Ausscheidungsprodukt]][[cAusscheidung:= Ausscheidungsprodukt]]
[¡[32.42:0][[cgesund:die Gesunden]][[cQuantität]][[cQualität]][[cArt]]    
.

Ziel sollte sein, daß die Indexeinträge 32.41 "[[cAusscheidung:= 
Ausscheidungsprodukt]][[cAusscheidung:= Ausscheidungsprodukt]]"
bei der Ausgabe zusammengefaßt werden in die Form:
"Ausscheidung seite,zeile seite,zeile ... = Ausscheidungsprodukt 
seite,zeile 32,41(2x) seite,zeile..."


Vielleicht ist es nützlich, die Angaben zu #RV und #RA - mit herzlichem 
Dank an Herrn Trauth für seine Hilfe und Unterstützung - mitzuteilen. 
Das ganze wird dann noch gesetzt.


#RV,xx.2,REG.1,MO=+,LO=+,PA=*
        * Trennzeichen zwischen den 'Wörtern' (Beispiel):
 >1z       () []<<>>,;:!?"=/#+-
 >2z       <%><</
 >3z       <%
   max       100
EA        |[[|
EE        |]]|
rfa       |[¡[|
rfe       |]|
rft       |:|
rfl       6 4
tkz       abcde
xs1       |{{||}}||(||)||#/+||#/-||
XS1       |ß|ss|%<>2>@||:|  ||%:|
xs1       |#>%+||#>%-||%>@v|o|%<>>@h|e|
XS2       |ä|az|ö|oz|ü|uz|ß|sz|
SSL       60 60
*eof

#SO,REG.1,REG.10,SO=17+120,LO=+,ti=17+120 

#RA,REG.10,reg.11,MO=+,LO=-,PA=*,PR=-
        * Sortierschlüssel wurde schon im SO eliminiert:
SSL       0
        * welche Registertypen sollen ausgegeben werden:
txt       0 0 1 0 0
        * Anzahl der Textteile:
tt        3
        * Trennzeichen zwischen den Textteilen:
tr        |:||%:|
        * Länge der Referenzteile:
RFL       6 4
        * Im fertigen Eintrag rausschmeißen:
xtt   1   |{{<><%}}||
vtt   1   |<reg>|
ntt   1   |</reg>|
tte   1   |<tt1>|
        * Zeichen zwischen den Referenzteilen:
nrt   1   |:|
RFF       1
DRA       1 0 0 0 0 0
*eof

------------------------------------------------------------
Tustep-Liste at itug.de
https://lists.uni-wuerzburg.de/mailman/listinfo/tustep-liste


Mehr Informationen über die Mailingliste Tustep-Liste