From ChristianGriesinger at gmx.de Wed May 9 11:05:54 2018 From: ChristianGriesinger at gmx.de (Christian Griesinger) Date: Wed, 9 May 2018 11:05:54 +0200 Subject: [Tustep-Liste] Frage zu Execute Message-ID: Liebe Liste, ich habe eine Frage zur Funktionalität von EXECUTE in Makros. Nehmen wir folgendes Beispiel zum Testen: ----------------- $$- Das ist ein Testmakro $$!quelle $$!ziel $$!nr $$ MODE TUSCRIPT, {} EXECUTE #*GRAFIK,{quelle},{ziel},nu={nr} PRINT "Test" ------------------ Für eine Stapelverarbeitung möchte ich, dass Graphiken mit dem Standardmakro #*GRAFIK vorbereitet werden. Anschliessend sollen weitere Anweisungen folgen (hier durch den PRINT-Befehl vertreten). Leider erhalte ich, wenn ich #*Graphik mit EXECUTE ausführen möchte, folgende Fehlermeldung: "Kommandos ignoriert - Makro wurde mit ECECUTE gerufen" "Fehler bei der Ausführung der Anweisung" Nun meine Frage: Wieso kann ich #*GRAFIK nicht mit EXECUTE aufrufen? Und wie sollte ich einen Aufruf von #*GRAFIK in ein Makro einbauen? Wenn man das Kommando z.B. nach MODE DATA #*GRAFIK,{quelle},{ziel},nu={nr} aufruft, dann wird #*GRFIK zuletzt ausgeführt und nicht an der Stelle, an der es im Quelltext steht. Viele Grüße Christian Griesinger From Gottfried.reeg at seegelken-reeg.de Wed May 9 11:34:10 2018 From: Gottfried.reeg at seegelken-reeg.de (Gottfried Reeg) Date: Wed, 9 May 2018 11:34:10 +0200 Subject: [Tustep-Liste] Frage zu Execute In-Reply-To: References: Message-ID: <48b28a9c-6ea3-955f-a3ec-93883caa1a6d@seegelken-reeg.de> Lieber Herr Griesinger, im Handbuch werden zu EXECUTE auf S. 451 einige Bedingungen aufgeführt unter denen EXECUTE ausgeführt werden kann. So müssen z.B. alle Leistungen durch Ausführen von Makroanweisungen erbracht werden. Trifft dies für #*GRAFIK zu? Viele Grüße aus Berlin Gottfried Reeg Am 09.05.2018 um 11:05 schrieb Christian Griesinger: > Diskussionsforum Tustep-Liste > Weitere Informationen: www.itug.de > ------------------------------------------------------------ > > Liebe Liste, > > ich habe eine Frage zur Funktionalität von EXECUTE in Makros. Nehmen wir folgendes Beispiel zum Testen: > > ----------------- > $$- Das ist ein Testmakro > $$!quelle > $$!ziel > $$!nr > $$ MODE TUSCRIPT, {} > > EXECUTE #*GRAFIK,{quelle},{ziel},nu={nr} > > PRINT "Test" > ------------------ > > Für eine Stapelverarbeitung möchte ich, dass Graphiken mit dem Standardmakro #*GRAFIK vorbereitet werden. Anschliessend sollen weitere Anweisungen folgen (hier durch den PRINT-Befehl vertreten). > > Leider erhalte ich, wenn ich #*Graphik mit EXECUTE ausführen möchte, folgende Fehlermeldung: > "Kommandos ignoriert - Makro wurde mit ECECUTE gerufen" > "Fehler bei der Ausführung der Anweisung" > > Nun meine Frage: Wieso kann ich #*GRAFIK nicht mit EXECUTE aufrufen? Und wie sollte ich einen Aufruf von #*GRAFIK in ein Makro einbauen? > > Wenn man das Kommando z.B. nach > > MODE DATA > #*GRAFIK,{quelle},{ziel},nu={nr} > > aufruft, dann wird #*GRFIK zuletzt ausgeführt und nicht an der Stelle, an der es im Quelltext steht. > > Viele Grüße > Christian Griesinger > > ------------------------------------------------------------ > Tustep-Liste at itug.de > https://lists.uni-wuerzburg.de/mailman/listinfo/tustep-liste From michael.trauth at outlook.de Wed May 9 12:41:22 2018 From: michael.trauth at outlook.de (Dr. Michael Trauth) Date: Wed, 9 May 2018 10:41:22 +0000 Subject: [Tustep-Liste] Frage zu Execute In-Reply-To: References: Message-ID: Lieber Christian, Makros (Tuscripte) dürfen nicht innerhalb von Makros aufgerufen werden, um Endlosschleifen auszuschließen. Punkt. Wenn Du zur Laufzeit eines Makros das Ergebnis eines anderen Makros benötigst, kannst Du so verfahren wie von Dir selbst erwähnt: > MODE DATA > #*GRAFIK,{quelle},{ziel},nu={nr} Danach beendest Du Dein Makro, danach wird Dein #*grafik ausgeführt, dann kannst Du ein weiteres, neues Makro beginnen. Hört sich etwas umständlich an, funktioniert aber gut. Es bleibt folgende Frage: Makros verwendet man für Arbeitsabläufe, die regelmäßig ausgeführt werden müssen, nicht wahr? #*grafik wird aber z.B. in einer Satzumgebung für eine Publikation nur einmal benötigt (bzw. nur dann, wenn eine Abbildung neu in den Grafikcontainer gesteckt werden soll). Hilfst Du mir zu verstehen, warum Du es im Inneren eines anderen Makros verwenden willst? Viele Grüße von ** Michael ** From ChristianGriesinger at gmx.de Wed May 9 13:11:46 2018 From: ChristianGriesinger at gmx.de (Christian Griesinger) Date: Wed, 9 May 2018 13:11:46 +0200 Subject: [Tustep-Liste] Frage zu Execute In-Reply-To: References: Message-ID: Lieber Michael, danke für Deine schnelle Antwort. Ich versuche es mal, mit der von Dir genannten Methode, das Makro zu beenden und den Rest in ein weiteres Makro zu verschieben. Aber um Deine Gegenfrage zu beantworten: Nehmen wir an, ich habe einen Stapel von beliebig vielen Dateien, die nacheinander gesetzt werden sollen. In einem Teil der Dateien kommen Bilder vor, in anderen nicht. Auch die Anzahl der Bilder kann natürlich variieren. In einem solchen Fall schien es mir praktisch, in einer Schleifer abzufragen, ob Bilder in der jeweils aktuellen Datei der Schleife vorkommen, und wenn ja, für genau diese Bilder das Standardmakro #*GRAFIK auszuführen. Diese Überlegung gilt natürlich allgemein für alle Standardmakros, nicht nur im speziellen für #*GRAFIK. Ich denke da an #*FUNO,#*PSAUS usw. In einem solchen Szenario ist zum Beispiel die Frage relevant, ob einer der Texte Fußnoten enthält. Dann könnte leicht mit IF - ELSE der Ablauf des Satzprogramms geändert werden und #*FUNO da eingeschaltet werden, wo es gebraucht wird. Ebenso ändert sich so auch der Aufruf von #SATZ (#satz mit Angabe einer Fussnotendatei gibt nämlich einen Fehler zurück, wenn die Fussnotendatei leer ist). Ich verstehe zwar, dass Endlosschleifen vermieden werden müssen, aber es scheint mir keine gute Lösung, wenn Makroaufrufe innerhalb von Makroaufrufen zwar möglich sind, aber nur am Laufzeitende des Hauptmakros. Hier ein Beispiel in Pseudocode, wie ich mir das ungefähr gedacht habe: LOOP datei 1 bis 100 ... IF datei hat überschriften THEN EXECUTE $nummeriere ENDIF IF datei hat bilder THEN EXECUTE #*GRAFIK ... ENDIF IF datei hat fussnoten THEN EXECUTE #*FUNO ... ELSE ... ENDIF ... ENDLOOP Viele Grüße Christian > Gesendet: Mittwoch, 09. Mai 2018 um 12:41 Uhr > Von: "Dr. Michael Trauth" > An: "tustep-liste at itug.de" > Betreff: Re: [Tustep-Liste] Frage zu Execute > > Diskussionsforum Tustep-Liste > Weitere Informationen: www.itug.de > ------------------------------------------------------------ > > > Lieber Christian, > > Makros (Tuscripte) dürfen nicht innerhalb von Makros aufgerufen werden, um Endlosschleifen auszuschließen. Punkt. > > Wenn Du zur Laufzeit eines Makros das Ergebnis eines anderen Makros benötigst, kannst Du so verfahren wie von Dir selbst erwähnt: > > > MODE DATA > > #*GRAFIK,{quelle},{ziel},nu={nr} > > Danach beendest Du Dein Makro, danach wird Dein #*grafik ausgeführt, dann kannst Du ein weiteres, neues Makro beginnen. Hört sich etwas umständlich an, funktioniert aber gut. > > Es bleibt folgende Frage: Makros verwendet man für Arbeitsabläufe, die regelmäßig ausgeführt werden müssen, nicht wahr? #*grafik wird aber z.B. in einer Satzumgebung für eine Publikation nur einmal benötigt (bzw. nur dann, wenn eine Abbildung neu in den Grafikcontainer gesteckt werden soll). Hilfst Du mir zu verstehen, warum Du es im Inneren eines anderen Makros verwenden willst? > > Viele Grüße von > > ** Michael ** > > > > > > > ------------------------------------------------------------ > Tustep-Liste at itug.de > https://lists.uni-wuerzburg.de/mailman/listinfo/tustep-liste From Gottfried.reeg at seegelken-reeg.de Wed May 9 15:11:20 2018 From: Gottfried.reeg at seegelken-reeg.de (Gottfried Reeg) Date: Wed, 9 May 2018 15:11:20 +0200 Subject: [Tustep-Liste] Frage zu Execute In-Reply-To: References: Message-ID: Lieber Michael, da muss ich Dir leider widersprechen, denn es gibt durchaus Makros (Tuscripte), die mit EXECUTE ausgeführt werden können, z.B. #*EXPORT.  In diesem Makro kommen keine Kommandos vor, und das läßt sich auch mit EXECUTE ausführen. Das Makro #*GRAFIK hingegen enthält Kommandos und kann daher nicht mit EXECUTE ausgeführt werden. Viele Grüße Gottfried Am 09.05.2018 um 12:41 schrieb Dr. Michael Trauth: > Diskussionsforum Tustep-Liste > Weitere Informationen: www.itug.de > ------------------------------------------------------------ > > > Lieber Christian, > > Makros (Tuscripte) dürfen nicht innerhalb von Makros aufgerufen werden, um Endlosschleifen auszuschließen. Punkt. > > Wenn Du zur Laufzeit eines Makros das Ergebnis eines anderen Makros benötigst, kannst Du so verfahren wie von Dir selbst erwähnt: > >> MODE DATA >> #*GRAFIK,{quelle},{ziel},nu={nr} > Danach beendest Du Dein Makro, danach wird Dein #*grafik ausgeführt, dann kannst Du ein weiteres, neues Makro beginnen. Hört sich etwas umständlich an, funktioniert aber gut. > > Es bleibt folgende Frage: Makros verwendet man für Arbeitsabläufe, die regelmäßig ausgeführt werden müssen, nicht wahr? #*grafik wird aber z.B. in einer Satzumgebung für eine Publikation nur einmal benötigt (bzw. nur dann, wenn eine Abbildung neu in den Grafikcontainer gesteckt werden soll). Hilfst Du mir zu verstehen, warum Du es im Inneren eines anderen Makros verwenden willst? > > Viele Grüße von > > ** Michael ** > > > > > > > ------------------------------------------------------------ > Tustep-Liste at itug.de > https://lists.uni-wuerzburg.de/mailman/listinfo/tustep-liste From luckscheiter at bbaw.de Thu May 24 16:54:17 2018 From: luckscheiter at bbaw.de (Stefan Luckscheiter) Date: Thu, 24 May 2018 16:54:17 +0200 Subject: [Tustep-Liste] Automatische Abfragen im Katalog der DNB Message-ID: Liebe Listen-Leser, Ich würde gerne mit Hilfe von REQUEST auf die Normdaten zu Personen im Katalog der DNB zugreifen, um schlußendlich die GND-Nummern zu Personen, von denen ich Namen und Sterbedatum kenne, automatisch abzurufen. Auf folgende Weise habe ich versucht, den Eintrag zu Jacques d'Agar gest. 1715 (http://d-nb.info/gnd/1026902215) aufzurufen: SECTION abruf   SET ind = *   DATA term=Agar 1715   SET frag = ENCODE (ind,CGI)   SET adresse = "https://portal.dnb.de/opac.htm"   SET antw = REQUEST (adresse,frag)   SET antw = DECODE (antw, UTF8) ENDSECTION Aber obwohl die beiden Angaben (Agar und 1715) ausreichen, um mit der Suchmaske auf https://portal.dnb.de/opac.htm zu dem gewünschten Datensatz zu gelangen, liefert die Seite nicht das gewünschte Ergebnis. Kann mir jemand sagen, was ich hier falsch mache? Mit besten Grüßen, Stefan Luckscheiter *********************************************** Leibniz-Edition Potsdam der Berlin-Brandenburgischen Akademie der Wissenschaften Am Neuen Markt 8 14467 Potsdam Telefon: +49 (0)331 2796 121 Fax: +49 (0)331 2796 130 http://www.bbaw.de/bbaw/Forschung/Forschungsprojekte/leibniz_potsdam/de/Startseite From christian.moser at theol.uzh.ch Thu May 24 17:04:33 2018 From: christian.moser at theol.uzh.ch (Christian Moser) Date: Thu, 24 May 2018 17:04:33 +0200 Subject: [Tustep-Liste] Automatische Abfragen im Katalog der DNB In-Reply-To: References: Message-ID: <118293a0-1ec2-e991-dcfe-58784970ef90@theol.uzh.ch> Lieber Herr Luckscheiter Bei mir klappt es mit: DATA q=Agar AND 1715 und SET adresse = "https://lobid.org/gnd/search" Freundliche Grüsse Christian Moser Am 24.05.2018 um 16:54 schrieb Stefan Luckscheiter: > Diskussionsforum Tustep-Liste > Weitere Informationen: www.itug.de > ------------------------------------------------------------ > > Liebe Listen-Leser, > > Ich würde gerne mit Hilfe von REQUEST auf die Normdaten zu Personen im > Katalog der DNB zugreifen, um schlußendlich die GND-Nummern zu > Personen, von denen ich Namen und Sterbedatum kenne, automatisch > abzurufen. > > Auf folgende Weise habe ich versucht, den Eintrag zu Jacques d'Agar > gest. 1715 (http://d-nb.info/gnd/1026902215) aufzurufen: > > > SECTION abruf > >   SET ind = * >   DATA term=Agar 1715 >   SET frag = ENCODE (ind,CGI) >   SET adresse = "https://portal.dnb.de/opac.htm" >   SET antw = REQUEST (adresse,frag) >   SET antw = DECODE (antw, UTF8) > > ENDSECTION > > Aber obwohl die beiden Angaben (Agar und 1715) ausreichen, um mit der > Suchmaske auf https://portal.dnb.de/opac.htm zu dem gewünschten > Datensatz zu gelangen, liefert die Seite nicht das gewünschte > Ergebnis. Kann mir jemand sagen, was ich hier falsch mache? > > Mit besten Grüßen, > > Stefan Luckscheiter > > > *********************************************** > Leibniz-Edition Potsdam > der Berlin-Brandenburgischen Akademie der Wissenschaften > Am Neuen Markt 8 > 14467 Potsdam > > Telefon: +49 (0)331 2796 121 > Fax: +49 (0)331 2796 130 > http://www.bbaw.de/bbaw/Forschung/Forschungsprojekte/leibniz_potsdam/de/Startseite > > > ------------------------------------------------------------ > Tustep-Liste at itug.de > https://lists.uni-wuerzburg.de/mailman/listinfo/tustep-liste From schaelkle at zdv.uni-tuebingen.de Thu May 24 17:13:39 2018 From: schaelkle at zdv.uni-tuebingen.de (=?utf-8?Q?Kuno_Sch=C3=A4lkle?=) Date: Thu, 24 May 2018 17:13:39 +0200 Subject: [Tustep-Liste] Automatische Abfragen im Katalog der DNB In-Reply-To: References: Message-ID: Sehr geehrte Herr Luckscheiter, > Auf folgende Weise habe ich versucht, den Eintrag zu Jacques d'Agar gest. 1715 (http://d-nb.info/gnd/1026902215) aufzurufen: > > SECTION abruf > SET ind = * > DATA term=Agar 1715 > SET frag = ENCODE (ind,CGI) > SET adresse = "https://portal.dnb.de/opac.htm" > SET antw = REQUEST (adresse,frag) > SET antw = DECODE (antw, UTF8) > ENDSECTION > > Aber obwohl die beiden Angaben (Agar und 1715) ausreichen, um mit der Suchmaske auf https://portal.dnb.de/opac.htm zu dem gewünschten Datensatz zu gelangen, liefert die Seite nicht das gewünschte Ergebnis. Kann mir jemand sagen, was ich hier falsch mache? vermutlich erhalten Sie das gewünschte Ergebnis, wenn Sie die Variable ind wie folgt setzen: SET ind = * DATA query=Agar 1715 DATA method=simpleSearch Mit freundlichen Grüßen Kuno Schälkle From kol at steinheim-institut.org Thu May 24 17:45:32 2018 From: kol at steinheim-institut.org (Thomas Kollatz) Date: Thu, 24 May 2018 17:45:32 +0200 Subject: [Tustep-Liste] Automatische Abfragen im Katalog der DNB In-Reply-To: References: Message-ID: <7ACF645F-97F2-46CB-878A-4CB4ACF4AEA6@steinheim-institut.org> Sehr geehrter Herr Luckscheiter, ich habe seit ein paar Jahren eine Routine zur Abfrage von GND-IDs im Einsatz, wobei ich den DARIAH Normdatendienst und den Entityfacts-Dienst der DNB nutze, der die d-nb.info/gnd/ Infos enthält und dies weiteren Normdaten und Querverweisen angereichert ausgibt. Ich kopiere die für ihren Fall angepasste Routine in die Mail. Auch wenn das bei d’Agar nicht der Fall ist, kann so eine GND-Anfrage mehrere IDS ergeben, die zu prüfen sind, darum sammele ich den „output“ in einer Sternvariable, hier das Skript: Wenn sie die auskommentierten TRACE-Funktion aktivieren, sehen sie was Schritt für Schritt passiert. In der Variable gndinfo befindet sich das Ergebnis (bzw.) die Ergebnisse der Anfrage nach „Jacques d’Agar“. Herzliche Grüße Thomas Kollatz $$ MODE TUSCRIPT,{} --- Suche bei DARIAH-DE Normdatendienst GND --- INFO: https://wiki.de.dariah.eu/display/publicde/DARIAH-DE+Normdatendienste url="http://ref.dariah.eu/beta/pndsearch/pndquery.xql" query=* DATA ln=Jacques d'Agar query=ENCODE(query,cgi) daten=REQUEST(url,query) -TRACE *daten gndids=* ACCESS q: READ/STREAM/VARIABLE/UTF8 $daten s,a+t+e,typ,stack LOOP READ/EXIT q IF (stack.ew."") THEN -TRACE *stack,t target=GET_ATTRIBUTE (t,"target") -TRACE *target gndid=EXTRACT (target,":*gnd/:"|,0) -TRACE *gndid gndids=APPEND(gndids,gndid) ENDIF ENDLOOP ENDACCESS q --- Abfrage bei ENTITY-Facts s. http://www.dnb.de/DE/Service/DigitaleDienste/EntityFacts/entityfacts_node.html gndinfo=* LOOP gndid=gndids --url=CONCAT ("http://d-nb.info/gnd/",gndentry,"/about/html") url=CONCAT ("http://hub.culturegraph.org/entityfacts/",gndid) --TRACE *url daten=REQUEST(url) --TRACE *daten rdfxml=DECODE(daten,utf8) gndinfo=APPEND(gndinfo,rdfxml) ENDLOOP TRACE *gndinfo Thomas Kollatz http://orcid.org/0000-0003-1904-1841 > Am 24.05.2018 um 16:54 schrieb Stefan Luckscheiter : > > Diskussionsforum Tustep-Liste > Weitere Informationen: www.itug.de > ------------------------------------------------------------ > > Liebe Listen-Leser, > > Ich würde gerne mit Hilfe von REQUEST auf die Normdaten zu Personen im Katalog der DNB zugreifen, um schlußendlich die GND-Nummern zu Personen, von denen ich Namen und Sterbedatum kenne, automatisch abzurufen. > > Auf folgende Weise habe ich versucht, den Eintrag zu Jacques d'Agar gest. 1715 (http://d-nb.info/gnd/1026902215) aufzurufen: > > > SECTION abruf > > SET ind = * > DATA term=Agar 1715 > SET frag = ENCODE (ind,CGI) > SET adresse = "https://portal.dnb.de/opac.htm" > SET antw = REQUEST (adresse,frag) > SET antw = DECODE (antw, UTF8) > > ENDSECTION > > Aber obwohl die beiden Angaben (Agar und 1715) ausreichen, um mit der Suchmaske auf https://portal.dnb.de/opac.htm zu dem gewünschten Datensatz zu gelangen, liefert die Seite nicht das gewünschte Ergebnis. Kann mir jemand sagen, was ich hier falsch mache? > > Mit besten Grüßen, > > Stefan Luckscheiter > > > *********************************************** > Leibniz-Edition Potsdam > der Berlin-Brandenburgischen Akademie der Wissenschaften > Am Neuen Markt 8 > 14467 Potsdam > > Telefon: +49 (0)331 2796 121 > Fax: +49 (0)331 2796 130 > http://www.bbaw.de/bbaw/Forschung/Forschungsprojekte/leibniz_potsdam/de/Startseite > > ------------------------------------------------------------ > Tustep-Liste at itug.de > https://lists.uni-wuerzburg.de/mailman/listinfo/tustep-liste -------------- nächster Teil -------------- Ein Dateianhang mit HTML-Daten wurde abgetrennt... URL: