1
0
Fork 0
doc/devel/format/stylesheet/prim-style-misc.de.tm

99 lines
4.2 KiB
Tcl

<TeXmacs|1.0.4.5>
<style|tmdoc>
<\body>
<tmdoc-title|Sonstige Stil-Konstrukte>
<\explain>
<explain-macro|extern|scheme-foo|arg-1|<with|mode|math|\<cdots\>>|arg-n><explain-synopsis|<value|scheme>-Makros
verwenden>
<|explain>
Dieses Konstrukt dient zur Implementierung von Makros, die in
<value|scheme> geschrieben sind. Die <value|scheme>-Funktion
<src-arg|scheme-foo> bzw. das <value|scheme>-Makro <src-arg|scheme-foo>
wird auf die Argumente <src-arg|arg-1> bis <src-arg|arg-n> angewandt. Der
Code <inactive*|<extern|(lambda (name) `(concat "Hallo " ,name))|Emil>>
liefert beispielsweise \R<extern|(lambda (name) `(concat "Hallo "
,name))|Emil>''.
Die Argumente <src-arg|arg-1> bis <src-arg|arg-n> werden evaluiert und
dann als Bäume an <src-arg|scheme-foo> übergeben. Wenn man ein Makro
schreibt, dass externen <value|scheme>-Code benutzt, sollte man also die
Argumente unter Benutzung des <markup|quote-arg> Konstrukts übergeben:
<\tm-fragment>
<inactive*|<assign|inc-div|<macro|x|y|<style-with|src-compact|none|<extern|(lambda
(x y) `(frac ,x (concat "1+" ,y)))|<quote-arg|x>|<quote-arg|y>>>>>>
</tm-fragment>
Es war an sich vorgesehen, dass die Erreichbarkeit von Makro-Argumenten
auch hier erhalten bleibt. Da aber <TeXmacs> <value|scheme>-Code nicht
heuristisch untersucht, muss man die <abbr|D.R.D.>-Eigenschaften mit
<markup|drd-props> von Hand setzen.
Man beachte ferner, dass die <value|scheme>-Funktion <src-arg|scheme-foo>
nur sichere <value|scheme>-Funktionen verwendet werden und nicht etwa
solche, die Ihre Festplatte löschen. <value|scheme>-Funktionen in
Plugins, die ein Anwender implementiert hat, können mit der Option
<verbatim|:secure> als sicher definiert werden. Es wird dann
<inactive|>auf eine Rückfrage verzichtet. Alternativ kann man natürlich
auch alle <value|scheme>-Funktionen im Menü
<menu|Edit|Preferences|Security|Accept all scripts> als sicher
akzeptieren.
</explain>
<\explain>
<explain-macro|write|aux|content><explain-synopsis|Zusätzlich
Informationen zu Quellcode>
<|explain>
Diese verborgenen Zusatzinformationen werden nur im Quell-Modus
dargestellt.
</explain>
<\explain>
<explain-macro|flag|content|color>
<explain-macro|flag|content|color|var><explain-synopsis|informatorische
Flags>
<|explain>
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ü <menu|Document|Informative flags> kann der Anwender
einstellen, wie solche Flags dargestellt werden sollen.
Die Variante mit zwei Argumenten gibt ein informatives Flag mit einem
spezifischen Inhalt <src-arg|content> und Farbe <src-arg|color>. Der
<src-arg|content> wird nur gezeigt, wenn die Darstellungsweise von
informativen Flags auf <translate|detailed|english|german> eingestellt
ist, z.B. im Menü <menu|Document|Informative flags|Detailed>.
Beispielsweise wird <inactive*|<flag|warning|red>> im Text in der
Voreinstellung als <flag|warning|red> \
und mit Einstellung \R<translate|detailed|english|german>`` so
<with|info-flag|detailed|<flag|warning|red>> dargestellt. Das optionale
Argument <src-arg|var> dient zur Steuerung der Sichtbarkeit. Wenn
<src-arg|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.
</explain>
<tmdoc-copyright|2004|Joris van der Hoeven>
<tmdoc-license|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".>
</body>
<\initial>
<\collection>
<associate|language|german>
<associate|preamble|false>
</collection>
</initial>