Hallo zusammen. Ich hätte in der folgenden Grafik anstatt den normalen Pfeilen gerne Abbildungspfeile, also quasi Pfeile die einem "mapsto" entsprechen. Ist dies Irgendwie möglich? Viele Grüße, Christian

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath}
\usepackage{tikz}
\usepackage{amsfonts}
\usepackage{amssymb}
\newcommand\punkte[2][]{%
\foreach \p in {#2}
\node[draw,fill,circle,red,minimum size=2pt,inner sep=0pt,#1]at\p{};
}
\usetikzlibrary{positioning,arrows}
\tikzset{
state/.style={circle,draw,minimum size=6ex},
arrow/.style={-latex}}
\usetikzlibrary{hobby}
\begin{document}
\begin{tikzpicture}[scale=0.8]
\draw (0,0) ellipse (30pt and 10pt)node[anchor=east]{$y$};
\draw (0,2) ellipse (30pt and 10pt)node[anchor=east]{$x_i$};
\draw (0,4) ellipse (30pt and 10pt)node[anchor=east]{$x_j$};
\node at (-1.5,2){$U_i$};
\node at (-1.5,4){$U_j$};
\draw [arrow, bend left](1.2,2) to (1.2,0);
\draw [arrow, bend left](1.2,4) to (1.4,0);
\punkte{(0,0),(0,2),(0,4)};
\end{tikzpicture}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gefragt 17 Jan '15, 14:06

Chris3148's gravatar image

Chris3148
1615712
Akzeptiert-Rate: 66%

bearbeitet 07 Feb '16, 10:52

saputello's gravatar image

saputello
11.1k174365

1

utf8x solltest Du übrigens nur verwenden, wenn Du es unbedingt brauchst. Für westliche Sprachen genügt normalerweise utf8. utf8x macht mit einigen Paketen nämlich Probleme.

(21 Jan '15, 17:55) saputello

Hallo Christian,

meinst du so:

Open in writeLaTeX
Code, hier editierbar zum Übersetzen:
\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath}
\usepackage{tikz}
\usepackage{amsfonts}
\usepackage{amssymb}
\newcommand\punkte[2][]{%
\foreach \p in {#2}
\node[draw,fill,circle,red,minimum size=2pt,inner sep=0pt,#1]at\p{};
}
\usetikzlibrary{positioning,arrows}
\tikzset{
state/.style={circle,draw,minimum size=6ex},
arrow/.style={|-latex}}
\usetikzlibrary{hobby}
\begin{document}
\begin{tikzpicture}[scale=0.8]
\draw (0,0) ellipse (30pt and 10pt)node[anchor=east]{$y$};
\draw (0,2) ellipse (30pt and 10pt)node[anchor=east]{$x_i$};
\draw (0,4) ellipse (30pt and 10pt)node[anchor=east]{$x_j$};
\node at (-1.5,2){$U_i$};
\node at (-1.5,4){$U_j$};
\draw [arrow, bend left](1.2,2) to (1.2,0);
\draw [arrow, bend left](1.2,4) to (1.4,0);
\punkte{(0,0),(0,2),(0,4)};
\end{tikzpicture}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Ich hab arrow/.style={-latex}} auf arrow/.style={|-latex}} geändert.

Die arrows Library scheint übrigens veraltet zu sein. Man benützt nun arrows.meta

Gruß Tom

Permanenter link

beantwortet 17 Jan '15, 14:33

tom75's gravatar image

tom75
2.2k277984
Akzeptiert-Rate: 57%

Ja, genauso habe ich mir das vorgestellt. Ich danke euch beiden vielmals. Und auch nochmal danke für die Tips bzgl. des Codes. Ich bin noch nicht ganz so vertraut damit und sowas bringt einen immer weiter.

(21 Jan '15, 17:19) Chris3148

Die gewünschte Pfeilform kannst Du, wie schon @tom75 geschrieben hat, mit |-latex zeichnen lassen und das sogar ganz ohne irgendeine Pfeilbibliothek zu laden. Erst wenn Du die Pfeile weiter anpassen möchtest, brauchst Du die arrows.meta Bibliothek.

In Deinem Code fällt mir aber vor allem auf, dass Du die Koordinaten für die Beschriftung und die Pfeile absolut angibst. Du könntest auch ellipse Nodes verwenden und diese dann beschriften und verbinden lassen. Ein leicht vergrößerter outer sep sorgt dafür, dass die Pfeile etwas Abstand zu den Nodes haben. Wenn Du dann noch \foreach Schleifen verwendest, musst Du die verschiedenen y Koordinaten sogar nur einmal eingeben. Außerdem würde ich den Wert für bend left etwas vergrößern.

Open in writeLaTeX
Code, hier editierbar zum Übersetzen:
\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}% für Ellipsen
\tikzset{
arrow/.style={|-latex},
myellipse/.style={ellipse,draw,
minimum width=60pt, minimum height=20pt,
inner sep=0pt,outer sep=3pt}
}
\newcommand\punkte[2][]{%
\foreach \p in {#2}
\node[draw,fill,circle,red,minimum size=2pt,inner sep=0pt,#1]at\p{};
}
\begin{document}
\begin{tikzpicture}[scale=0.8]
\foreach[count=\i] \y/\t/\b in {0/y/, 2/x_i/U_i, 4/x_j/U_j}{
\path(0,\y)
node(e\i)[myellipse,transform shape,label=left:$\b$]{}
node[anchor=east]{$\t$};
\punkte{(0,\y)}
}
\foreach \i/\v in {2/3pt,3/-3pt}
\draw [arrow, bend left=60](e\i.east) to ([yshift=\v]e1.east);
\end{tikzpicture}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text

Oder man verwendet beim Zeichnen der Pfeile out=0,in=0 statt bend left:

Open in writeLaTeX
Code, hier editierbar zum Übersetzen:
\foreach \i/\v in {2/3pt,3/-3pt}
\draw [arrow, out=0,in=0](e\i.east) to ([yshift=\v]e1.east);
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text

Permanenter link

beantwortet 17 Jan '15, 15:15

esdd's gravatar image

esdd
17.8k294257
Akzeptiert-Rate: 62%

bearbeitet 18 Jan '15, 02:17

Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×731
×35
×6

gestellte Frage: 17 Jan '15, 14:06

Frage wurde gesehen: 14,468 Mal

zuletzt geändert: 07 Feb '16, 10:52

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×