Sonstige Stil-Konstrukte

<extern|scheme-foo|arg-1||arg-n>
(Scheme-Makros verwenden)

Dieses Konstrukt dient zur Implementierung von Makros, die in Scheme geschrieben sind. Die Scheme-Funktion scheme-foo bzw. das Scheme-Makro scheme-foo wird auf die Argumente arg-1 bis arg-n angewandt. Der Code <extern|(lambda (name) ‘(concat "Hallo " ,name))|Emil> liefert beispielsweise „Hallo Emil”.

Die Argumente arg-1 bis arg-n werden evaluiert und dann als Bäume an scheme-foo übergeben. Wenn man ein Makro schreibt, dass externen Scheme-Code benutzt, sollte man also die Argumente unter Benutzung des quote-arg Konstrukts übergeben:

< assign | inc-div | < macro | x | y |

<\extern|

(lambda (x y) ‘(frac ,x (concat "1+" ,y)))

|

<quote-arg|x>

|

<quote-arg|y>

>

> >

Es war an sich vorgesehen, dass die Erreichbarkeit von Makro-Argumenten auch hier erhalten bleibt. Da aber TeXmacs Scheme-Code nicht heuristisch untersucht, muss man die D.R.D.-Eigenschaften mit drd-props von Hand setzen.

Man beachte ferner, dass die Scheme-Funktion scheme-foo nur sichere Scheme-Funktionen verwendet werden und nicht etwa solche, die Ihre Festplatte löschen. Scheme-Funktionen in Plugins, die ein Anwender implementiert hat, können mit der Option :secure als sicher definiert werden. Es wird dann auf eine Rückfrage verzichtet. Alternativ kann man natürlich auch alle Scheme-Funktionen im Menü BearbeitenEinstellungenSicherheitAlle Scripts akzeptieren als sicher akzeptieren.

<write|aux|content>
(Zusätzlich Informationen zu Quellcode)

Diese verborgenen Zusatzinformationen werden nur im Quell-Modus dargestellt.

<flag|content|color>

<flag|content|color|var>
(informatorische Flags)

Diese Konstrukte dienen dazu, dem Anwender sichtbare Informationen zu geben, die nicht ausgedruckt werden sollen. TeXmacs zeigt solche informatorischen Flags für Label, Formatierbefehle, wie Seitenumbrüche usw.. Im Menü DokumentAnsichtInformative Flags kann der Anwender einstellen, wie solche Flags dargestellt werden sollen.

Die Variante mit zwei Argumenten gibt ein informatives Flag mit einem spezifischen Inhalt content und Farbe color. Der content wird nur gezeigt, wenn die Darstellungsweise von informativen Flags auf mit Info eingestellt ist, z.B. im Menü DokumentAnsichtInformative FlagsMit Info. Beispielsweise wird <flag|warning|red> im Text in der Voreinstellung als

und mit Einstellung „mit Info“ so dargestellt. Das optionale Argument var dient zur Steuerung der Sichtbarkeit. Wenn var zu einem erreichbaren Dokumentteil gehört, dann wird es dargestellt, sonst nicht. TeXmacs generiert automatisch Abschnitts-Labels, damit sie in das Inhaltsverzeichnis aufgenommen werden können. Es ist aber unschön, informatorische Flags in diesen Fällen zu zeigen.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".