Plotter

Neue Frage »

system-agent Auf diesen Beitrag antworten »
Plotter
Hi Zusammen,

eine kleine Frage:
Gibt es ein Paket für LaTeX, mit dem man direkt Funktionen plotten kann? Ich mein vielleicht so eine Steuerung wie beim Funktionenplotter hier im Board oder ähnlich. Denn wenn man ein Dokument schreiben will welches relativ viele Plots enthält wird es ziemlich mühsam jeden Plot als Bild einzufügen...

Danke schonmal !
AD Auf diesen Beitrag antworten »

Es gibt z.B. PSTricks, bestehend aus einer ganze Familie von Paketen pst-????, ein paar Screenshots gefällig:

http://tug.org/PSTricks/main.cgi?file=pst-plot/examples

Genaueres dann wie üblich von Stefan_K. Augenzwinkern
 
 
system-agent Auf diesen Beitrag antworten »

Wunderbar, das schaue ich mir mal an smile
Stefan_K Auf diesen Beitrag antworten »

Hallo,

pstricks habe ich auch manchmal für Plots verwendet. Arthur Dent gab ja schon einen Link auf Beispiele, Dokumentationen finden sich dort auch. Ich habe in meinen alten Dokumenten ein Beispiel gefunden, worin ich eine elliptische Kurve in zwei Teilen geplottet hatte:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
\documentclass[a4paper,12pt]{article}
\usepackage{pstricks,pstricks-add}
\newcommand*\kurve[3]{\psplot[plotpoints=200,algebraic=true,%
  linewidth=1pt]{#1}{#2}{#3}}
\newcommand*\teil[2]{\kurve{#1}{#2}{sqrt(x*(x-1)^2)}
  \kurve{#1}{#2}{-sqrt(x*(x-1)^2)}}
\begin{document}

\begin{pspicture}(-0.5,-3.5)(2.5,3.5)
\teil{0.001}{0.999}
\teil{1.001}{2.8}
\psaxes[Dy=1,Dx=1]{->}(0,0)(-0.5,-3.5)(3,3.5)
\put(1.6,0.5){\footnotesize $y^2=(x-1)^2 x$}
\end{pspicture}

\end{document}

Heute verwende ich auch PGF/TikZ, siehe plot-Beispiele.

Gnuplot kann übrigens direkt LaTeX-Ausgabe produzieren, die man in seinem Quelltext weiterverwenden kann.

Viele Grüße,

Stefan

--
LaTeX Forum
AD Auf diesen Beitrag antworten »

Da schließe ich gleich mal eine Frage an:

PSTricks funktioniert ja strukturbedingt nicht mit pdfLaTeX, oder sehe ich das falsch?

Bei PGF/TikZ scheint diese Einschränkung nicht zu bestehen, zumindest bei einem Testbeispiel nicht ... wäre ja echt ein Vorzugsargument.
Stefan_K Auf diesen Beitrag antworten »
PSTricks mit pdfLaTeX
Hi Arthur,

mit PSTricks erzeugte Dateien lassen sich ja in pdf umwandeln und auf diesem Wege nutzen. Das lässt sich sogar mit dem pdftricks-Paket automatisieren. Hier habe ich mein Beispiel für pdfLaTeX modifiziert:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
\documentclass[a4paper,12pt]{article}
\usepackage{pdftricks}
\begin{psinputs}
  \usepackage{pstricks,pstricks-add}
  \newcommand*\kurve[3]{\psplot[plotpoints=200,algebraic=true,%
    linewidth=1pt]{#1}{#2}{#3}}
  \newcommand*\teil[2]{\kurve{#1}{#2}{sqrt(x*(x-1)^2)}
    \kurve{#1}{#2}{-sqrt(x*(x-1)^2)}}
\end{psinputs}

\begin{document}

\begin{pdfpic}
\begin{pspicture}(-0.5,-3.5)(2.5,3.5)
\teil{0.001}{0.999}
\teil{1.001}{2.8}
\psaxes[Dy=1,Dx=1]{->}(0,0)(-0.5,-3.5)(3,3.5)
\put(1.6,0.5){\footnotesize $y^2=(x-1)^2 x$}
\end{pspicture}
\end{pdfpic}

\end{document}

Direkt in ein pdf-Dokument übersetzt ergibt sich dieses Ergebnis: pdftricks.pdf.

Die direkte Unterstützung von pdfLaTeX ist schon ein Vorteil vom pgf, doch glücklicherweise lässt sich wie oben auch PSTricks weiterverwenden, so kann man aus beiden Paketen Nutzen ziehen.

Viele Grüße,

Stefan
AD Auf diesen Beitrag antworten »

Hallo Stefan,

vielen Dank für die Mühe, aber auf meinem MiKTeX-System lief dieses Beispiel erst nach erheblichen Klimmzügen fehlerfrei durch:

Zum ersten war eine Umstellung nötig:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
\documentclass[a4paper,12pt]{article}
\usepackage{pdftricks}
\begin{psinputs}
  \usepackage{pstricks,pstricks-add}
\end{psinputs}

\begin{document}

\begin{pdfpic}
  \newcommand*\kurve[3]{\psplot[plotpoints=200,algebraic=true,%
    linewidth=1pt]{#1}{#2}{#3}}
  \newcommand*\teil[2]{\kurve{#1}{#2}{sqrt(x*(x-1)^2)}
    \kurve{#1}{#2}{-sqrt(x*(x-1)^2)}}
\begin{pspicture}(-0.5,-3.5)(2.5,3.5)
\teil{0.001}{0.999}
\teil{1.001}{2.8}
\psaxes[Dy=1,Dx=1]{->}(0,0)(-0.5,-3.5)(3,3.5)
\put(1.6,0.5){\footnotesize $y^2=(x-1)^2 x$}
\end{pspicture}
\end{pdfpic}

\end{document}

Liegt das am MiKTeX, dass bei Nutzung deiner Originalvariante die Kommando-Definitionen von "teil" und "kurve" weder im Zwischenfile pdftricks-fig1.tex noch tmp.inputs zu finden waren, und es somit dort zu Fehlern kam?


Und zweitens - aber das ist wohl unumgänglich, muss man die Aufrufsequenz

pdflatex pdftricks.tex
pst2pdf
pdflatex pdftricks.tex

durchziehen. Das ist natürlich eine Frage der Bequemlichkeit bzw. muss ich meinem WinEdt noch makromäßig beibringen. Augenzwinkern
Stefan_K Auf diesen Beitrag antworten »
pdftricks
Hi Arthur,

das Beispiel läuft bei mir glatt durch, ohne die externen Aufrufe. Es geht schon ganz bequem. Augenzwinkern

Evtl. muss man dafür noch etwas konfigurieren bzw. installieren. Es sollte write18 aktiviert sein, neben Standardtools wie dvips sollten auch pstoeps und epstopdf installiert sein.

Wenn etwas fehlt, sollte das durch Warnungen bzw. im Logfile mitgeteilt werden, dann kann man das fehlende nachinstallieren, bis es komplikationslos durchläuft.

Viele Grüße,

Stefan
AD Auf diesen Beitrag antworten »

Zitat:
Original von Stefan_K
Es sollte write18 aktiviert sein

Das ist wohl das, was andere User an LaTeX abschreckt: write18 ??? Sehr kryptisch.

Warum kann MiKTeX bei Installation des Paketes "pdftricks" das nicht gleich selbst aktivieren? Da laufen doch auch irgendwelche Ini-Skripte durch. Stattdessen Editieren irgendwelcher Inifiles von Hand...

Na auf jeden Fall vielen Dank, ich probiere es mal


EDIT: Nein, klappt nicht. Jetzt kann ich mir noch überlegen, ob ich stundenlang im Internet nach einer Lösung zu dieser write18-Aktivierung fahnde, die dann auch wirklich funktioniert. Oder ich lasse es sein. Augenzwinkern

Auf jeden Fall zeigt eine diesbezügliche Google-Anfrage jede Menge Forumanfragen von Leuten mit ähnlichen Problemen unter MiKTeX. Bisher habe ich noch keinen einzigen gefunden, dem durch diverse Tipps wirklich eine Problemlösung gelungen ist - sehr bedenklich.
Dunkit Auf diesen Beitrag antworten »

Naja, einsteigerfreundlich scheint dieses PGF/TikZ ja auch nicht zu sein, aber gut, das ist LaTeX ja generell nicht unbedingt.
Kann mir jemand bestätigen, dass dieses PGF/TikZ ohne Probleme auch mit pdfLaTeX funktioniert? ICh kenne diese Plot-Probleme nämlich auch und jedesmal extra ne Grafik zu erstellen und die dann einzufügen ist echt nicht so die optimalste Lösung...
Stefan_K Auf diesen Beitrag antworten »
pgf/TikZ
Hi Dunkit,

Zitat:
Original von Dunkit
Naja, einsteigerfreundlich scheint dieses PGF/TikZ ja auch nicht zu sein


Ja, es kostet schon Aufwand, sich einzuarbeiten. Zu Beginn mag es am schnellsten gehen, sich an fertigen Beispielen zu orientieren und sie anhand der Dokumentation für seinen Zweck zu modifizieren.
Wenn man viele ähnlich aufgebaute Grafiken hat (viele Plots, oder ähnlich strukturierte Graphen. Bäume, ...) hat man die grundlegende Arbeit ja nur einmal.

Wenn man eben mal eine Skizze bzw. Zeichnung anfertigen will, dann kann man das schneller mit einem Grafikprogramm tun, und das Ergebnis als pdf oder ps einbinden. TikZ soll ja kein Zeichenprogramm ersetzen, es ist eine Programmiersprache zur Beschreibung von Grafiken. Du kannst es ja mal mit der Einsteigerfreundlichkeit der Postscript-Programmiersprache vergleichen. Augenzwinkern
Die beamer-Klasse verwendet pgf.

Zitat:
Original von Dunkit
Kann mir jemand bestätigen, dass dieses PGF/TikZ ohne Probleme auch mit pdfLaTeX funktioniert?

Ja, ich hatte es immer mit pdfLaTeX laufen, problemlos.

Viele Grüße,

Stefan
Stefan_K Auf diesen Beitrag antworten »
write18
Hallo Arthur!

Zitat:
Original von Arthur Dent
Warum kann MiKTeX bei Installation des Paketes "pdftricks" das nicht gleich selbst aktivieren?

Weil es das Gestatten der Ausführung externer Programme die Sicherheit des Computers (womöglich ist es gar ein Server) gefährdet. Man könnte etwa ein Schadprogramm untergeschoben bekommen.

Zitat:
Original von Arthur Dent
Auf jeden Fall zeigt eine diesbezügliche Google-Anfrage jede Menge Forumanfragen von Leuten mit ähnlichen Problemen unter MiKTeX. Bisher habe ich noch keinen einzigen gefunden, dem durch diverse Tipps wirklich eine Problemlösung gelungen ist - sehr bedenklich.


Vmtl. sind dann die diversen Tipps für andere Distributionen oder Versionen geeignet. Ich habe die texmf.cnf editiert und verwende texlive unter Linux. Bei den Tipps unter obigem Link sehe ich, dass MikTeX Version 2.5/2.6 angegeben ist, evtl. gibt es diesen Weg nicht mehr unter MiKTeX 2.7.

Siehe Running Programs From Within TeX und pdftex options.

Gib --enable-write18 als weitere Option für pdftex bzw. pdflatex an. Das ist nun eine Sache des Editors, bei WinEdt sind die Kommandozeilenparameter für pdflatex vtml. unter Options/ Execution Modes zu finden.

Viele Grüße,

Stefan
AD Auf diesen Beitrag antworten »
RE: write18
Die Kommandozeilenfunktion habe ich angegeben, zusätzlich auch noch die Environmentvariable MIKTEX_ENABLEWRITE18=t gesetzt. Der beiliegende File wr18.tex zeigt, dass das zumindest doch funktioniert.

Dein File pdftricks.tex kommt aber nach wie vor mit diesen Fehlermeldungen

code:
1:
2:
3:
4:
Package pdftricks Warning: ****************************************
(pdftricks)                No \write 18 capability.
(pdftricks)                You'll have to run a script by yourself!
(pdftricks)                ****************************************.

an. Weiß jetzt wirklich nicht mehr, woran das noch liegen könnte.

Übrigens, auch die manuelle Übersetzung des Zwischenfiles pdftricks-fig1.tex scheitert nach wie vor, weil die Kommandodefinitionen (s.o.) fehlen. Das kann nun aber doch nicht an den fehlenden write18-Rechten liegen - oder doch?

Das ganze traurige Ergebnis hier gebündelt:

[attach]8202[/attach]

EDIT:

Bevor die Frage kommt: pdftricks.sty erzeugt sehr wohl diese Testfiles c:\cygwin\tmp\w18-test-2008528797 u.ä., erkennt dann aber anschließend wohl nicht, dass diese erzeugt wurden! Sehr seltsam.
Stefan_K Auf diesen Beitrag antworten »

Hi Arthur,

versuche mal
code:
1:
\usepackage[miktex]{pdftricks}

Das tmpfile muss unter Windows anders behandelt werden, dafür sorgt eine Variable, die mit dieser Option gesetzt wird. Habe ich auch gerade erst in pdftricks.sty nachgelesen, die Option brauchte ich auf Linux ja nicht.

Stefan
AD Auf diesen Beitrag antworten »

Nein, "Unknown option `miktex' for package `pdftricks'".

Aber lass es gut sein, ich ahne langsam, was es ist:

Ich hab parallel auf meiner Windows-Installation die cygwin-Tools installiert: So schreibt zwar einerseits der Testbefehl touch /tmp/w18-test-2008528797 innerhalb von pdftricks.sty in das oben erwähnte Verzeichnis c:\cygwin\tmp, andererseits versucht dann aber wohl der nachfolgende Befehl \IfFileExists{\tmpfile} diesen File in einem anderen Verzeichnis zu lesen... Augenzwinkern

Mal sehen, wie ich dieses Chaos behutsam beseitige.
Stefan_K Auf diesen Beitrag antworten »

Zitat:
Original von Arthur Dent
Nein, "Unknown option `miktex' for package `pdftricks'".

Diese Option gibt es erst ab Version 1.16, Du verwendest noch die 1.15. Die 1.15 macht auf jeden Fall ein touch, die 1.16 hingegen macht rem >"\tmpfile", wenn die miktex-Option gesetzt ist. Versuch mal das Update auf die 1.16.

Stefan
AD Auf diesen Beitrag antworten »

Hat dieses 1.16 auch Einzug in das aktuell von MiKTeX vertriebene Paket gehalten? Sieht irgendwie nicht so aus, wenn ich mir

ftp://ftp.dante.de/pub/tex/systems/win32...s/pdftricks.cab

so anschaue: Datum 06.10.2001 ...

Und eigentlich gehe ich davon aus, dass der Dante-Server auf dem aktuellen Stand ist.


Hmm, hab es bisher immer so gehalten, dass ich nur die offiziellen MiKTeX-Pakete einspiele, statt "extern" zu patchen - einfach um die interne MiKTeX-Paketverwaltung nicht durcheinander zu bringen.
Stefan_K Auf diesen Beitrag antworten »

Na sowas! Dann sollte mal jemand das MiKTeX-Paket aktualisieren... insbesondere weil ja die MiKTeX-Unterstützung hinzugekommen ist.

Nach dem Stand einzelner Pakete schaue ich übrigens hier: MiKTeX Package Information.

Stefan
AD Auf diesen Beitrag antworten »

Bei mehr als 1500 Paketen geht wohl auch mal die eine oder andere Aktualisierung durch die Lappen. An der Neuheit von pdftricks 1.16 kann's aber nicht liegen, denn das ist ja auch schon fast 5 Jahre alt. Augenzwinkern

Vielleicht mal dem Christian Schenk eine Hinweismail schicken?
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »