## Das Analysieren von Eingabedateien

Wenn Sie eine Zeichnung auf einen Datenträger speichern, speichert jPicEdt die Zeichnung gleich zweimal ab,

- einmal in einem besonderem Format namens JPIC-XML (JPIC-XML ist ein speziell für jPicEdt geschneidertes XML Format; es ist sehr ähnlich zum weitverbreiteten SVG Format, hat aber zusätzlich noch speziell an jPicEdt angepasste graphische Kennzeichen, welche in SVG nicht bekannt sind),
- und zum anderem in ein LaTeX Format ihrer Wahl (z.B. picture env, eepic or PSTricks).

Da sich sowohl der XML Code als auch der LaTeX Code in der selben Datei befinden, wird der komplette XML Block mit Prozentzeichen auskommentiert, damit die Datei auch richtig von LaTeX kompiliert werden kann. Der XML Code erlaubt es jPicEdt die Zeichnung neuzuladen ohne auch nur eine winzige Information zu verlieren, ein Feature welches das PSTricks Format nicht garantieren kann (das eepic Format schon gar nicht).

Daher sucht jPicEdt, wenn man eine Eingabedatei analysiert, zuerst nach einer JPIC-XML Präambel. Ist diese vorhanden, wird die Zeichnung auf Basis des XML Code´s neu aufgebaut (was bedeutet, dass sämtliche sonstige Änderungen an anderen Stellen der Datei zu keinem Effekt führen). Andernfalls (dies ist der Fall wenn Sie ein Bild öffnen welches per Hand oder in einer LaTeX-kompatiblen Software wie zum Beispiel GnuPlot geschrieben wurde, oder wenn der XML Code gelöscht wurde), beauftragt jPicEdt einen integrierten LaTeX-Parser, welcher zur Zeit folgende drei Formate unterstützt: die Standard `picture` Umgebung, das `eepic`-Paket und das PSTricks Paket (alle drei können in einer einzelnen Datei kombiniert werden, in diesem Falle wird nur die erste begin{(ps)picture}...end{(ps)picture} Deklaration betrachtet). Der LaTeX Parser kann mit einer Vielzahl von Syntax-Abweichungen umgehen, sie brauchen sich also keine großen Sorgen darüber machen, ob Ihre Syntax nun perfekt LaTeX-, `eepic`- or PSTricks-kompatibel ist oder nicht, denn der Parser wird eine recht informative Meldung ausgeben, falls er einen Syntaxfehler, eine falsch formatierte Zahl, usw. findet. Trotzdem empfehlen wir folgende Regeln zu beachten :

- jPicEdt erwartet, dass ein `\unitlength` oder `\psset{unit=xxx}` (oder xunit, yunit, runit) Kommando ganz am Anfang ihrer Datei oder zumindest vor dem ersten Kommando steht, welches verarbeitet werden soll; ist dies nicht der Fall, wird die Standard unitlength angenommen, z.B. 1cm für PSTricks. bis ein solches Kommando gefunden wird.
- jPicEdt akzeptiert so gut wie alle Kommandos der LaTeX `picture`-Umgebung, des `epic`/`eepic` Pakets und des PSTricks Basispaktes, wobei neuere Zusatzpakete noch nicht unterstützt werden, wie zum Beispiel `pst-nodes.sty` oder `pst-coils.sty`. `\multiput` (und sein PSTricks Gegenstück) werden auch noch nicht verarbeitet. Ich weiß, dass es einen sehr großen Druck gibt bzgl. der Unterstützung von Addons, aber das ist ein wenig knifflig, das sag ich ihnen...
- Es ist absolut zulässig und möglich LaTeX-, `eepic`- and PSTricks-Kommandos in der selben Datei zu vermischen. Die Standard Parameter von PSTricks (welche mit `\psset` gesetzt werden) stören nicht die Benutzung von LaTeX- oder `eepic` Parametern (z.B. `linethickness`).
- Anders als bei LaTeX-Boxen (z.B. `framebox`,...) können sie hier kein wahres WYSIWYG Verhalten erwarten! JPicEdt verfügt nicht über einen integrierten TeX Compiler, daher werden auch nur eine begrenzte Menge an LR-Kommandos verarbeitet (genauer gesagt: nur Kommandos, die sich auf die Bildumgebung beziehen, siehe LaTeX, a documentation preparation system, Leslie Lamport, S.97 und S.108).
- Der Parsingprozess endet entweder wenn das Ende der Datei erreicht ist, oder falls ein `\end{picture}` (oder das Gegenstück für PSTricks) gefunden wird.
- Natürlich wird der alte Formattyp von jPicEdt 1.3.2 (mit einer Unzahl von besonderen Kommentaren) weiterhin unterstützt !