Ich habe auch viel Zeit mit dieser Figur verbracht und verschiedene Arten von Tikz-, Pstricks- und Multido-Paketen ausprobiert. Ich möchte eine Figur erstellen, die so aussieht:
Ich habe folgendes geschrieben:
\documentclass{article}
\usepackage{MinionPro}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (10,0) ellipse (1.7cm and 0.9cm);
\draw (5,0) ellipse (1.7cm and 0.9cm);
\draw (2,-3) ellipse (1.7cm and 0.9cm);
\draw (2,3) ellipse (1.7cm and 0.9cm);
\end{tikzpicture}
\end{document}
Es sieht aus wie das:
Ich muss in die Auslassungspunkte und Linien zu jedem Text einen zentrierten Text einfügen. Kann mir bitte jemand sagen, wie das geht?
Ein riesengroßes Dankeschön!
Antwort1
Lösung 1 wie in der ersten Version des OP gefragt:
Die Feinabstimmung überlasse ich dir. Passe einfach die Höhe und Breite der Ellipsen an und stelle sie \begin{tikzcd}[column sep=xxx, row sep=xxx]...
nach Belieben ein. Wenn du die Pfeilspitzen ändern möchtest, kannst du hier auf dieser Seite suchen. Hilfe dazu gibt es überall.
% arara: pdflatex
\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzcd}[cells={nodes={%
,ellipse
,minimum width=4cm
,minimum height=1cm
,draw
,align=center
}}]
Expectations
\arrow[<->, bend right,start anchor=190,end anchor=170]{dd}{D}
\arrow{dr}[swap]{A}
\arrow{drr}{F}
&[-2cm] & \\
& Disconfirmation \arrow{r}{C} & Satisfaction\\
Performance
\arrow{ur}{B}
\arrow{urr}[swap]{E}
& &
\end{tikzcd}
\end{document}
Lösung 2 wie in Version 3 des OP gefragt:
% arara: pdflatex
\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzcd}[cells={nodes={%
,ellipse
,minimum width=4.5cm
,minimum height=1.5cm
,draw
,align=center
}}
,every arrow/.append style={-LaTeX, >=LaTeX}
,row sep=2cm
,column sep=2cm
]
Expectations
\arrow[<->, bend right=50,start anchor=185,end anchor=175]{dd}{D(+)}
\arrow{dr}[swap]{A(-)}
\arrow{drr}{F(\pm)}
&[-4cm] & \\
& (Dis)confirmation \arrow{r}{C(+)} & Satisfaction\\
\begin{tabular}{@{}c@{}}General\\ Performance\end{tabular}
\arrow{ur}{B(+)}
\arrow{urr}[swap]{E(+)}
& &
\end{tikzcd}
\end{document}
Antwort2
Lösungsvorschlag zur ursprünglichen Frage:
\documentclass[tikz,border=2mm]{standalone}
%\usepackage{MinionPro}
\usepackage{tikz}
\usetikzlibrary{positioning, shapes.geometric, arrows.meta}
\begin{document}
\begin{tikzpicture}[ball/.style={ellipse, minimum width=2cm, minimum height=1cm, draw}, >=LaTeX]
\node[ball] (dis) {Disconfirmation};
\node[ball, below left=2cm and 5mm of dis] (per) {Performance};
\node[ball, above left=2cm and 5mm of dis] (exp) {Expectations};
\node[ball, right=2cm of dis] (sat) {Satisfaction};
\draw[->] (exp) -- node [below] {A} (dis);
\draw[->] (exp) -- node [above] {F} (sat);
\draw[->] (per) -- node [above] {B} (dis);
\draw[->] (per) -- node [below] {E} (sat);
\draw[->] (dis) -- node [above] {C} (sat);
\draw[<->] (per) to [in=200,out=160] node [right] {A} (exp);
\end{tikzpicture}
\end{document}
Aktualisieren:
nodes
können Ellipsen sein, die die shapes.geometric-Bibliothek laden. Wenn minimum width
und minimum height
groß genug sind, um den größten Inhalt aufzunehmen, haben alle Knoten eine ähnliche Größe. Wenn align
die Option definiert ist, \\
kann innerhalb des Knoteninhalts verwendet werden, um Zeilen zu unterbrechen. Eine andere Option könnte darin bestehen, bestimmte zu definieren, text width
die Zeilen automatisch unterbrechen, obwohl dies immer noch mit erzwungen werden kann \\
.
\documentclass[tikz,border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning, shapes.geometric, arrows.meta}
\begin{document}
\begin{tikzpicture}[ball/.style={ellipse, minimum width=4.5cm,
minimum height=1cm, align=center, draw}, >=LaTeX]
\node[ball] (dis) {Disconfirmation(Dis)confirmation};
\node[ball, below left=2cm and 5mm of dis] (per) {General Performance};
\node[ball, above left=2cm and 5mm of dis] (exp) {Expectations};
\node[ball, right=2cm of dis] (sat) {Satisfaction};
\draw[->] (exp) -- node [below][below left] {A $(-)$} (dis);
\draw[->] (exp) -- node [above][above right] {F $(\pm)$} (sat);
\draw[->] (per) -- node [above][above left] {B $(+)$} (dis);
\draw[->] (per) -- node [below][below right] {E $(+)$} (sat);
\draw[->] (dis) -- node [above] {C $(+)$} (sat);
\draw[<->] (per) to [in=200,out=160] node [right] {AD $(+)$} (exp);
\end{tikzpicture}
\end{document}