PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kraftdiagramm der Physik



Nils:D
25-09-2007, 15:47
Hi,

ich muss Physik wegen der Übersichtlichkeit/Schönheit und damit man besser mitschmieren kann komplett übertragen. An einer Stelle muss ich ein Kraftdiagramm darstellen. Einerseits könnte man das über eine Grafik erledigen, das ist 1. wegen LaTeX nicht so toll (ich bräuchte dafür pdflatex), da EPS einfach eine miserable Qualität im Vergleich zu PNG hat und bei PNG Skalierungen nicht so schön sind (Qualitätsverluste), 2. nicht der richtige Stil...wenn man schon LaTeX benutzt, dann sollte man imho auch so arbeiten, also nicht wie bei Word anstelle von direkten Zeichnen der Graphen ein Bild einfügen.

Dafür benutze ich das Paket pstricks. Nun habe ich bei der 3. Zeile -20 als Y-Wert genommen, damit die waagerechte Linie auf 20N hochgeschafft wird. Das funktioniert zwar, aber ich muss später noch eine Linie nach unten zeichnen, also geht das nicht, da die senkrechte Linie grundätzlich nach oben gezeichnet wird. Muss ich nun die senkrechte Linie - wie auch immer - nach unten zeichnen oder wie kann man das besser machen ? (es geht bestimmt besser, ich seh selbst, was für ein Murks das ist).

Wen der schlechte Code interessiert:


\begin{pspicture}
\psaxes{->}[subticks=2, subticksize=1, subtickcolor=lightgray](30,5)
\psgraph[Dx=5, Dy=5](0,-20)(25,10){7cm}{7cm}
\line(1,0){5.5} % waagerechte Linie
\line(0,1){2} % senkrechte Linie
\endpsgraph
\end{pspicture}


Das Ziel ist regelrecht ein Rechteck:


------------------------------------------
|
|
|
|
|

(Es kann sein, dass das nicht bei jedem gleich aussieht: die senkrechte Linie muss am Ende der horizontalen heruntergehen)

localghost
25-09-2007, 20:37
Zunächst solltest Du dem Bild auch eine Dimension geben, damit genug Platz reserviert wird. Dann benutzt Du innerhalb der psgraph-Umgebung Befehle für die Linien, die so nicht funktionieren können und durch Befehle aus PSTricks ersetzt werden sollten.

\begin{pspicture}[showgrid=true](-1,-1)(8,8)
% \psaxes[subticks=2,subticksize=1,subtickcolor=lightgray]{->}(30,5)
\begin{psgraph}[Dx=5,Dy=5](0,0)(25,30){7cm}{7cm}
\psline(0,20)(20,20) % waagerechte Linie
\psline(20,20)(20,10) % senkrechte Linie
\end{psgraph}
\end{pspicture}
Vielleicht entspricht das so deinen Vorstellungen. Alles weitere findest Du in der Anleitung zu pstricks-add. (http://dante.ctan.org/CTAN/help/Catalogue/entries/pstricks-add.html)

Nils:D
25-09-2007, 21:03
Sieht an sich vollkommen korrekt aus, soweit das mein langjähriges Programmierauge sehen kann ;), das Netz wird wie gewünscht gezeichnet, allerdings gibt es keine Linie.

localghost
25-09-2007, 21:28
[…] das Netz wird wie gewünscht gezeichnet, allerdings gibt es keine Linie.
Das müsstest Du mir mal anhand einer fertig kompilierten PDF-Datei zeigen. Die kannst Du dann hier anhängen.

Nils:D
25-09-2007, 22:03
Ok, hier ist es:

moedule
26-09-2007, 01:02
Hi,
...., da EPS einfach eine miserable Qualität im Vergleich zu PNG hat und bei PNG Skalierungen nicht so schön sind (Qualitätsverluste),


wie kommst duzu der Annahme das EPS schlecht aussieht? ist ne vektorgrafik und die sieht im normalfall genau so aus wie sie aussehen soll?!



2. nicht der richtige Stil...wenn man schon LaTeX benutzt, dann sollte man imho auch so arbeiten, also nicht wie bei Word anstelle von direkten Zeichnen der Graphen ein Bild einfügen.


was ist das denn für eine regel? soll man nicht den computer so nutzen, das er einen optimal unterstützt? und dazu gehört es, dass man grafiken durchau mit nem grafikprogramm zeichnen kann

moe

sarc
26-09-2007, 03:09
PSTricks is ne sehr schöne Sache. Allerdings nicht, wenn man schnell Ergebnisse braucht und sich dafür noch einarbeiten müsste... Ich nutz es sehr gerne um schnell kleine Grafiken zu erstellen die idealerweise noch gut zum restlichen Dokument passen. Daneben nutz ich es auch gerne, wenn ich Zeit hab und einfach mal wieder ausprobieren will.
Wenn ich aber schnell Ergenisse brauche und nicht sofort absehbar ist, wie diese zu erzielen sind, dann würde ich da auch schnell nen Vectorzeichner auspacken. Der exportiert dir das für gewöhnlich auch als eps, und zwar in einer Qualität, dass dir die Ohren schlackern!

PS: Wenn du dich eingehender mit PSTricks beschäftigen willst, kann ich dir dazu nur das gleichnamige Buch von Herbert Voß empfehlen. Relativ günstig und n prima Nachschlagewerk!

bischi
26-09-2007, 09:38
Einerseits könnte man das über eine Grafik erledigen, das ist 1. wegen LaTeX nicht so toll (ich bräuchte dafür pdflatex), da EPS einfach eine miserable Qualität im Vergleich zu PNG hat und bei PNG Skalierungen nicht so schön sind (Qualitätsverluste), 2. nicht der richtige Stil...wenn man schon LaTeX benutzt, dann sollte man imho auch so arbeiten, also nicht wie bei Word anstelle von direkten Zeichnen der Graphen ein Bild einfügen.


Nö - du kannst problemlos Grafiken einbinden... Und: EPS ist nur dann schlecht, wenn es schlecht konvertiert wurde (also ein Bitmap eingebunden wurde, anstatt einer Vektorgrafik). Für ein Diagramm sind EPS oder PDF sogar höchst optimal. Und was hast du gegen pdflatex?

MfG Bischi

PS: Vielleicht auch mal nen Blick ins l2picfaq.pdf werfen ;)

Nils:D
26-09-2007, 14:29
Also EPS sah bei mir wirklich miserabel aus, graue Flächen drinnen, die nicht da sein dürfen usw. (habe es mit convert konvertiert). PNG kann LaTeX afaik nicht, zumindest nicht graphics/graphix. Ich konnte Bilder noch nie ab, da sie nie wirklich perfekt passen und es einfach unschön ist, Coden finde ich da wesentlich schöner.... Was ich so beschränkt finde ist: ich male ein Bild und konvertiere es erstmal. Das habe ich schon immer gehasst...wenn man ein Video ständig konvertiert, geht die Qualität auch verloren, bei Bildern ist das logischerweise genauso, da nunmal Videos aus Bildern bestehen, außerdem hat man seine Grafik, wenn man sie codet, besser unter Kontrolle, das gibt es bei einem Grafikprogramm nicht.

Ich habe die Zeit um PSTricks zu lernen. Das Buch kann ich mir nebenbei noch besorgen, dann wären die Fragen für die Zukunft wohl auch erledigt, aber das Problem hier könnte man doch noch lösen, oder etwa nicht ? ;)

Nachtrag: l2picfaq.pdf...damit habe ich angefangen, aber das funktionierte eben nicht, LaTeX gab einfach einen Fehler aus (underfull hbox oder so etwas) und das war's. Egal ob PNG oder JPG.

moedule
26-09-2007, 23:04
wenn du eine vektorgrafik malst, dann wird da gar nix schlechter... schau dir z.B. inkscape an

moe

voss
26-09-2007, 23:34
Zunächst solltest Du dem Bild auch eine Dimension geben, damit genug Platz reserviert wird. Dann benutzt Du innerhalb der psgraph-Umgebung Befehle für die Linien, die so nicht funktionieren können und durch Befehle aus PSTricks ersetzt werden sollten.

\begin{pspicture}[showgrid=true](-1,-1)(8,8)
% \psaxes[subticks=2,subticksize=1,subtickcolor=lightgray]{->}(30,5)
\begin{psgraph}[Dx=5,Dy=5](0,0)(25,30){7cm}{7cm}
\psline(0,20)(20,20) % waagerechte Linie
\psline(20,20)(20,10) % senkrechte Linie
\end{psgraph}
\end{pspicture}
Vielleicht entspricht das so deinen Vorstellungen. Alles weitere findest Du in der Anleitung zu pstricks-add. (http://dante.ctan.org/CTAN/help/Catalogue/entries/pstricks-add.html)


\psline(0,20)(20,20)(20.10)

reicht

Herbert

bischi
27-09-2007, 09:47
Also EPS sah bei mir wirklich miserabel aus, graue Flächen drinnen, die nicht da sein dürfen usw. (habe es mit convert konvertiert).

Dann hast du ein schlechtes Konvertierungstool erwischt! (Tip: l2picfaq: irgendwas -> *.ps)


PNG kann LaTeX afaik nicht, zumindest nicht graphics/graphix.

LaTeX kann PNG, latex.exe kann keine PNG (dafür kann pdflatex.exe PNG).


Was ich so beschränkt finde ist: ich male ein Bild und konvertiere es erstmal. Das habe ich schon immer gehasst...wenn man ein Video ständig konvertiert, geht die Qualität auch verloren, bei Bildern ist das logischerweise genauso, da nunmal Videos aus Bildern bestehen

Das stimmt so nicht: Es gibt diverse Konvertierungen, die verlustfrei gehen! Wenn du eine Grafik in irgend einem Programm machst und dann direkt nach PS/PDF exportierst/druckst, so hast du da keinen Verlust (Vektorgrafik)... Auch wenn du direkt nach PNG abspeicherst, hast du bei Nichtvektorgrafiken keinen Verlust. Mit PDF/PNG hast du genügend Formate um alle Fälle abzudecken!


Nachtrag: l2picfaq.pdf...damit habe ich angefangen, aber das funktionierte eben nicht, LaTeX gab einfach einen Fehler aus (underfull hbox oder so etwas) und das war's. Egal ob PNG oder JPG.

Kann ich mir nicht vorstellen - mach dazu bitte ein Minimalbeispiel!

MfG Bischi

PS: Alles was ich oben gesagt habe, wäre auch im l2picfaq.pdf nachzulesen gewesen ;)

Nils:D
27-09-2007, 18:19
Ich kann das Beispiel irgendwann mal machen, aber eine Sache will ich nun, da es wohl anders nie ankam, im Klartext sagen: ich will keine Bilder, da imho PSTricks eine schönere Lösung ist. Über Geschmäcker kann man nicht diskutieren....

voss: Sieht besser aus, danke.

Was hier schief läuft ist recht simpel, aber schwer zu beheben:
psgraph ist irgendwo fehlerhaft und deshalb werden die darauffolgenden Sachen nicht gezeichnet. Aber abgesehen davon, scheint der Vorschlag von localghost das, was ich auf die hässlichere Weise gemacht habe, auf schön (leider nicht funktionierend) umzusetzen. Die senkrechte Linie geht nämlich nach oben (von y=20 aus), muss aber nach unten gehen.

oSie
27-09-2007, 19:05
voss: Sieht besser aus, danke.


Wie kann das besser aussehen? Er hat aus zwei zusammenhängenden Linien eine Linie gemacht. Wenn sich da bei dir was verändert, läuft irgendwas schief.

localghost
27-09-2007, 19:15
[…] Aber abgesehen davon, scheint der Vorschlag von localghost das, was ich auf die hässlichere Weise gemacht habe, auf schön (leider nicht funktionierend) umzusetzen. Die senkrechte Linie geht nämlich nach oben (von y=20 aus), muss aber nach unten gehen.
Das kann ich überhaupt nicht nachvollziehen. Der Code für deine Zeichnung lässt sich (zu einem Minimalbeispiel (http://www.latex-einfuehrung.de/mini.html) ausgebaut) bei mir fehlerfrei bearbeiten.


\documentclass{article}
\usepackage[margin=2cm,includeheadfoot]{geometry}
\usepackage{pstricks-add}

\begin{document}
\begin{pspicture}[showgrid=true](-1,-1)(8,8)
\begin{psgraph}[Dx=5,Dy=5](0,0)(25,30){7cm}{7cm}
\psline(0,20)(20,20)(20,10)
\end{psgraph}
\end{pspicture}
\end{document}
Da Ergebnis kannst Du dir im Anhang ja mal anschauen. Es basiert auf deinem Beispiel und sieht doch eigentlich recht akzeptabel aus. Ist sicherlich noch ausbaufähig.

Nils:D
28-09-2007, 14:41
oSie: Ich sollte mir "aussehen" in Bezug auf den Code einfach mal abgewöhnen, sry.

localghost: Ich versteh das nicht. Ich habe einfach mal deinen Code direkt genommen, in eine Datei eingefügt und mit dem Programm "latex" zu einer DVI verwandelt. Außer dem Koordinatensystem wird nichts angezeigt. Eben habe ich einfach zum testen mal geschaut, was pdflatex daraus machen würde. Mehrfach hintereinander bekomme ich Fehlermeldungen (es sind einige, ich hoffe, diese reicht):


l.6 \begin{pspicture}[showgrid=true](-1,-1)(8,8)

?
! Undefined control sequence.
<recently read> \c@lor@to@ps

Das Ergebnis ist passenderweise ein Koordinatensystem ohne Linien. Kann es sein, dass tex-live irgendwo einen Fehler drinnen hat oder pstricks-add bei mir nicht ok ist ?

voss
28-09-2007, 21:43
oSie: Ich sollte mir "aussehen" in Bezug auf den Code einfach mal abgewöhnen, sry.

localghost: Ich versteh das nicht. Ich habe einfach mal deinen Code direkt genommen, in eine Datei eingefügt und mit dem Programm "latex" zu einer DVI verwandelt. Außer dem Koordinatensystem wird nichts angezeigt. Eben habe ich einfach zum testen mal geschaut, was pdflatex daraus machen würde. Mehrfach hintereinander bekomme ich Fehlermeldungen (es sind einige, ich hoffe, diese reicht):

Das Ergebnis ist passenderweise ein Koordinatensystem ohne Linien. Kann es sein, dass tex-live irgendwo einen Fehler drinnen hat oder pstricks-add bei mir nicht ok ist ?

http://tug.org/PSTricks/
FDE -> Frequently Done Errors ... Punkt 3

Herbert

Nils:D
29-09-2007, 11:17
Manchmal unglaublich, was für Fehler man manchmal macht. Ich habe es gerade mal zu PostScript konvertiert und es sieht ganz gut aus. Danke an alle, ihr habt mir sehr geholfen. :)