PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abbildung als Pfeildiagramm



Salkin
23-10-2011, 16:43
Hallo,

ist es möglich, ein solches Diagramm mit LaTeX zu realisieren?

http://matheplanet.com/matheplanet/nuke/html/uploads/7/7723_injektiv_5.PNG

Ich habe mir mal dieses "xy"-Paket eingebunden, es damit jedoch nicht geschafft. Bin aber auch noch Anfänger, was TeX anbelangt. ;)

Gruß
Salkin

e271
23-10-2011, 16:51
Suche mal nach tikz.

Salkin
23-10-2011, 17:09
Suche mal nach tikz.
Danke! Hast du vielleicht einen Beispielcode für obiges Beispieldiagramm? Sodass ich den nur anpassen muss? Das wäre echt super, wenn es so etwas gibt.

Gruß
Salkin

e271
23-10-2011, 17:19
Anbei ein Link: http://www.texample.net/tikz/examples/
Da findest Du bestimmt das Richtige.

mechanicus
23-10-2011, 17:33
http://tex.stackexchange.com/questions/19987/drawing-a-bijective-map-with-tikz

Marco

Salkin
25-10-2011, 16:52
http://tex.stackexchange.com/questions/19987/drawing-a-bijective-map-with-tikz

Marco

Fantastisch! Ich bin total begeistert! :)

Salkin
26-10-2011, 14:48
http://tex.stackexchange.com/questions/19987/drawing-a-bijective-map-with-tikz

Marco
Doch nochmal eine Frage: Der folgende Code erzeugt zwar erfolgreich ein Pfeildiagramm, dieses ist jedoch immer am Anfang des Dokuments platziert. Was muss ich ändern, damit das Diagramm korrekt in den Dokumentfluss integriert wird?


\begin{figure}

\begin{tikzpicture}[ele/.style={fill=black,circle,minimum width=.8pt,inner sep=1pt},every fit/.style={ellipse,draw,inner sep=-2pt}]
\node[ele,label=left:$a$] (a1) at (0,4) {};
\node[ele,label=left:$b$] (a2) at (0,3) {};
\node[ele,label=left:$c$] (a3) at (0,2) {};
\node[ele,label=left:$d$] (a4) at (0,1) {};

\node[ele,,label=right:$1$] (b1) at (4,4) {};
\node[ele,,label=right:$2$] (b2) at (4,3) {};
\node[ele,,label=right:$3$] (b3) at (4,2) {};
\node[ele,,label=right:$4$] (b4) at (4,1) {};

\node[draw,fit= (a1) (a2) (a3) (a4),minimum width=2cm] {} ;
\node[draw,fit= (b1) (b2) (b3) (b4),minimum width=2cm] {} ;
\draw[->,thick,shorten <=2pt,shorten >=2pt] (a1) -- (b4);
\draw[->,thick,shorten <=2pt,shorten >=2] (a2) -- (b2);
\draw[->,thick,shorten <=2pt,shorten >=2] (a3) -- (b1);
\draw[->,thick,shorten <=2pt,shorten >=2] (a4) -- (b3);
\end{tikzpicture}
\end{figure}

Gruß
Salkin

rstuby
26-10-2011, 15:07
Es kommt nicht immer an den Anfang des Dokumentes! Hier steht es z.B. am Anfang der zweiten Seite:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\pagestyle{empty}
\usepackage{tikz}
\usetikzlibrary{calc,trees,positioning,arrows,chai ns,shapes.geometric,%
shapes,shadows,matrix}

\begin{document}
\Blindtext
\begin{figure}
\centering
\begin{tikzpicture}[ele/.style={fill=black,minimum size=2pt,circle}, node distance=7pt]
\node[ele] (a1) {};
\node[ele] (a2) [below=of a1] {};
\node[ele] (a3) [below=of a2] {};
\node[ele] (a4) [below=of a3] {};
\node[ele] (b1) [right=of a1,xshift=15pt] {};
\node[ele] (b2) [below=of b1] {};
\node[ele] (b3) [below=of b2] {};
\node[ele] (b4) [below=of b3] {};
\draw[->,thick] (a1) -- (b4);
\draw[->,thick] (a2) -- (b2);
\draw[->,thick] (a3) -- (b1);
\draw[->,thick] (a4) -- (b3);
\end{tikzpicture}
\end{figure}
\end{document}
Wenn du willst, dass sich die figure-Umgebung den passenden Platz nach anderen Kriterien sucht, gib entsprechende Optionen [h] für möglichst hier, [t] möglichst oben auf der Seite, [b] möglichst unten auf der Seite, oder auch mehrere in der Reihenfogle der Priorität.
Wenn du willst, dass das Bild gar nicht gleitet, sondern genau da ausgegeben wird, wo es steht, lass die figure-Umgebung ganz weg. Ähnliches kann man mit der Option [!H] erreichen, aber der Sinn einer Gleitumgebung ist dann nicht mehr klar.