Next: Funktionen und Variablen der Eingabe, Previous: Kommandozeile, Up: Kommandozeile [Contents][Index]

### 4.1 Einführung in die Kommandozeile

#### Konsole

Für Maxima sind verschiedene Nutzeroberflächen erhältlich. Oberflächen, die je nach Betriebssystem bereits mit der Installation von Maxima zur Verfügung stehen, sind wxMaxima, Xmaxima, Imaxima und die Konsole.

Die Konsole (oder das Terminal) arbeitet in einem Textmodus. Für die Ausgabe in einem grafischen Modus mit einer menügesteuerten Eingabe müssen andere Nutzeroberflächen verwendet werden.

In dieser Dokumentation wird ausschließlich die Konsole eingesetzt, die unter allen Betriebssystemen zur Verfügung steht. Der Nutzer kann alle Maxima-Funktionen in einer Konsole nutzen. Im Textmodus der Konsole werden die Ergebnisse in der Regel in einem 2D-Modus dargestellt. Für die Ausgabe von Funktionsgraphen werden von Maxima Hilfsprogramme wie GNUPlot aufgerufen.

#### Eingabe, Auswertung, Vereinfachung und Ausgabe

Jede Eingabe des Nutzers in einer Konsole bis zur Ausgabe eines Ergebnisses auf der Konsole kann in vier Phasen eingeteilt werden:

1. Von der Tastatur oder aus einer Datei wird ein Ausdruck eingelesen und vom Parser in eine interne Darstellung umgewandelt. In dieser 1. Phase werden inbesondere Operatoren wie "+", "/" oder "do" behandelt.
2. Der vom Parser eingelesene Ausdruck wird von Maxima in der 2. Phase ausgewertet. Dabei werden Variablen durch ihren Wert ersetzt und Funktionen wie die Substitution oder Integration eines Ausdrucks ausgeführt. Das Ergebnis dieser Phase ist ein ausgewerteter Ausdruck.
3. Der ausgewertete Ausdruck wird in der 3. Phase von Maxima vereinfacht. Dabei werden Ausdrücke wie `a+a` zu `2*a` oder `sin(%pi/2)` zu `1` vereinfacht.
4. Das Ergebnis ist ein ausgewerteter und vereinfachter Ausdruck. Zuletzt wird dieses Ergebnis in der 4. Phase für die Anzeige vorbereitet und auf der Konsole ausgegeben.

Der Nutzer kann auf jede einzelne Phase Einfluß nehmen. Verschiedene Kapitel der Dokumentation befassen sich mit diesen Möglichkeiten. In diesem Kapitel werden die Kommandos und Möglichkeiten zusammengestellt, die sich mit der Eingabe und Ausgabe auf der Konsole befassen. In Auswertung wird beschrieben wie auf die Auswertung und in Vereinfachung wie auf die Vereinfachung einer Eingabe Einfluss genommen werden kann.

#### Marken

Maxima speichert alle Eingaben in den Marken `%i` und die Ausgaben in den Marken `%o` ab. Die Marken erhalten eine laufende Nummer. Weiterhin erzeugen einige Funktionen Zwischenmarken `%t`. Andere Systemvariablen speichern das letzte Ergebnis oder die letzte Eingabe ab. Folgende Symbole bezeichnen Variablen und Funktionen für die Verwaltung der Marken:

       __          _
       %           %%           %th
       inchar      linechar     outchar
       linenum     nolabels

#### Informationslisten

Maxima verwaltet Informationslisten. Die verfügbaren Informationslisten sind in der Systemvariablen `infolists` enthalten. In diesem Kapitel werden die Informationslisten `labels`, `values` und `myoptions` erläutert. Wird eine Optionsvariable vom Nutzer gesetzt, kontrolliert die Optionsvariable `optionset` die Ausgabe weiterer Informationen. Folgende Symbole bezeichnen Variablen und Funktionen für Informationslisten und Optionsvariablen:

       infolists     labels        values
       myoptions     optionset

Weitere Informationslisten, die in anderen Kapiteln erläutert werden, sind:

       functions      arrays         macros
       rules          aliases        dependencies
       gradefs        props          let_rule_packages
       structures     namespaces

#### Löschen und Rücksetzen

Um eine Maxima-Umgebung herzustellen, in der keine Variablen oder Funktionen definiert sind, oder um einzelne Zuweisungen, Eigenschaften oder Definitionen zu entfernen, kennt Maxima die folgenden Funktionen:

       kill     reset     reset_verbosely

#### Weitere Kommandos der Kommandozeile

Mit den Symbolen `?` und `??` kann Dokumentation abgerufen werden. Wird `?` einem Bezeichner als Präfix vorangestellt, wird der Bezeichner als Lisp-Symbol interpretiert. Mit weiteren Kommandos kann eine Maxima-Sitzung beendet oder zu einer Lisp-Sitzung gewechselt werden. Das Zeichen für die Eingabeaufforderung einer Unterbrechung kann geändert werden. Die Zeit für jede einzelne Berechnung kann angezeigt werden und die Ergebnisse einer Sitzung können wiederholt ausgegeben werden. Maxima kennt hierfür die folgenden Symbole:

       ?            ??
       playback     prompt     showtime
       quit         to_lisp

Die Funktionen `read` und `readonly` geben Ausdrücke auf der Konsole aus und lesen dann die Eingabe des Nutzers ein:

       read               readonly

#### Ausgabe auf der Konsole

Für die Ausgabe werden Ausdrücke von einer internen Darstellung in eine externe Darstellung transformiert. Zum Beispiel hat die Eingabe `sqrt(x)` eine interne Darstellung, die dem Ausdruck `x^(1/2)` entspricht. Für die Ausgabe wird die interne Darstellung in einen Ausdruck transformiert, die der Ausgabe `sqrt(x)` entspricht. Dieses Verhalten wird von der Optionsvariablen `sqrtdispflag` kontrolliert. Siehe Ausdrücke für Funktionen, die die interne und externe Darstellung von Ausdrücken unterscheiden.

Folgende Optionsvariablen und Symbole kontrollieren die Ausgabe auf der Konsole:

       %edispflag         absboxchar       display2d
       display_format_internal             exptdispflag
       expt               nexpt            ibase
       linel              lispdisp         negsumdispflag
       obase              pfeformat        powerdisp
       sqrtdispflag       stardisp         ttyoff

Mit folgenden Funktionen kann die Ausgabe auf der Konsole formatiert werden:

       disp               display          dispterms
       grind              ldisp            ldisplay
       print

Next: Funktionen und Variablen der Eingabe, Previous: Kommandozeile, Up: Kommandozeile [Contents][Index]