                           MathPlot
                           ========
                           
                   by Rdiger Dreier 1991/92/93


Diese Anleitung soll eine Benutzung der ShareWareversion von MathPlot
ermglichen. Abschnitte, die mit "!!" in der ersten Spalte gekenn-
zeichnet sind, enthalten wichtige Hinweise und sollten gelesen werden.
Bei einer Registrierung erhalten Sie eine gedruckte Version der 
aktuellen Anleitung.

Zur Registrierung siehe "Registrierung.txt"

Meine Adresse:

 Rdiger Dreier
 Gustav-Winkler-Str. 40
 33699 Bielefeld
 Deutschland

Bis auf weiteres bin ich auch per EMail erreichbar:

 ruediger.dreier@post.uni-bielefeld.de








Ein wichtiger Hinweis
=====================

!!  Der Autor bernimmt keinerlei Haftung fr Schden, die aus der sach-
!!  oder unsach-gemssen Benutzung des Programms entstehen !!
!!
!!  Weiterhin wird keine Haftung fr die Fehlerfreiheit des Programms
!!  bernommen !!
!!
!!  Benutzung auf eigene Gefahr !
!!
!!  MathPlot ist SHAREWARE. 
!!  Bei regelmiger Benutzung ist die Share-Gebhr zu bezahlen. 
!!  Nheres siehe weiter unten. Dazu bitte das Formular aus 
!!  "Registrierung.txt" benutzen !
  

Zu dieser Version von MathPlot
==============================

!! Diese Version des Programms ist eine Demoversion mit leichten
!! Einschrnkungen (Es erscheint in regelmigen Abstnden ein 
!! Nervrequester). Sie darf unter folgenden Bedingungen weiter-
!! gegeben werden:

   -  Der Copyrighttext darf nicht verndert worden sein.
     
   -  Es darf mit dem Vertrieb des Programms KEIN Geld verdient werden (also 
      nur Kosten fr Porto, Material und eine KLEINE Gebhr fr die Ab-
      nutzung der Kopieranlage, Strom etc.)

   -  Das Programmpaket darf nicht verndert worden sein.

   -  Das Programmpaket mu vollstndig sein, also smtliche Teile der
      Anleitung (in mindestens einer Sprache) und eine lauffhige Version 
      von MathPlot sowie eine Version der mtool.library mssen zusammen 
      weitergegeben werden.
      
   -  Will jemand MathPlot (oder einen Teil davon) oder die mtool.library
      (oder einen Teil davon) kommerziell nutzen (z.B. in eine sogenannte
      "PD-Disk-Serie" mit einem Verkaufspreis von ber DM 5,-- je Diskette
      oder eine CD mit PD-Soft fr ber DM 60,- aufnehmen), so ist dafr 
      die schriftliche Genehmigung des Autors ntig.
      
   -  Es IST erlaubt, die Textdateien in andere Sprachen zu bersetzen
      und zusammen mit diesem Programm weiterzugeben. Wer sich diese
      Mhe gemacht hat, sende mir bitte die entsprechende Datei zu. Dann
      bitte auch mitteilen, ob ich diese Datei bei den Demo-Version und
      den registrierten Versionen von MathPlot beilegen darf !
      
   -  Es IST erlaubt und erwnscht, da diese Demoversion in 
      elektronischen Netzwerken verbreitet wird.
      
      

Sharegebhr
===========

Wird dieses Programm regelmig benutzt, so ist die Sharegebhr zu bezahlen.
Sie betrgt DM 30,-- oder (US)$ 20,-- und ist unter Angabe des Programmnamens
und der Programmversion (mglichst auch wo man sie gefunden hat) an die
oben stehende Adresse zu senden (bitte das Formular aus "Registrierung.txt"
benutzen). Dafr erhlt man

   -  Die neuste Version von Math-Plot (Vollversion). Diese Version darf
      NICHT weitergegeben werden.
      
   -  Eine gedruckte Anleitung (die Vollversion von dieser, bitte angeben, 
      ob Deutsch oder Englisch, andere Sprachen stehen NICHT zur Ver-
      fgung).
      
   -  Updateservice. Neuere Versionen knnen (falls vorhanden) gegen
      Einsendung einer Leerdiskette, Rckporto und Umschlag
      unter Angabe der Registriernummer angefordert werden. Bitte die
      vorhandene Version angeben. Sollte keine neuere Version vorliegen, oder
      die Vernderungen zu minimal sein, werde ich mit der Antwort warten,
      bis entsprechende Vernderungen vorhanden sind.
      Falls Sie per EMail erreichbar sind, kann ich auch in gewissen
      Abstnden die neueste Version als "UUENCODE'd" Version zuschicken.
      Der einfachste Weg ist aber, sich eine neue Demoversion von MathPlot
      aus einer Mailbox o.. zu besorgen. Zusammen mit dem Keyfile, da
      Sie bei der Registrierung erhalten, wird aus dieser Demoversion
      eine vollstndige Version des Programms.
      
Ich akzeptiere auch gltige, (bundes)deutsche Briefmarken. Der Einzelwert
einer Marke sollte nicht ber DM 1,-- liegen. Euroschecks oder bar
ist mir aber lieber.



Der Quelltext von MathPlot
==========================

Der Quelltext ist NICHT frei kopierbar und ist nur gegen Bezahlung
erhltlich. Die Gebhr hierfr betrgt DM 30,-- oder (US)$ 20,--.

!! Der Quelltext darf nicht weitergegeben oder (ohne schriftliche
!! Genehmigung) kommerziell genutzt werden. Der Quelltext ist NUR fr
!! registrierte Benutzer erhltlich.



Anwendungsgebiet
================

MathPlot ist ein Programm zum Zeichnen zweidimensionaler mathematischer
Funktionen. Es knnen bis zu 10 Funktionen eingegeben und gezeichnet
werden. Zustzlich kann man sich von jeder Funktion die erste und
zweite Ableitung zeichnen lassen (jeweils numerisch oder symbolisch
bestimmt). Weiterhin sucht das Programm Nullstellen, Extrema und
Wendestelle. Numerische Integration ist mglich. Ein ARexx-Port
zur einfachen Erweiterung des Programms steht zur Verfgung.
MathPlot eignet sich zur Untersttzung bei Kurvendiskussionen, 
um die selbst errechneten Ergebnisse zu kontrollieren.



Anforderungen an den Rechner
============================

!! Das  Programm luft nur unter  Kickstart 2.04 und hher ! 1MB
!! Speicher sollten eigentlich ausreichen, fr groe Screens ist 1MB
!! Chip-RAM nicht schlecht. Der Stack sollte mindestens 20000 Bytes
!! betragen, sonst kommt es zu leicht zu Abstrzen. Im logischen Verzeichnis
!! LIBS: mssen sich mehrere Libraries befinden:

!! -  mathieeedoubbas.library
!! -  mathieeedoubtrans.library
!! -  asl.library
!! -  mtool.library (in diesem Ordner enthalten)
!! -  diskfont.library (V36 oder hher)
!! -  iffparse.library (wird nur zum Abspeichern als IFF-Bild bentigt)

Und in S: sollten sich befinden (Nicht unbedingt ntig):

   -  mplot.prefs, diese Datei enthlt alle Voreinstellungen
   -  Funktionen.fkt, einige vordefinierte Funktionen.
   -  Konstanten.con, einige vordefinierte Konstanten
   -  Macros.mcr    , einige vordefinierte Makros.

Falls der ARexx-Port benutzt werden soll, sollte der Inhalt des
Ordner "Macros" nach REXX: kopiert werden (bei ARexx scheint ein
"assign ..... add" nicht zu funktionieren).



Die Menupunkte
==============

Es folgt eine kurze Beschreibung der verschiedenen Menupunkte. Die
Bedeutung der meisten Menupunkte sollte alleine schon aus dem Namen
hervorgehen.

 Projekt
 -------
  
  Neu
  ---
    Nach einer Sicherheitsabfrage wird der Bildschirm gelscht. Geschieht
    automatisch beim Verndern der Intervallgrenzen. Eine evt. vorhandene
    HP-Plotausgabe wird abgeschlossen. 
    
  IFF Save As
  -----------
    Dieser Menupunkt bentigt die iffparse.library. Ist sie nicht vorhanden,
    so erscheint ein Requester. Wenn sie vorhanden ist wird nach dem
    Namen gefragt, unter dem das Bild abgespeichert werden soll.
    Falls das Programm von Workbench gestartet wurde, so wird das Icon als
    Icon fr diese Datei benutzt.
    
  Funktionen laden/speichern
  --------------------------
    Nach Eingabe eines Namens wird die entsprechende Datei bearbeitet. Die 
    in der Datei enthaltenen Zeilen werden als Funktionen interpretiert, 
    bzw. die aktuellen Funktionen werden gespeichert. Das Demo-File zeigt,
    wie die Funktionen anzuordnen sind.
    
  Macros/Konstanten laden/speichern
  ---------------------------------
    Siehe bei Funktionen laden/speichern.
    
  Drucken
  -------
    Der Screen wird auf einem Preferences-Drucker ausgegeben. Whrend des
    Druckvorgangs ndert sich die Farbe des Screens. Eine HP-Ausgabe wird
    abgeschlossen.
    
  Iconify
  -------
    Der Screen wird geschlossen und auf der Workbench erscheint ein Icon
    fr das Programm. Ein Doppelklick auf das Icon startet das Programm
    wieder. Die alten Funktionen etc. sind noch erhalten. Sollte nicht
    gengend Speicher vorhanden sein, um einen Screen zu ffnen, so wird
    das Programm beendet. Als Icon wird das Icon des Programms benutzt,
    falls es von der Workbench gestartet wurde. Bei Start von CLI 
    funktioniert Iconify nicht.
    
  About
  -----
    Es werden Informationen ber das Programm (Versionsnummer) und den Autor
    angezeigt. Ebenso wird der Name des PublicScreens und des ARexx-Ports
    angezeigt. In neueren Versionen werden vielleicht noch mehr Daten
    angezeigt.
    
  Ende
  ----
    Nach einer Sicherheitsabfrage wird das Programm beendet (natrlich nur,
    falls die Sicherheitsabfrage entsprechend beantwortet wurde). 
!!  Da der Screen von MathPlot ein "Public-Screen" ist, kann es passieren,
!!  da zu diesem Zeitpunkt noch ein FREMDES Fenster auf dem Screen
!!  ist. In diesem Fall wird das Programm NICHT beendet und es erscheint
!!  eine Mitteilung.

 Zeichnen
 --------
   
  Funkionen ndern
  ---------------- 
    Nach Anwahl dieses Menupunktes erscheint ein Untermenu mit den bisher
    eingegebenen Funktionen (es werden die ersten 14 Zeichen jeder Funktion
    angezeigt). Wird eine dieser Funktionen angewhlt, so erscheint sie in
    einem Fenster, so da sie verndert werden kann. Die Funktion mu
    mathematisch korrekt eingegeben werden.
    Wenn unpaarige Klammern vorhanden sind, erscheint das Fenster gleich
    wieder, damit man die Funktion korrigieren kann. Die vernderte Funktion
    wird mit RETURN oder durch Anwahl von "Fertig" bernommen; wird
    "Cancel" angewhlt, so wird die ursprngliche Funktion weiter verwendet. 

  Funkion #? Ableitung 
  --------------------
    Bei jedem dieser 5 Menupunkte erscheint wieder das oben beschriebene
    Untermenu. Durch Anwahl eines Untermenupunktes kann man dann bestimmen,
    welche Funktion man gezeichnet haben will. Numerische Ableitungen werden
    nach dem Sekantenverfahren bestimmt, dabei knnen schon in der ersten
    Ableitung Ungenauigkeiten auftreten, die in der zweiten Ableitung dann
    schon recht deutlich werden. Beim symbolischen Ableiten wird erst die
    Ableitung als Term bestimmt und dann normal gezeichnet. Dabei kommt es
    dann nach Anwahl der Funktion zu einer kurzen Verzgerung, in der die
    Ableitung bestimmt wird. Diese Methode ist genauer, hat aber auch ihre
    Nachteile:

  - Das Bilden der Ableitung ist ein rekursiver Vorgang. Der Stack sollte 
    daher ausreichend (mind. 20000 Bytes) sein. Kommt es zu unerklrlichen 
    Abstrzen, sollte man ihn noch weiter erhhen.
    
  - Einige der verwendbaren Funktionen sind nicht ohne weiteres abzuleiten.  
    Die Ableitung von sgn ist z.B. fast berall Null, nur um Null herum ist 
    sie nicht definiert. Das Programm setzt dafr aber einfach Null ein.
    
  - Auerdem wird z.B. die Ableitung von ln zu 1/x bestimmt und auch so 
    gezeichnet, d.h. auch im negativen Bereich gezeichnet, obwohl ln dort 
    berhaupt nicht definiert ist.
    
    
  Diskussion
  ----------
    Unter diesem Menupunkt kann man sich eine grobe Kurvendiskussion
    erstellen lassen (Nullpunkte, Wendepunkte und Extrempunkte). Diese
    Punkte werden nur fr das eingegebene Intervall bestimmt. Auerdem
    wird die Funktion sowie die erste und zweite Ableitung angezeigt (wenn
    dies gewnscht ist). Bei Extremstellen wird angegeben, ob es ein 
    Minimum oder Maximum ist, bei Wendestellen, ob es eine rechts/links 
    "Kurve" oder umgekehrt ist.
    Mit dem Menupunkt Diskussion des Bearbeiten-Menus kann bestimmt
    werden, ob bei diesem Menupunkt
     - kleine Zahlen auf Null gerundet werden sollen
     - die Ausgabe auf dem Bildschirm erscheinen soll
     - die Ausgabe in eine Datei geschrieben werden soll
     - nach jedem Diskussionsabschnitt gewartet werden soll
     - die Funktionsterm und Ableitungen angezeigt werden sollen.


  WICHTIG  !!!
  ============
!!  Ich bernehme keinerlei Verantwortung fr die Richtigkeit der
!!  Ableitungen oder anderer Ergebnisse dieses Programms ! Nie blind auf die
!!  Ergebnisse vertrauen, lieber nochmal von Hand nachrechnen !!!!

  Num. Integration
  ----------------
    Hier knnen Sie eine Funktion numerisch Integrieren lassen. In dem
    erscheinenden Fenster wird die angewhlte Funktion angezeigt (sie kann
    hier auch noch verndert werden !), auerdem werden Start und Ende des
    Integrationsbereiches abgefragt. Schlielich mu man noch angeben, in
    wievielen Schritten gearbeitet werden soll. Meist gilt: je mehr
    Schritte, desto besser. Die Integration startet man mit "Fertig", das 
    Ergebnis wird in dem einem Textgadget angezeigt, Fehler im anderen Text-
    gadget.

    Das Fenster schliet man durch Anwahl von "Quit".


Die von diesem Programm benutzten Ableitungen
=============================================

 -   +-*/                 Das bliche 
 -   x^a                  a*x^{(a-1)}
 -   a^x                  a^x*ln{a}
 -   f(x)^{g(x)}          (g(x)*ln(f(x)))'*f(x)^{g(x)}
 -   trig. Fkt.           Das bliche 
 -   abs(x)               sgn(x) (Fr x=0 nicht richtig)
 -   int(x)               0 (Lt sich drber diskutieren) 
 -   sgn(x)               0 (Lat sich drber diskutieren) 



Die Fehlercodes des Programms
=============================

DIVBYZERO   &   1  &  Es wurde durch 0 geteilt 
LOGNEG      &   2  &  log(<=0) 
SQRTNEG     &   4  &  sqrt(<0) 
ATRIG       &   8  &  asin/acos(x), x<-1 oder x > 1 
UNPAKLAM    &   16 &  Unpaarige Klammern 
TEST        &   32 &  Wird nicht benutzt 
NOFUNC      &   64 &  Keine Funktion eingegeben
NO_KONST    &  128 &  Keine solche Konstante  
NO_MEM      &  256 &  Nicht genug Speicher     
POWERROR    &  512 &  < 0 hoch Bruch wurde versucht   
NO_FUNC     & 1024 &  Keine Funktion gefunden 
ER_AHYP     & 2048 &  Fehler bei acosh(),atanh() 


 Bearbeiten
 ----------
  Achsen/autom.
  ------------
    Es wird ein Koordinatenkreuz mit einigen Unterteilungen gezeichnet. 

  Achsen/manuell
  --------------
    Ein Fenster zur Abfrage der Anzahl Unterteilungen in x- und y-Richtung
    und der Textstellen (in der Form: Texte jede x-te Unterteilung)
    erscheint. Die Einstellungen geschehen ber Schieberegler. Die beiden
    Regler fr eine Achse sind miteinander gekoppelt, so da bei 
    "Text jede ..." kein hherer Wert eingegeben kann, als es berhaupt
    Unterteilungen gibt.

    Um das ideale Koordinatensystem zu erhalten, ist es ratsam, vor dem
    Zeichnen der Funktion die Einstellungen so lange zu variieren, bis die
    Darstellung gefllt. Ist erst einmal eine Funktion gezeichnet, so kann
    nur einmal ein Koordinatensystem gezeichnet werden, danach ist der 
    entsprechende Menupunkt nicht mehr anwhlbar. 
    Bevor die Achsen gezeichnet werden, erscheint das Fenster 
    wie unter "Text eingeben" beschrieben, um nach der Farbe fr die Achsen zu 
    fragen.


  Zoom
  ----
    Dieser Menupunkt stellt eine Art Lupenfunktion zur Verfgung. Das
    Intervall, das als nchstes gezeichnet werden soll, kann mit der Maus
    ausgewhlt werden. Die obere/linke Ecke wird mit der Maus angefahren,
    die linke Maustaste gedrckt  und gehalten und  dann die rechte/untere
    Ecke ausgewhlt und  die Maustaste losgelassen. Danach wird der 
    Bildschirm gelscht. Whrend die Maustaste gedrckt wird, wird um den
    momentan ausgewhlten Bereich ein Kasten gezeichnet. Eine evt.
    vorhandene HP-Plotausgabe wird abgeschlossen.


  Text einfgen
  -------------
    Es erscheint ein Fenster mit einem Stringgadget, in dem man einen Text
    eingeben kann. Nach RETURN wird dieser Text immer an der aktuellen
    Mausposition angezeigt und kann so positioniert werden. 
    Nach Druck auf die linke Maustaste wird der Text an der aktuellen
    Position in dem frei gewhlten Zeichensatz und der gewnschten
    Farbe gezeichnet. Diese Angaben werden bei "Font whlen" gemacht.
    
  
  Genauigkeit
  -----------
    Es  erscheinen 4 SubMenuPunkte, mit denen die Genauigkeit auf "klein",
    "mittel", "gro" oder "Sehr gro" gesetzt werden kann. Je genauer 
    gezeichnet wird, desto mehr Zeit wird bentigt.
    
    
  Intervall
  ---------
    Nach Anwahl dieses Menupunktes erscheint ein Fenster mit 4 String-
    gadgets, in denen die alten Intervallgrenzen (der Bereich, fr den
    die Funktion gezeichnet werden soll) anzeigt werden. Diese Werte kann
    man wie gewohnt verndern. Der eingegebene Term mu nur den An-
    forderungen entsprechen, die auch fr die Funktionen gelten. 
    Auerdem darf die linke/untere Grenze nicht grer/gleich sein als die 
    rechte/obere. In solchen Fllen erscheint das Fenster nach Anwahl des 
    "Fertig"-Gadget wieder. Weiterhin sind zwei Cycle-Gadgets vorhanden 
    (fr jede Achse eins). Hier wird eingegeben, wie die fr diese Achse 
    eingegebenen Werte zu interpretieren sind. Zur Verfgung stehen 
    *1, *e, *pi, 10^, e^.


  Konstanten
  ----------
    Es erscheint ein Fenster mit einem Cycle- und einem Stringgadget. Mit
    dem Cycle-Gadget wird der Name der Konstanten (a-z) eingegeben. 
    Wird der gewnschte Name angezeigt, RETURN drcken. Der Wert fr e und x 
    wird spter nirgendswo verwendet, sollte also nicht benutzt werden. Das
    Stringgadget ist zunchst deaktiviert. Wurde ein Name ausgewhlt, so
    wird es aktiviert und eine evt. vorhandene Definition der Konstanten
    wird angezeigt. Diese kann verndert bzw. neu eingegeben werden. Durch
    Anwahl des "Fertig"-Gadgets wird die Definition bernommen. Bei Anwahl 
    von "Cancel" vergit das Programm die Vernderungen, die alte Definition 
    der Konstanten wird weiter verwendet.


  Macros
  ------
    Siehe auch bei Konstanten.

    In den Funktionen wird ein Macro als_Macroname oder _Macroname(Parameter) 
    angesprochen (z.B. _a bzw. _a(2*x)). Wird ein Parameter angegeben, so 
    wird in dem Macro der Buchstabe x durch den Parameter ersetzt. Ein 
    Macro kann selbst wieder aus anderen Macros bestehen. Rekursionen 
    werden NICHT automatisch erkannt.


  HP-Ausgabe
  ----------
    Bei "An" wird der Name eines Files abgefragt, in das die Daten fr
    einen HP-Plotter geschrieben werden sollen. Alle Zeichenvorgnge incl.
    Text einfgen werden in diese Datei geschrieben. Solange dieser Modus
    aktiv ist, bleibt die Farbe des Screens verndert. Ausgeschaltet wird
    dieser Modus mit "Aus" oder durch ndern des Intervall oder durch
    normalen Ausdruck (Drucken).
    
    
  Farbe whlen oder ndern
  ------------------------
    Mit Hilfe der drei Menuunterpunkte knnen die drei Farbpaletten, die
    das Programm verwaltet, gendert werden. Diese Paletten sind fr den
    normalen Zeichenbetrieb, fr die Druckausgabe oder wenn eine 
    HP-Ausgabe aktiv ist.
    Auerdem wird hier die aktuelle Zeichenfarbe bestimmt. Die zuletzt
    im Palettenrequester aktive Farbe ist gleichzeitig die neue Zeichen-
    farbe.
    
    
  Font whlen
  -----------
    Mit den beiden Subitems "Font fr Text" und "Font fr Label" kann der 
    Zeichensatz, die Gre, der Style sowie die Vorder- und Hinter-
    grundfarbe bestimmt werden, der zum Beschriften der Achsen bzw. bei 
    Text einfgen benutzt wird.
    Zur Auswahl erscheint der Standart-Font-Requester des Systems.
    Mit dem dritten Subitem "Bildschirmfont" wird ein neuer Zeichensatz
    fr den Bildschirm bestimmt. Die Farb- und Zeichenmodusangaben haben
    keine Wirkung. Wenn OK angewhlt wurde wird ein neuer Bildschirm
    mit dem gewnschten Zeichensatz geffnet.
    
  Auflsung ndern
  ----------------
    In einer Liste werden alle verfgbaren (sinnvollen) Darstellungsmodi
    aufgelistet. Auerdem kann hier die tatschliche neue Auflsung 
    und die Anzahl Farben (bzw. die Anzahl Bitplanes) eingegeben werden.
    Sollte beim ffnen des Bildschirm etwas nicht ganz klappen, so wird
    versucht, einen Bildschirm mit den Default-Werten (die auf jedem
    Amiga laufen sollten), zu ffnen. Klappt dies auch nicht, sollte das
    Programm sich selbst beenden.

  Linienmuster ndern
  -------------------
    Mit diesem Menupunkt knnen die drei Linienmuster (Funktion, 1/2.
    Ableitung) verndert werden.
    
  Diskussion
  ----------
    Hier knnen einige Einstellungen fr den Diskussionsvorgang vor-
    genommen werden.
    
    
 AREXX
 -----
 
  ARexx-Macro starten
  -------------------
    In dem erscheinenden Requester kann ein Rexx-File ausgewhlt werden,
    das dann ausgefhrt wird. Es werden alle Dateien in rexx: mit der
    Endung ".mapl" angezeigt (im Gegensatz zur Endung ".mpl", die
    einen zustzlichen Befehl kennzeichnet und besser nicht von Hand
    gestartet werden sollten).
  ARexx-Macro zuweisen
  --------------------
    In dem AREXX-Menu sind 10 Eintrge zum direkten Starten von AREXX-Makros
    vorgesehen. Mit diesem Menupunkt werden diese Makros bestimmt.
  Makroaufnahme
  -------------
    Das Programm ist in der Lage, einfache ARexx-Skripts automatisch zu
    erstellen. Gespeichert werden: Funktion zeichnen/verndern, Konstanten
    und Macros verndern, Achsen zeichnen, Farben whlen und 
    Intervalleingabe. Ein Dateiname fr die zum Abspeichern zu benutzende 
    Datei wird abgefragt.
    
 
 Voreinstellungen
 ----------------
  Im Menu "Voreinstellungen" finden sich viele Menupunkte nocheinmal, die
  auch im Menu "Bearbeiten" vorkommen. Fr das Programm gibt es aktuelle
  Einstellungen (die z.B. beim nchsten Zeichenvorgang benutzt werden),
  diese werden mit dem "Bearbeiten"-Menu eingestellt und Voreinstellungen,
  die nach dem Programmstart aktiv sind. In diesem Menu werden die
  letztgenannten Einstellungen definiert. Diese sind dann nicht sofort
  wirksam, sondern erst, wenn das Programm neu gestartet wurde (und die
  gewnschten Einstellungen in der Datei abgespeichert wurden, die beim
  Start geladen wird) oder nachdem "Benutzen" gewhlt wurde (nach "Benutzen"
  sind NICHT alle genderten Voreinstellungen aktiv, die Textdatei z.B., die
  alle Texte des Programms enthlt, wird nur einmal beim Programmstart
  geladen).
  Im Folgenden werden nur die Menupunkte beschrieben, fr die es in den
  anderen Menus kein quivalent gibt:
  
  Auflsung
  ---------
   Beim allerersten Start ohne ein .prefs-File MUSS ein Modus und eine
   Farbtiefe explizit angewhlt werden, sonst kommt es zu Fehldarstellungen.
   
  Pfade zuweisen
  --------------
   Beim Programmstart (und nur dort, nicht nach "Benutzen") werden einige
   Dateien geladen: 
    - eine Textdatei, die alle Texte des Programms enthlt
    - je eine Datei mit Vorschlgen fr die Funktionen, Konstanten und
      Makros.
   Diese 4 Dateien werden hier abgefragt.
   Weiterhin fragt dieser Menupunkt nach dem gewnschten Namensvorschlag
   beim Abspeichern als IFF-File und beim Starten von ARexx-Makros sowie
   einen Vorschlag fr alle sonstigen Filerequester.
   
  Shortcuts
  ---------
   Da die Texte des Programms in verschiedene Sprachen bersetzt werden
   knnen mu eine Mglichkeit vorhanden sein die Tastaturabkrzungen
   fr die Gadgets selbst einzustellen. Dazu dient diese Menu.
   Es erscheint ein Stringgadget mit einigen Buchstaben. Die Anzahl
   der Buchstaben sollte NICHT verndert werden.
    - der erste Buchstabe ist der Grobuchstabe, der quivalent zur
      Anwahl von OK sein soll.
    - der zweite Buchstabe ist der Grobuchstabe, der quivalent zur
      Anwahl von Cancel sein soll.
    - Die nchsten 4 Buchstaben sind fr die Aktivierung der Stringgadet
      in einem Fenster: der erste Buchstabe fr das oberste usw.
    - Die nchsten 4 Buchstaben sind fr die beiden Cycle-Gadget im
      Intervall-Requester
    - Die nchsten 6 Buchstaben sind fr die 3 Schieberegler im Paletten-
      requester.
   Danach erscheint fr (fast) jedes Menuitem der entsprechende Requester
   nochmals und fragt nach einer Tastaturabkrzung fr dieses Menu. Mit
   Cancel kann dieser Vorgang abgebrochen werden.



Optionen und Eingabeformate
===========================

 Funktionsterme
 ==============
 
  Jeder Funktionsterm darf aus den Rechenarten +,-,*,/,^
  und den Funktionen sin, cos, tan, log, int, sgn, abs, sqr, asin, acos,
  atan, sinh, cosh, tanh, asinh, acosh, atanh, ln und den Konstanten 
  a - z und pi ohne x sowie der Variablen x bestehen. e und pi sind mit den
  erwarteten Werten vordefiniert. 
  
  Zahlen drfen normal (1; 1.1; .1) oder in Potenzschreibweise (3e5,5d-7) 
  eingegeben werden. Bei Potenzen darf vor dem Exponenten ein + oder - 
  stehen, ohne da der Exponent gleich geklammert werden mu. In der Regel 
  sollte man aber alles so klammern, da zweifelsfrei festgelegt ist, in 
  welcher Reihenfolge der Term berechnet werden soll. Es gilt natrlich 
  Potenz- vor Punkt- vor Strichrechnung.
  
  
 Optionen
 ========
  Beim Start des Programm von der Workbench kann mit dem Tooltype
  SETTINGS angegeben werden, welche Datei als Voreinstellungsdatei
  geladen werden soll. Ohne Angabe wird s:mplot.prefs geladen.




ARexx-Port
==========

 Einleitung
 ----------
  MathPlot enthlt einen ARexx-Port namens "MPlot_ARexx" (Gro/Klein-
  schreibung beachten !). Dieser ARexx-Port wurde mit Hilfe der
  ARexxBox V1.00 von Michael Balzer erstellt. Damit stehen bei allen
  Kommandos, die Werte zurckgeben, die Schlsselwrter VAR/K und STEM/K
  zur Verfgung. Ebenso gibt es die Variable RC2, die evt. eine weitere
  Fehlernummer oder einen Fehlertext enthlt.
  Die Art der Parameterbergabe und Werterckgabe entspricht den Richtlinien
  aus den "User Style Guide".
  Die Standartkommandos, die in diesem Programm eine sinnvolle Bedeutung
  haben, wurden ebenfalls bernommen.
  
 ARexx-Kommandos
 ---------------
  Es follt eine Aufzhlung und teilweise Erklrung aller vorhandener
  Kommandos. Dabei wird das Format verwendet, wie es auch das HELP-Kommando
  erzeugt. Dies ist im wesentlichen das Format, das auch die Shell-Befehle
  als Schablone benutzen. Um den Griff zum Handbuch zu vermeiden, zuerst
  eine kurze Erklrung der wichtigsten "Templates"
  
  /A - das angegebene Argument MUSS immer vorhanden sein.
  /K - das angegebene Schlsselwort MUSS mit angegeben werden, falls dieses
       Argument angegeben werden soll
  /S - Einfacher Ein/Ausschalter
  /N - Numerisches Argument
  /M - Es knnen mehrere Argumente folgen

  Bsp: PROMPT/K/A bedeutet, da immer ein Argument der Form "PROMPT argument"
       angegeben werden mu
       
  Die Liste der Befehle (diese Liste ist nicht unbeding vollstndig,
  eine immer aktuelle Liste erhlt man mit dem HELP-Befehl):
    
   BEEP
    Einfacher DisplayBeep()
   CLEAR FORCE/S
    Lscht den Bildschirm. Bei Angabe von FORCE erfolgt keine Sicherheits-
    abfrage.
   EVALSTRING VAR/K,STEM/K,FUNCTION/A,X/K => VALUE
    Wertet eine Funktion aus (Diese Funktion mu immer angegeben werden).
    Es kann ein Wert fr x bergeben werden. Gibt den Wert zurck.
   FAULT VAR/K,STEM/K,NUMBER/N/A => DESCRIPTION
    Bisher nicht implementiert.
   GET1DERIVE VAR/K,STEM/K,NUMBER/N/A => DERIVE
    Ergibt die erste Ableitung der angegebenen Funktion (die Nummer bezieht
    sich auf die Stellung im Untermenu, 0 fr die erste Funktion, 9 fr die
    letzte).
   GET2DERIVE VAR/K,STEM/K,NUMBER/N/A => DERIVE
    siehe oben.
   GETCOLOR VAR/K, STEM/K, TEXTCOLOR/S, AXISCOLOR/S, PLOTCOLOR/S,
                           TEXTCOLORBACK/S, AXISCOLORBACK/S, 
                           TEXTMODE/S, AXISMODE/S =>
                           TEXTCOLOR/N, AXISCOLOR/N, PLOTCOLOR/N,
                           TEXTCOLORBACK/N, AXISCOLORBACK/N,
                           TEXTMODE/N, AXISMODE/N   
    Gibt die aktuellen Farben und Zeichenmodi zurck.
   GETCONST VAR/K,STEM/K,NAME/A => DEFINITION
    Gibt die Definition der angegebenen Konstanten zurck. Als Name mu ein
    Buchstabe 'a' - 'z' bergeben werden.
   GETERROR VAR/K,STEM/K => NUMBER/N
    Gibt den letzten aufgetretenen Mathe-Fehler zurck.
   GETFUNCTION VAR/K,STEM/K,NUMBER/N/A => DEFINITION
    Gibt die Definition der angegebenen Funktion zurck.
   GETINTERVALL VAR/K,STEM/K,XAXIS/S,XMIN/S,XMAX/S,YAXIS/S,YMIN/S,YMAX/S 
    => DEFINITIONSTRING,DEFINITIONNUMBER/N
    Gibt die Definition des Intervall zurck. Es darf immer nur eins der
    Schlsselwrter angegeben werden.
   GETMACRO VAR/K,STEM/K,NAME/A => DEFINITION
    Gibt die Definition eines Macros zurck.
   GETPOINTS VAR/K, STEM/K, FUNCTION/A, ZERO/S, MAX/S, TURN/S 
                            => XPOINTS/M, YPOINTS/M, TYP/M
    Kurvendiskussion. Es darf immer nur einer der Switches angeschaltet
    sein.
   GETPRECISION VAR/K,STEM/K => PRECISION/N
    Gibt die aktuelle Zeichengenauigkeit zurck.
   HELP VAR/K,STEM/K,COMMAND,PROMPT/S => COMMANDDESC,COMMANDLIST/M
    HELP alleine gibt eine Liste aller Kommandos aus. HELP command gibt
    eine Hilfe zu dem angegebenen Kommando aus. PROMPT wird noch nicht 
    untersttzt.
   HPGL_ON FILENAME
    Schaltet die HP-Grafikausgabe ein.
   LINE XMIN/A YMIN/A XMAX/A YMAX/A
    Zeichnet eine Linie
   LOADCONST FILENAME
    Ldt Konstantendefinitionen.
   LOADFUNC FILENAME
    Ldt Funktionsdefinitionen.
   LOADMACRO FILENAME
    Ldt Macrodefinitionen.
   NEW PORTNAME/K
    Lscht den Bildschirm. PORTNAME wird zur Zeit noch nicht untersttzt.
   NUMINT VAR/K,STEM/K,STEPS/N/A,XMIN/A,XMAX/A,FUNCTION/A => VALUE
    Numerische Integration.
   PLOT NUMBER/N/A,NORMAL/K/S,DERIVE1/K/S,DERIVE2/K/S,DERIVE1NUM/K/S,
    DERIVE2NUM/K/S,FORCE/S
    Zeichnet die angegebene Funktion (NUMBER, 0-9) entsprechend den anderen
    Schlsselwrtern.
   POINT XPOS/A YPOS/A
    Setzt einen Punkt
   PRINT PROMPT/S
    Druckausgabe, PROMPT wird noch nicht untersttzt.
   QUIT FORCE/S
    Beendet das Programm, FORCE unterdrckt die Sicherheitsabfrage.
   REQUESTFILE VAR/K,STEM/K,TITLE/K,PATH/K,FILE/K,PATTERN/K,SAVE/S => FILENAME
    Erzeugt einen Filerequester mit den entsprechenden Vorgaben. SAVE/S ist
    zustzlich zu den Vorgaben aus den "User Style Guide" vorhanden und
    erzeugt eine SAVE-Filerequester (den, bei den man eine Datei NICHT mit
    einem Doppelclick anwhlen kann).
   REQUESTNOTIFY PROMPT/K/A,BUTTON/K
    Entspricht in den Templates nicht dem "User Style Guide" und sollte
    daher nicht benutzt werden.
   REQUESTNUMBER VAR/K,STEM/K,PROMPT/K,DEFAULT/K/N => NUMBER/N
    Fragt nach einer Nummer. Zur Zeit so realisiert, da auch Buchstaben
    eingegeben werden knnen, aber nur die Zahl, die sich aus dem ein-
    gegebenen String ergibt auch zurckgegeben wird. Es werden nur
    Integer-Werte zurckgegeben.
   REQUESTRESPONSE VAR/K,STEM/K,TITLE/K,PROMPT/K/A,BUTTON/K => RETURN/N
    Erzeugt einen Easy-Request. PROMPT ist der angezeigte Text, mit BUTTON
    (z.B. OK|Cancel) gibt man den Text fr die Anwahlfelder an. Es wird die
    Nummer des angewhlten Gadgets zurckgegeben (1,2... = erstes
    von links, zweites von links...). Falls das rechte Gadget angewhlt 
    wurde ist RC=5.
   REQUESTSTRING VAR/K,STEM/K,PROMPT/K,DEFAULT/K,TITLE/K => STRING
    Fragt einen String ab.
   RX VAR/K,STEM/K,CONSOLE/S,ASYNC/S,COMMAND/F => RC/N,RESULT
    Startet ein externes ARexx-Skript.
   SAVECONST FILENAME
    Speichert die Konstanten ab.
   SAVEFUNC FILENAME
    Speichert die Funktionen ab.
   SAVEIFF FILENAME
    Speichert den Bildschirm als IFF-Grafik ab.
   SAVEMACRO FILENAME
    Speichert die Macros ab.
   SCREENTOBACK
    Bringt den Screen in den Hintergrund.
   SCREENTOFRONT
    Bringt den Screen in den Vordergrund.
   SELECTMENU MENU/N/A,ITEM/N/A,SUB/N,FORCE/S
    Whlt ein Menu aus. FORCE unterdrckt einen Teil der Requester, die bei
    direkter Anwahl des Menus (mit der Maus) erscheinen wrden. Das oberste
    Item/Subitem ist immer die Nummer 0, danach der Reihe nach durchzhlen.
    Unterteilungen werden mitgezhlt.
   SETCOLOR PLOTCOLOR/N/K, AXISCOLOR/N/K, TEXTCOLOR/N/K,
                           AXISCOLORBACK/N/K, TEXTCOLORBACK/N/K, 
                           AXISMODE/N/K, TEXTMODE/N/K   
    Setzt die Farben und Zeichenmodi.
   SETCONST NAME/A,DEFINITION/A
    Setzt eine Konstante auf den neuen Wert.
   SETFUNC NUMBER/N/A,DEFINITION/A
    Setzt eine Funktion auf den neuen Wert.
   SETINTERVALL XAXIS/N/K,XMIN/K,XMAX/K,YAXIS/N/K,YMIN/K,YMAX/K
    Setzt das Intervall neu.
   SETMACRO NAME/A,DEFINITION/A
    Setzt ein Macro neu.
   SETNUMPRECISION PRECISION/N/A
    Setzt die Anzahl Nachkommastellen fr die Rckgabewerte bei 
    EVALSTRING und NUMINT.
   VERSION VAR/K,STEM/K => VERSION  
    Gibt einen Versionsstring zurck.

 ARexx-Macros
 ------------
  Mit diesen Macros (nicht zu verwechseln mit den (Funktions-) Macros im
  Programm !) bietet sich die Mglichkeit, immer wiederkehrende Aufgaben zu
  vereinfachen. So knnen ganze Funktionenreihen erzeugt und als .IFF- oder
  .PLT-File abgespeichert werden. Ein Beispiel ist vorhanden:
  
  - Schar
     Zeichnet eine Kurvenschar. Der Benutzer wird nach der Nummer
     der Funktion im Menu (0 - 9), dem Namen der Konstanten, dem Start- und
     Endwert fr diese Konstante und der Anzahl Schritte gefragt. Danach 
     wird die Funktion entsprechend der Anzahl Schritte mit jeweils 
     anderen Wert fr die Konstante gezeichnet. Dieses Skript sollte 
     vom Programm aus gestartet werden.


Danksagungen
============
 Einigen Leuten mchte ich besonders danken. Ohne Sie lge das Programm
 jetzt sicherlich nicht in dieser Version vor:

  - Den Leuten von Commodore fr Kickstart/Workbench 2.0 (besonders fr
    die gadtools.library).
  - Joern Clausen, der als beta-Tester eine Reihe von Fehler fand und
    auch mit Verbesserungsvorschlgen nicht geizte. Das Programmicon stammt
    ebenfalls aus seiner Feder (Maus ?).
  - Michael Balzer fr seine ARexxBox. Ohne dieses tolle Hilfsprogramm
    htte MathPlot noch immer seinen primitiven ersten ARexx-Port.



Abschlu
========

    Wer Verbesserungsvorschlge, Fehlermeldungen oder hnliches 
    hat, kann mir schreiben (Adresse am Anfang).

       Viel Freude mit diesen Programm !!

