Was ich brauche, ist eine Möglichkeit, eine gewisse Menge von
Bézierkurven zur zeichnen. Wenn die Kurven sich schneiden, muß an
dieser Stelle eine der Kurven unterbrochen werden, so daß der visuelle
Eindruck ensteht, daß eine Kurve über der anderen liegt. Ferner müssen
die Kurven teilweise mit Pfeilen versehen werden, um die Orientierung
anzuzeigen.
Eine Lösung, die auf einer Textbeschreibung (ohne magische Zahlen, wie
sie bei Xy-pic notwendig sind) basiert, wäre mir am liebsten. Notfalls
ginge auch was GUI-mäßiges, was in der Lage ist, Bézier-Kurven
geeignet zu zersägen. (Die üblicherweise angebotene Ebenenfunktion
reicht nicht aus, weil sich eine Kurve selbst schneiden kann.) Das
Ergebnis sollte eine mit LaTeX zu verbeitende Vektorgraphik sein
(z.B. EPS).
Gibt's dafür schon was geeignetes?
> Was ich brauche, ist eine Möglichkeit, eine gewisse Menge von
> Bézierkurven zur zeichnen. Wenn die Kurven sich schneiden, muß an
> dieser Stelle eine der Kurven unterbrochen werden, so daß der visuelle
> Eindruck ensteht, daß eine Kurve über der anderen liegt. Ferner müssen
> die Kurven teilweise mit Pfeilen versehen werden, um die Orientierung
> anzuzeigen.
lässt sich leicht mit PSTricks erreichen, wenn du die
Kurven der Reihe nach zeichnen kannst, also die hinterste
zuerst.
Herbert
--
http://TeXnik.de/
http://PSTricks.de/
ftp://ftp.dante.de/tex-archive/info/math/voss/Voss-Mathmode.pdf
http://www.dante.de/faq/de-tex-faq/
http://www.tex.ac.uk/cgi-bin/texfaq2html?introduction=yes
Da würde ich MetaPost empfehlen, ggf. mit MetaObj. Da gibt es z.B. die
Möglichkeit, die Linien gleich doppelt zu zeichnen, womit sich der
zersägen-Effekt erzeugen lassen müßte.
Joachim
--
Joachim Schlosser
FYI: Dies ist eine gültige und replyfähige Adresse.
http://schlosser.info
> Florian Weimer schrieb:
>> Was ich brauche, ist eine Möglichkeit, eine gewisse Menge von
>> Bézierkurven zur zeichnen. Wenn die Kurven sich schneiden, muß an
>> dieser Stelle eine der Kurven unterbrochen werden, so daß der visuelle
>> Eindruck ensteht, daß eine Kurve über der anderen liegt. Ferner müssen
>> die Kurven teilweise mit Pfeilen versehen werden, um die Orientierung
>> anzuzeigen.
>> Gibt's dafür schon was geeignetes?
>
> Da würde ich MetaPost empfehlen, ggf. mit MetaObj. Da gibt es z.B. die
> Möglichkeit, die Linien gleich doppelt zu zeichnen, womit sich der
> zersägen-Effekt erzeugen lassen müßte.
Nein, eben nicht. Das geht nur für ganz bestimmte Ausschnitte von
manchen Knotendiagrammen (die nur ganz unwesentlich verknoten sind).
Was man mit Metapost allerdings machen kann, ist Schnittpunkte von
Pfaden ausrechnen und diese dann dort auseinandersägen
(intersectiontimes, cutbefore, cutafter usw.). Das ist schon einmal
das notwendige Handwerkszeug, und ich kann mir ein paar unangenehme
Details geometrischer Datenverarbeitung ersparen. Allerdings hatte ich
das eher als Notnagel gedacht. 8-)
Schade, dann setzt MetaPost die doppelten wohl auch in zwei
Durchgängen, was den Effekt kaputt macht.
> Was man mit Metapost allerdings machen kann, ist Schnittpunkte von
> Pfaden ausrechnen und diese dann dort auseinandersägen
> (intersectiontimes, cutbefore, cutafter usw.). Das ist schon einmal
> das notwendige Handwerkszeug, und ich kann mir ein paar unangenehme
> Details geometrischer Datenverarbeitung ersparen. Allerdings hatte ich
> das eher als Notnagel gedacht. 8-)
Wenn Du es fertig hast, kannst Du ja die Lösung hier oder als Paket
veröffentlichen, würde mich interessieren.
Joachim
--
Joachim Schlosser
(The e-mail address is fully repliable.)
http://schlosser.info
> Ich muß einen ganzen Haufen Knotendiagramme produzieren (oder genauer:
> Ausschnitte von orientierten Link-Diagrammen). Bislang verwende ich
> Xy-pic, aber das sieht, wenn man nicht gehörigen Aufwand treibt und
> lauter magische Zahlen einstreut, nicht so toll aus -- oder die
> Darstellung ist gar nicht möglich (weil die Diagramme nicht das sind,
> was in der Literatur mitunter "reachable" genannt wird).
Klingt nach graphviz. Seit neustem sogar mit brauchbarer Lizenz zu
haben.
S°
--
Sven Hartge -- professioneller Unix-Geek und alltime Nerd
Meine Gedanken im Netz: http://sven.formvision.de/blog/
> [...]
>
> Gibt's dafür schon was geeignetes?
Hi,
In Blender lassen sich verschiedenste Arten von Kurven
(z.B.Bézierkurven) zeichnen. Zudem hat es eine programmierbare Python
Schnittstelle. Übereinander zeichnen kannst du evtl. mit Hilfe der
z-Achse. Als Ausgabeformat bieten sich diverse 2D- oder 3D-Formate
an. Bestimmt lässt sich eines in latex nutzen oder mit Hilfe eines
dritten Programmes entsprechend konvertieren. Vielleicht gibt es
irgendwo im Netz auch einen EPS-Exporter für Blender. Ansonsten könnte
man auch ein Exporter-Modul schreiben um EPS zu erzeugen. Ist halt
abhängig davon wie dringend man es braucht und wieviel Zeit man
investieren will. Vielleicht hilft das weiter...
Gruß
Andreas
Vielleicht hilft
"PyX - Python graphics package"
==> http://pyx.sourceforge.net/
...Rolf
> * Joachim Schlosser:
>> Da würde ich MetaPost empfehlen, ggf. mit MetaObj. Da gibt es z.B. die
>> Möglichkeit, die Linien gleich doppelt zu zeichnen, womit sich der
>> zersägen-Effekt erzeugen lassen müßte.
>
> Nein, eben nicht. Das geht nur für ganz bestimmte Ausschnitte von
> manchen Knotendiagrammen (die nur ganz unwesentlich verknoten sind).
Kannst du mal einen Verweis (Link) auf ein entsprechend
komplexes Diagramm (Grafik) geben. Würd' mich einfach nur
interessieren...
j.
> lässt sich leicht mit PSTricks erreichen, wenn du die
> Kurven der Reihe nach zeichnen kannst, also die hinterste
> zuerst.
\documentclass{article}
\usepackage{pstricks}
\begin{document}
\psbezier[linewidth=2pt,linecolor=red](1,1)(3,-3)(5,1)
\psbezier[border=2pt,linewidth=2pt,linecolor=blue](1,-1)(3,3)(5,-1)
\end{document}
<http://www2.math.uic.edu/~kauffman/>, insbesondere die Diagramme
unten.
>> lässt sich leicht mit PSTricks erreichen, wenn du die
>> Kurven der Reihe nach zeichnen kannst, also die hinterste
>> zuerst.
Das ist nicht der Fall, sonst ergibt sich niemals das, was
umgangssprachlich als Knoten bezeichnet wird.
> \psbezier[linewidth=2pt,linecolor=red](1,1)(3,-3)(5,1)
> \psbezier[border=2pt,linewidth=2pt,linecolor=blue](1,-1)(3,3)(5,-1)
Im allgemeinen muß die rote Kurve sowohl über als auch unter der
blauen liegen. 8-(
> * Jens-Uwe Morawski:
>> Kannst du mal einen Verweis (Link) auf ein entsprechend
>> komplexes Diagramm (Grafik) geben. Würd' mich einfach nur
>> interessieren...
>
> <http://www2.math.uic.edu/~kauffman/>, insbesondere die Diagramme
> unten.
Ahh, jetzt verstehe ich; ist ja echt augenkrebsverdächtig ;-)
j.
ist es unter TeX möglich, einfach einen Zeitstrahl zu erstellen. Ich
möchte Daten mit den entsprechenden Ereignissen auf einer Linie mit den
relativen Entfernungen zueinander darstellen (wie ein Zeitstrahl eben ;-) )
Falls es diese Möglichkeit nicht unter Latex gibt es es mit einem
anderen Programm einfach möglich ?
Vielen Dank
Markus Göbelsmann
ist es unter TeX möglich, einfach einen Zeitstrahl zu erstellen. Ich
möchte Daten mit den entsprechenden Ereignissen auf einer Linie mit den
relativen Entfernungen zueinander darstellen (wie ein Zeitstrahl eben )
Hallo Markus,
kennst Du das Programm xfig? Das ist ein Vektorzeichenprogramm und hat
eine sehr gute Schnittstelle zu LaTeX (www.xfig.org). Die
Benutzerführung ist anfänglich zwar etwas ungewohnt, nach einer
kleineren Eingewöhnungsphase möchtest Du jedoch nicht mehr darauf
verzichten.
Gruß, Martin
> ist es unter TeX möglich, einfach einen Zeitstrahl zu erstellen.
<http://www.tug.org/tex-archive/macros/latex209/contrib/misc/timeline.sty>
erstellt zwar keine Linie, aber die Punkte haben proportionalen
Abstand entsprechend der Zeitangabe.
Roman STALLA
--
Die schärfsten Kritiker der Elche
waren früher selber welche.
(F.W. Bernstein)
> kennst Du das Programm xfig? Das ist ein Vektorzeichenprogramm und hat
> eine sehr gute Schnittstelle zu LaTeX (www.xfig.org).
Ein anderes Vektorzeichenprogramm ist wäre Inkscape. Dies macht einen ganz
guten Eindruck. Ein exportieren in eps, png, usw. ist möglich.
Gruß
Dirk
Mit \optrule zeichet es auch eine (senkrechte) Linie. Aber so richtig schön
ist's irgendwie nicht.
Gefunden (aber noch nicht getestet) habe ich noch
http://www.dcs.st-and.ac.uk/~tws/resources/latex/timeline.zip
Bye
woffi
--
It's so simple to be wise. Just think of something stupid
to say and say the opposite.
- Sam Levenson
z.B. mit PSTricks
Herbert
\documentclass[12pt]{article}
\usepackage{pst-grad}
\usepackage{pstricks-add}
\SpecialCoor
\newsavebox\TBox
\pagestyle{empty}
\psset{gradbegin=white,gradend=lightgray}
\newcommand\BoxText[3][3cm]{%
\savebox\TBox{\parbox{#1}{#3}}
\rput[t](#2){\psframebox[fillstyle=gradient]{\usebox\TBox}}%
\pnode(#2|0,0){A}\pnode(#2){B}
\ncline{->}{A}{B}%
}
\begin{document}
\psset{xunit=0.05cm}
\begin{pspicture}(1900,0.25)(2200,-10)
\psaxes[yAxis=false,Dx=50,Ox=1900]{|->}(1900,0)(1900,0)(2200,-10)%
\BoxText{2150,-1}{%
Hier muss jetzt irgendetwas hinkommen, was, weiss ich auch nicht genau}
\BoxText{2088,-4}{%
Hier muss jetzt irgendetwas hinkommen, was, weiss ich auch nicht genau}
\BoxText{1921,-1}{%
Hier muss jetzt irgendetwas hinkommen, was, weiss ich auch nicht genau}
\end{pspicture}
\end{document}
Mit PSTricks geht es ganz gut und sieht auch gut aus.
Lassen sich auch Tage damit realisieren, also von z.B 1518 bis 1521 mit
Punkten am 12.10.1518 und so weiter?
Vielen Dank
Markus
sicher, aber entweder wählst du gleich Tage als x-Einheit
oder eben das Jahr und rechnest einfach 15.10. in Jahre
um und beginnst der EInfachheit halber bei 0, was dann
dem 1.1.1518 entspricht. Der 15.10.1518 ist dann eben
ungefähr 0.767. Bezihungsweise der 10.2.1519 dann 1.1123
1+41/365
HErbert
\documentclass[12pt,ngerman]{article}
\usepackage{pst-grad}
\usepackage{pstricks-add}
\usepackage{babel}
\SpecialCoor
\newsavebox\TBox
\pagestyle{empty}
\psset{gradbegin=white,gradend=lightgray}
\newcommand\BoxText[4][3cm]{%
\savebox\TBox{\parbox{#1}{#4}}
\rput[t](#2){\psframebox[fillstyle=gradient]{\usebox\TBox}}%
\pnode(#2|0,0){A}\pnode(#2){B}
\ncline{->}{A}{B}%
\uput*{0.5cm}[-90](A){\footnotesize #3}%
}
\begin{document}
\begin{pspicture}(0,0.25)(2.5,-10)
\psset{xunit=5}
\psaxes[yAxis=false,Ox=1518]{|->}(0,0)(2.5,-10)%
\BoxText[4cm]{1.1123,-5.5}{10.2.}{%
Hier muss jetzt irgendetwas hinkommen, was, weiss ich auch nicht genau}
\BoxText{.767,-2}{15.10.}{%