This is documentation for Mathematica 4, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)

 Documentation /  Mathematica /  Das Mathematica Buch /  Die Prinzipien von Mathematica /  Textförmige Eingabe und Ausgabe /

Operatoren ohne eingebaute BedeutungenFortgeschrittenes Thema: Regeln für elementare Eingabe und Ausgabe

2.8.16 Definition von Ausgabeformaten

So, wie Mathematica Ihnen erlaubt, zu definieren, wie Ausdrücke evaluiert werden sollen, so erlaubt es Ihnen auch, zu definieren, wie Ausdrücke für die Ausgabe formatiert werden sollen. Es gilt folgendes Grundprinzip: Wann immer Mathematica einen Ausdruck zur Ausgabe-Formatierung erhält, ruft es zuerst Format[ausdr] auf, um herauszufinden, ob irgendwelche Regeln zur Formatierung des Ausdrucks definiert worden sind. Durch Zuweisen eines Wertes zu Format[ausdr] kann so Mathematica mitgeteilt werden, daß eine bestimmte Ausdrucksart auf besondere Weise ausgegeben werden soll.

Dies weist Mathematica an, bin-Objekte auf besondere Weise zu formatieren.

In[1]:= Format[bin[x_, y_]] := MatrixForm[{{x}, {y}}]

Nun werden bin-Objekte so ausgegeben, daß sie wie Binomialkoeffizienten aussehen.

In[2]:= bin[i + j, k]

Out[2]=

Intern sind bin-Objekte immer noch „nur" bin-Objekte.

In[3]:= FullForm[%]

Out[3]//FullForm=

Definieren eigener Regeln zur Formatierung

Durch Aufstellen von Definitionen für Format können Sie Mathematica anweisen, einen bestimmten Ausdruck so zu formatieren, daß er wie ein anderer aussieht. Sie können auch Mathematica anweisen, ein Programm auszuführen, mit dem ermittelt wird, wie ein bestimmter Ausdruck formatiert werden soll.

Dies spezifiziert, daß Mathematica ein einfaches Programm ausführen soll, um zu ermitteln, wie xrep-Objekte formatiert werden sollen.

In[4]:= Format[xrep[n_]] := StringJoin[Table["x", {n}]]

Die Zeichenketten werden erstellt, wenn das jeweilige xrep formatiert wird.

In[5]:= xrep[1] + xrep[4] + xrep[9]

Out[5]=

Intern enthält der Ausdruck jedoch noch xrep-Objekte.

In[6]:= % /. xrep[n_] -> x^n

Out[6]=

Ausgabeformen für Operatoren

f wird durch den „Präfix-Operator" <> dargestellt.

In[7]:= Prefix[f[x], "<>"]

Out[7]=

Hier ist eine Ausgabe mit dem „Infix-Operator" .

In[8]:= s = Infix[{a, b, c}, "<>"]

Out[8]=

In Voreinstellung wird angenommen, daß der „Infix-Operator" eine höhere Rangordnung als ^ hat, daher werden keine runden Klammern eingefügt.

In[9]:= s^2

Out[9]=

Bei einer Ausgabeform mit Operatoren taucht die Frage auf, ob die Argumente einiger Operatoren geklammert werden sollen. Dies hängt von der Rangordnung der Operatoren ab (siehe Abschnitt 2.1.3). Wenn Sie Ausgabeformen erstellen, die Operatoren enthalten, können Sie die Rangordnung, die jedem Operator zugewiesen werden soll, mit PrecedenceForm spezifizieren. Mathematica benutzt ganze Zahlen von 1 bis 1000 zur Darstellung der Rangordnungswerte. Je höher der Rangordnungswert für einen Operator ist, desto weniger muß er geklammert werden.

Hier wird als ein Operator mit dem Rangordnungswert 100 behandelt. Die Rangordnung erweist sich als so niedrig, daß Klammern eingefügt werden.

In[10]:= PrecedenceForm[s, 100]^2

Out[10]=

Wenn Sie eine Zuweisung für Format[ausdr] erstellen, so definieren Sie die Ausgabeform für ausdr in allen Mathematica-Standardausgabeformaten. Mit Definitionen für Format[ausdr, typ] können Sie Formate definieren, die in speziellen Ausgabeformen verwendet werden sollen.

Dies spezifiziert die TeXForm für das Symbol x.

In[11]:= Format[x, TeXForm] := "{\\bf x}"

Die von Ihnen spezifizierte Ausgabeform für x wird jetzt immer dann benutzt, wenn die TeX-Form benötigt wird.

In[12]:= TeXForm[1 + x^2]

Out[12]//TeXForm= 1 + {{\bf x}}^2

Operatoren ohne eingebaute BedeutungenFortgeschrittenes Thema: Regeln für elementare Eingabe und Ausgabe