Startparameter zu Mavscript


Der Aufruf java -jar mavscript*.jar --help gibt folgende Ausgabe, welche die zur Verfügung stehenden Startparameter auflistet:

            Willkommen zu Mavscript
            Copyright (c) A. Vontobel, 2004-2016
            Version 2.0

Gebrauch:
java -jar mavscript*.jar [OPTIONEN] [-A] [-D Steuerzeichen] 
                         [-y | -b | -j | -p Port [-s Server]] 
                         [-z Name_in_ZIP] [-i Vorlaufdatei] 
                         [-o Zieldatei] 
                         [Vorlagedatei] 

-v, --verbose               Ausfuehrliche Ausgaben
-q, --quiet                 Keine Meldungen auf stdout
-l, --language              Sprache (z.B. de)
-h, --help                  Ausgabe dieser Hilfe
-V, --version               Ausgabe von Versionsinformation
-y, --yacas                 Yacas Algebra (Standard)
-b, --beanshell             BeanShell Java-Interpreter
-j, --jasymca               Jasymca (Octave Modus)
-p, --port Port             Port (z.B.: 9734)
-s, --server Server         Name des Servers (vorgegeben: 127.0.0.1)
-z, --name_in_zip Name      Dateiname in ZIP
-i  --init Datei            Liest zuerst die Anweisungen dieser Datei ein.
-H, --HTML                  Akzeptiert HTML-Spezialzeichen (z.B. >)
-L, --leavetags             Belaesst xml-Tags in Office-Dateien.
-A, --ascii                 Kodiert Unicode-Zeichen in Ascii-Zeichenfolge.
-C, --charset Kodierung     Zeichenkodierung festlegen (vorgegeben UTF-8)
                            Beispiele: ISO-8859-1, system 
-D, --controlchar §-Ersatz  Setzt das Anweisungszeichen (vorgegeben: §). 
-x, --extract               Schreibt die Anweisungen in die Zieldatei. 
                            Es wird keine Berechnung durchgefuehrt. 
-o  --outfile Zieldatei     Name der Zieldatei (vorgegeben out-VorlagedateiName)
                            Ausgabe auf stdout: -. 
Vorlagedatei                Vorlagedatei. Ohne Angabe wird von stdin gelesen.

OpenOffice-Writer Dateien mit der Endung .odt werden automatisch erkannt.
Die Option "-H -z content.xml" kann daher weggelassen werden.
Mavscript verwendet standardmaessig das Algebraprogramm Yacas. Alternativ
koennen der Java-Interpreter Beanshell oder Jasymca verwendet werden. Ausserdem
kann Mavscript ueber einen Port zu einem externen Programm Verbindung aufnehmen.

Beispiele:
java -jar mavscript*.jar vorlage.txt    Schreibt die Datei out-vorlage.txt
java -jar mavscript*.jar vorlage.odt    Schreibt die Datei out-vorlage.odt
java -jar mavscript*.jar -D$ alteVorlage.txt
java -jar mavscript*.jar --init StdFunktionen.ys vorlage.odt
java -jar mavscript*.jar -o ergebnis.odt vorlage.odt


Anstelle von java -jar mavscript*.jar (das * steht für die Versionsnummer), kann auch kurz mavscript (oder ./mavscript-yacas ) geschrieben werden. Also zum Beispiel mavscript --help .
Wird keine Vorlagedatei angegeben, liest Mavscript von der Standardeingabe stdin.

Zu den einzelnen Parametern:

--verbose, -v

Macht das Programm gesprächig, d.h. während Mavscript arbeitet, werden ausführlich Informationen ausgegeben. Insbesondere wird jede in der Quelldatei ausgelesene Matheanweisung angezeigt. Unmittelbar auf jede Anweisung folgt die Antwort, welche vom Computer-Algebra-System zurückkommt. Dieser Modus ist hilfreich, wenn die Vorlage nicht so verarbeitet wird, wie erwartet wurde.

--quiet, -q

Wird diese Option aufgerufen, schreibt Mavscript keine Meldungen auf die Standardausgabe (stdout). Diese Option wird automatisch aufgerufen, wenn das Resultat auf stdout ausgegeben wird.

-- language, -l

Beispiel: --language de

--yacas, -y

Wird diese Option aufgerufen, verwendet Mavscript das eingebaute Computer-Algebra-System Yacas. Diese Option ist standardmässig aktiviert.

--beanshell, -b

Wird diese Option aufgerufen, verwendet Mavscript den eingebauten Java-Interpreter BeanShell.

--jasymca, -j

Wird diese Option aufgerufen, verwendet Mavscript das eingebaute Computer-Algebra-System Jasymca (Octave Modus).

--port, -p

Beispiel: --port 9734

Wird diese Option aufgerufen, verwendet Mavscript ein externes Programm zur Auswertung der mathematischen Ausdrücke. Die Verbindung zwischen Mavscript und dem Computer-Algebra-System erfolgt über einen Port, ähnlich wie eine Verbindung ins Internet. Mavscript sendet Anweisungen in Textform und empfängt die jeweilige Antwort als Text.
Wichtig ist, dass beide beteiligten Programme die gleiche Portnummer verwenden. Das externe Programm muss die Portnummer abhören (auf dem lokalen oder einem entfernten Computer), wenn Mavscript ausgeführt wird.
Beispiel: C-Version von Yacas mit dem Befehl yacas --server 9734 starten, anschliessend mavscript --port 9734 ./vorlage.txt ausführen.

--server, -s

Beispiel: --server localhost
Keine Angabe ist gleichbedeutend mit: --server 127.0.0.1

Das Computer-Algebra-System muss nicht auf dem eigenen Rechner laufen. Mavscript kann sich über eine Internetadresse mit dem Server (dem Algebraprogramm) verbinden.

--name_in_zip, -z

Beispiel: --name_in_zip content.xml

Mavscript kann auch eine Vorlagedatei verarbeiten, welche in einem zip-Archiv gepackt ist. Da im Archiv mehrere Dateien enthalten sein können, muss angegeben werden, wie die Vorlagedatei im Archiv heisst. Als Ergebnis erstellt Mavscript ein neues zip-Archiv, welches die verarbeitete Vorlagedatei sowie sämtliche anderen im Quellarchiv gepackten Dateien enthält.
Ein wichtiges Beispiel sind die OpenOffice-Writer Dateien (Endung .odt oder .sxw). Sie sind normale zip-Archive, welche nebst dem eigentlichen Text (in der Datei content.xml) andere Dateien enthalten: eingebundene Bilder, Formatierungsinformationen, etc. Weil dieses Format weit verbreitet ist und sich für den Einsatz von Mavscript anbietet, erkennt Mavscript Dateien mit den Endungen .odt und .sxw automatisch als OpenOffice Dateien. Die Option -z content.xml kann daher weggelassen werden.

--init, -i

Beispiel: --init lib/init.ys

Diese Option ist nützlich, wenn Funktionen immer wieder verwendet werden. Man kann sie in einer separaten Anweisungsdatei abspeichern und Mavscript mit der Option --init Anweisungsdatei aufrufen.
Die Anweisungsdatei wird ausgeführt bevor Mavscript mit der Verarbeitung der Vorlagedatei beginnt. Die Anweisungsdatei wird nur gelesen, sie bleibt unverändert.

In den Modi --yacas (Standard), --beanshell und --jasymca wird die Anweisungsdatei durch Yacas resp. BeanShell oder Jasymca selbst geladen. Die Syntax entspricht darum jener des verwendeten Interpreters. Mavscript-Steuerzeichen (§m, §i, etc.) dürfen deswegen nicht verwendet werden.

Im Modus --port sendet Mavscript die in der Anweisungsdatei enthaltenen Anweisungen an das externe Programm. In der Anweisungsdatei wird jede Zeile als Anweisung betrachtet, es werden keine Mavscript-Steuerzeichen (§m, §i, etc.) verwendet. Zeilen, welche mit den Zeichen #, // oder /* beginnen, sind Kommentare und werden nicht an das Algebraprogramm gesendet. Leere Zeilen sind erlaubt.

--HTML, -H

Mit dieser Option akzeptiert Mavscript HTML-Zeichenfolgen (z.B. > für > ). Enthält eine Anweisung die Zeichenfolge > , wird jene in das Zeichen > umgewandelt, bevor sie an den Interpreter übergeben wird. Bei Dateien mit den Endungen .odt, .sxw und .html wird diese Option automatisch gewählt.

--leavetags, -L

Belässt xml-Tags in Office-Dateien. Dies entspricht dem Verhalten bis Version 0.17.
Nützlich in Kombination mit --extract.

--ascii, -A

Diese Option erlaubt die Nutzung von Unicode-Zeichen (z.B. griechische Buchstaben) in Anweisungen, auch wenn das Computer-Algebra-System, wie Yacas (bis 1.3.6), nur Ascii-Zeichen erlaubt. Sie ist nicht notwendig wenn der Interpreter Unicode unterstützt, so wie BeanShell.
Die Option weist Mavscript an, in Anweisungen enthaltene Nicht-Ascii-Zeichen in ein hexadezimales Format zu konvertieren (z.B. ω zu escu03c9) bevor sie ans Computer-Algebra-System weitergeleitet werden. Die in den Text einzusetzende Antwort wird zurückkonvertiert.

--charset, -C

Beispiel: --charset ISO-8859-1
Keine Angabe ist gleichbedeutend mit: --charset UTF-8

Standardmässig verwendet Mavscript den Unicode-Zeichensatz im Format UTF-8. Wenn in der Zieldatei Umlaute oder griechische Buchstaben falsch dargestellt werden, kann man mit dieser Option einen anderen Zeichensatz vorschreiben. Da das Programm den gleichen Zeichensatz sowohl zum Lesen wie auch zum Schreiben anwendet, funktioniert häufig auch ein falscher Zeichensatz, z.B ISO-8889-1 (westeuropäisch) anstelle von CP1253 (griechisch). Mit dem Parameter --charset system wird erreicht, dass der Systemzeichensatz verwendet wird.
Diese Einstellung hat keinen direkten Einfluss auf die Kommunikation zwischen Mavscript und dem Computeralgebrasystem.

--controlchar, -D

Beispiel: --controlchar %
Keine Angabe ist gleichbedeutend mit: --controlchar §

Mavscript erkennt Anweisungen für das Computeralgebrasystem, wenn sie zwischen den Steuerzeichen §m und §i, §io oder §n liegen. An Stelle des §-Zeichens kann ein anderes Zeichen (oder eine Zeichenfolge) verwendet werden. -D % bewirkt, dass Mavscript die Steuerzeichen %m, %i, %io, %o und %n erwartet.

--extract, -x

Wenn diese Option gesetzt ist, werden die Anweisungen aus der Vorlage extrahiert und in die Zieldatei geschrieben. Es wird keine Berechnung durchgeführt. Diese Option ist nützlich um Vorlagen auf Fehler zu untersuchen (debug).
Wenn der Name der Zieldatei nicht durch --outfile angegeben wird, heisst die Zieldatei out-VorlagedateiName.ys (Modus --yacas), out-VorlagedateiName.bsh (Modus --beanshell), out-VorlagedateiName.m (Modus --jasymca) oder out-VorlagedateiName.txt

--outfile, -o

Beispiel: --outfile ergebnis.odt
Keine Angabe ist gleichbedeutend mit: --outfile out-VorlagedateiName

Um auf die Standardausgabe (stdout) zu schreiben: --outfile -  . Wenn die Eingabe über die Standardeingabe kommt, erfolgt ohne anders lautende Angabe die Ausgabe auf  die Standardausgabe.
Beispiel: cat Vorlagedatei.txt | mavscript > ergebnis.txt