[Tustep-Liste] [SPAM] Ergänzen von fehlenden tags per Austauschtabelle

luckscheiter luckscheiter at bbaw.de
Fr Jun 13 11:47:53 CEST 2025


Ah, vielen Dank, ja das macht Sinn ....

Am 2025-06-13 11:29, schrieb Christian Sonder:
> Lieber Herr Luckseiter,
> 
> probieren Sie mal folgendes Beispielprogramm aus:
> 
> #MAKRO
> $$ MODE TUSCRIPT, {}
> 
> text = "abcde"
> 
> BUILD X_TABLE x1 = *
> DATA -a-b-
> DATA -b-c-
> DATA -d-e-
> 
> text = EXCHANGE(text, x1)
> 
> TRACE * text
> *EOF
> 
> Sie sehen, das Programm startet mit "abcde". In der Austauschtabelle 
> wird
> a durch b, b durch c und d durch e getauscht. Ich vermute, sie würden
> "cccee" erwarten. In der Tat kommt aber nur "bccee" heraus. Warum?
> Als erstes wird das a ausgetauscht, Resultat: "bbcde", das nun erste 
> Zeichen
> "b" wurde in diesem Schritt modifiziert und wird in diesem Durchgang
> nicht mehr weiter bearbeitet. Dann wird das "b" ersetzt, denn es war
> vom ersten Austausch nicht betroffen, Resultat "bccde",
> dann wird das "d" ersetzt, Resultat "bccee". Der Durchgang ist 
> erledigt.
> 
> Wenn Sie die drei Austauschanweisungen auf drei Tabellen aufteilen,
> wird das Resultat nach Tabelle 1 lauten: "bbcde", nach Tabelle 2: 
> "cccde",
> nach Tabelle 3 "cccee", weil jetzt es jetzt mehrere Durchgänge gibt.
> 
> Es werden also durchaus mehrere Ersetzungen pro Durchgang erledigt,
> nur eben nicht die "selbe Stelle", in diesem Beispiel der erste 
> Buchstabe,
> der nur einmal und nicht zweimal getauscht wird.
> 
> Ich hoffe, das hilft Ihnen weiter. Sie können gerne das selbe Programm
> einmal mit #KOPIERE und XX implementieren und einmal nur einen 
> XX-Durchgang
> machen, und dann einen zweiten Versuch mit mehreren XX-Durchgängen,
> das Ergebnis müsste (hoffentlich) das Gleiche sein.
> 
> Viele Grüße
> Christian Sonder
> 
> 
> Am 2025-06-13 10:59, schrieb luckscheiter:
>> Vielen Dank, lieber Herr Sonder,
>> ganz verstehe ich die Sache allerdings nicht, denn andere Anweisungen 
>> aus derselben Austauschtabelle, z. B.
>> 
>>    DATA -\[.\]--
>> 
>> wurden durchaus gleichzeitig mit anderen ausgeführt.
>> 
>> Herzliche Grüße,
>> Stefan Luckscheiter
>> 
>> Am 2025-06-11 18:29, schrieb Christian Sonder:
>>> Lieber Herr Luckscheiter,
>>> 
>>> wie auch beim Parameter XX von Kopiere wird, wenn ich mich nicht 
>>> irre, in einem Durchgang eine Stelle nur einmal modifiziert. 
>>> Versuchen Sie einfach, die drei Austauschanweisungen nacheinander in 
>>> drei separaten Tabellen auszuführen.
>>> 
>>> text = exchange(text, Tabelle1)
>>> text = exchange(text, Tabelle2)
>>> text = exchange(text, Tabelle3)
>>> usw.
>>> 
>>> Es gäbe noch alternativ die Möglichkeit, ihre Tabellen selbst zu 
>>> modifizieren, aber das sollte der einfachste Weg sein.
>>> 
>>> Viele Grüße
>>> Christian Sonder
>>> 
>>> Am 2025-06-11 11:12, schrieb luckscheiter:
>>>> Liebe Liste,
>>>> ich habe eine Variable, die ein Wort und möglicherweise tags für 
>>>> Schriftauszeichnungen wie <i>, <s>, <uP> usw. enthält, allerdings 
>>>> jeweils möglicherweise Anfang- und Endtag, oder auch nur Anfang- 
>>>> oder Endtag.
>>>> Die eventuell fehlen tags möchte ich nun ergänzen und würde gerne 
>>>> fragen, wie man das am elegantesten macht.
>>>> Ich habe es versucht mit folgender Austauschtabelle:
>>>> 
>>>> BUILD X_TABLE l1form = *
>>>>    DATA --<i>*</i>--<i>*-<i>{-1=}</i>-
>>>>    DATA --<s>*</s>--<s>*-<s>{-1=}</s>-
>>>>    DATA --<uP>*</uP>--<uP>*-<uP>{-1=}</uP>-
>>>> 
>>>> Das Problem dabei ist aber, dass so nur jeweils ein tag ergänzt wird 
>>>> und aus
>>>> 
>>>> <uP><i><s>Wörtlein
>>>> wird
>>>> <uP><i><s>Wörtlein</uP>
>>>> 
>>>> und nicht wie gewünscht:
>>>> 
>>>> <uP><i><s>Wörtlein</s></i></uP>
>>>> 
>>>> Mache ich irgendetwas falsch?
>>>> 
>>>> Viele Grüße in die Runde,
>>>> Stefan Luckscheiter


Mehr Informationen über die Mailingliste Tustep-Liste