@c -----------------------------------------------------------------------------
@c File        : Miscellaneous.de.texi
@c License     : GNU General Public License (GPL)
@c Language    : German
@c Original    : Miscellaneous.texi revision 1.28
@c Translation : Dr. Dieter Kaiser
@c Date        : 03.01.2011
@c 
@c This file is part of Maxima -- GPL CAS based on DOE-MACSYMA
@c -----------------------------------------------------------------------------

@menu
* Einf@"uhrung in Verschiedenes::
* Share-Pakete::
* Funktionen und Variablen f@"ur Verschiedenes::
@end menu

@c -----------------------------------------------------------------------------
@node Einf@"uhrung in Verschiedenes, Share-Pakete, Verschiedenes, Verschiedenes
@section Einf@"uhrung in Verschiedenes
@c -----------------------------------------------------------------------------

Dieses Kapitel enth@"alt verschiedene Funktionen und Optionsvariablen.

@c -----------------------------------------------------------------------------
@node Share-Pakete, Funktionen und Variablen f@"ur Verschiedenes, Einf@"uhrung in Verschiedenes, Verschiedenes
@section Share-Pakete
@c -----------------------------------------------------------------------------

Das Maxima Share-Verzeichnis enth@"alt viele weitere zus@"atzliche Funktionen
und Erweiterungen, die nicht Teil des Kernels von Maxima und in Paketen
organisiert sind.  Diese Pakete werden mit der Funktion @code{load} geladen. 
Einige Pakete werden automatisch geladen, wenn der Nutzer eine Funktion
des Paketes aufruft.  Mit der Funktion @code{setup_autoload} k@"onnen Funktionen
f@"ur das automatische Laden konfiguriert werden.

Die Lisp-Variable @code{*maxima-sharedir*} enth@"alt das Verzeichnis der Pakete.
Das Kommanod @code{printfile("share.usg")} gibt eine @"Ubersicht @"uber Pakete 
aus.  Diese ist jedoch derzeit stark veraltert.

@c TODO: FUEGE HIER EINE AUFSTELLUNG DER SHARE-PAKETE EIN.

@c -----------------------------------------------------------------------------
@node Funktionen und Variablen f@"ur Verschiedenes,  , Share-Pakete, Verschiedenes
@section Funktionen und Variablen f@"ur Verschiedenes
@c -----------------------------------------------------------------------------

@c --- 22.10.2010 DK -----------------------------------------------------------
@anchor{askexp}
@defvr {Systemvariable} askexp

@c TODO: KANN DIESE DOKUMENTATION ENTFERNT WERDEN?

@c When @code{asksign} is called, @code{askexp} is the expression @code{asksign}
@c is testing.

Wenn @code{asksign} aufgerufen wird, enth@"alt @code{askexp} den Ausdruck, der 
von @code{asksign} getestet wird.

@c At one time, it was possible for a user to inspect @code{askexp} by entering
@c a Maxima break with control-A.

Es war einmal m@"oglich, die Variable @code{askexp} nach einer Unterbrechnung 
mit Control-A zu inspezieren.
@end defvr

@c -----------------------------------------------------------------------------
@anchor{gensym}
@deffn  {Function} gensym ()
@deffnx {Function} gensym (@var{x})

@code{gensym()} creates and returns a fresh symbol.

The name of the new-symbol is the concatenation of a prefix, which defaults to 
"g", and a suffix, which is the decimal representation of a number that defaults
to the value of a Lisp internal counter.

If @var{x} is supplied, and is a string, then that string is used as a prefix 
instead of "g" for this call to gensym only.

If @var{x} is supplied, and is an integer, then that integer, instead of the 
value of the internal Lisp integer, is used as the suffix for this call to 
gensym only.

If and only if no explicit suffix is supplied, the Lisp internal integer is 
incremented after it is used.

Examples:

@example
(%i1) gensym();
(%o1)                         g887
(%i2) gensym("new");
(%o2)                        new888
(%i3) gensym(123);
(%o3)                         g123
@end example
@end deffn

@c -----------------------------------------------------------------------------
@anchor{packagefile}
@defvr {Option variable} packagefile
Default value: @code{false}

Package designers who use @mref{save} or @mref{translate} to create packages
(files) for others to use may want to set @code{packagefile: true} to prevent
information from being added to Maxima's information-lists (e.g.
@mrefcomma{values} @mref{functions}) except where necessary when the file is
loaded in.  In this way, the contents of the package will not get in the user's
way when he adds his own data.  Note that this will not solve the problem of
possible name conflicts.  Also note that the flag simply affects what is output
to the package file.  Setting the flag to @code{true} is also useful for
creating Maxima init files.
@end defvr

@c --- 29.12.2010 DK -----------------------------------------------------------
@anchor{remvalue}
@deffn  {Funktion} remvalue (@var{name_1}, @dots{}, @var{name_n})
@deffnx {Funktion} remvalue (all)

Entfernt die Werte von nutzerdefinierten Variablen @var{name_1}, @dots{}, 
@var{name_n}.  Die Variablen k@"onnen indiziert sein.
@code{remvalue(all)} entfernt die Werte aller Variablen, die in der 
Informationsliste @code{values} enthalten sind.

Siehe auch @mrefdot{values}
@end deffn

@c --- 29.12.2010 DK -----------------------------------------------------------
@anchor{rncombine}
@deffn {Funktion} rncombine (@var{expr})

Transformiert den Ausdruck @var{expr} so, dass alle Terme mit identischem Nenner
oder Nennern, die sich nur um einen numerischen Faktor voneinander 
unterscheiden, @"uber einen Nenner zusammengefasst werden. Die Funktion
@code{combine} fasst ebenfalls Ausdr@"ucke @"uber einen Nenner zusammen, 
betrachtet aber Nenner als verschieden, die sich um einen Zahlenfaktor 
voneinander unterscheiden.

Die Funktion wird mit dem Kommando @code{rncomb} geladen.
@end deffn

@c --- 03.01.2011 DK -----------------------------------------------------------
@anchor{setup_autoload}
@deffn {Funktion} setup_autoload (@var{filename}, @var{function_1}, @dots{}, @var{function_n})

Die Funktionen @var{function_1}, @dots{}, @var{function_n} erhalten die 
Eigenschaft, dass die Datei @var{filename} automatisch geladen wird, wenn die 
Funktion zum ersten Mal genutzt werden soll.  @var{filename} wird mit der 
Funktion @code{load} geladen und enth@"alt @"ublicherweise den Code f@"ur die 
Definition der zu ladenden Funktion.

@code{setup_autoload} funktioniert nicht f@"ur Array-Funktionen.
@code{setup_autoload} wertet die Argumente nicht aus.

Beispiele:

@c ===beg===
@c legendre_p (1, %pi);
@c setup_autoload ("specfun.mac", legendre_p, ultraspherical);
@c ultraspherical (2, 1/2, %pi);
@c legendre_p (1, %pi);
@c legendre_q (1, %pi);
@c ===end===
@example
(%i1) legendre_p (1, %pi);
(%o1)                  legendre_p(1, %pi)
(%i2) setup_autoload ("specfun.mac", legendre_p, ultraspherical);
(%o2)                         done
(%i3) ultraspherical (2, 1/2, %pi);
Warning - you are redefining the Macsyma function ultraspherical
Warning - you are redefining the Macsyma function legendre_p
                            2
                 3 (%pi - 1)
(%o3)            ------------ + 3 (%pi - 1) + 1
                      2
(%i4) legendre_p (1, %pi);
(%o4)                          %pi
(%i5) legendre_q (1, %pi);
@group
                              %pi + 1
                      %pi log(-------)
                              1 - %pi
(%o5)                 ---------------- - 1
                             2
@end group
@end example
@end deffn

@c --- End of Miscellaneous.texi -----------------------------------------------

