
)
Ich versuche, eine Abbildung für eine „konzeptuelle Mischung“ aus der kognitiven Linguistik zu erstellen. Ich habe es geschafft, mit dem Forest-Paket „etwas“ zu erstellen, bin mir jedoch nicht sicher, wie ich die Zeilen hinzufügen soll, die Sie in der Originalabbildung unten finden. Außerdem scheint meine Formatierung immer noch etwas daneben zu sein (Zeilenabstand usw.). Weiß jemand, wie ich sie verbessern kann?
Hier ist mein MWE
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}% tikz
\usetikzlibrary{arrows.meta,decorations.pathmorphing,backgrounds,fit,positioning,shapes.symbols,chains}
\usepackage[]{forest}% linguistic figures
\begin{document}
\begin{figure}
\begin{center}
\begin{forest}
for tree = {
% node style
circle,
draw,
text width = 10.4em, text centered,
inner sep = 1pt,
anchor = north,
/tikz/every label/.append style = {align=left,
font=\sffamily\scriptsize\linespread{0.84}\selectfont},
% tree style
child anchor=north,
edge = {-{Straight Barb[angle=60:2pt 3]}, semithick},
l sep=12mm,
s sep=2mm,
}
% tree body code
[Agens\\ Patiens\\ Ort\\ Tätigkeit\\ Ziel\\ etc.,]
\end{forest}
\\
\begin{forest}
for tree = {
% node style
circle,
draw,
text width = 10.4em, text centered,
inner sep = 1pt,
anchor = north,
/tikz/every label/.append style = {align=left,
font=\sffamily\scriptsize\linespread{0.84}\selectfont},
% tree style
child anchor=north,
edge = {-{Straight Barb[angle=60:2pt 3]}, semithick},
l sep=12mm,
s sep=2mm,
}
% tree body code
[Agens: Metzger\\ Patiens: Tiere\\ Ort: Fleischerei\\ Tätigkeit: präparieren\\ Ziel: verkaufsfertig machen\\ etc.,]
\end{forest}
\hspace{2.5cm}
\begin{forest}
for tree = {
% node style
circle,
draw,
text width = 10.4em, text centered,
inner sep = 1pt,
anchor = north,
/tikz/every label/.append style = {align=left,
font=\sffamily\scriptsize\linespread{0.84}\selectfont},
% tree style
child anchor=north,
edge = {-{Straight Barb[angle=60:2pt 3]}, semithick},
l sep=12mm,
s sep=2mm,
}
% tree body code
[Agens: Chirurg\\ Patiens: Patient\\ Ort: OP-Saal\\ Tätigkeit: operieren\\ Ziel: heilen\\ etc.,]
\end{forest}
\\
\begin{forest}
for tree = {
% node style
circle,
draw,
text width = 10.4em, text centered,
inner sep = 1pt,
anchor = north,
/tikz/every label/.append style = {align=left,
font=\sffamily\scriptsize\linespread{0.84}\selectfont},
% tree style
child anchor=north,
edge = {-{Straight Barb[angle=60:2pt 3]}, semithick},
l sep=12mm,
s sep=2mm,
}
% tree body code
[Agens: Chirurg\\ Patiens: Patient\\ Ort: OP-Saal\\ Tätigkeit: präparieren\\ Ziel: heilen\\ etc.,]
\end{forest}
\end{center}
\end{figure}
\end{document}
So sieht mein aktueller Code aus:
So soll es aussehen (die Originalabbildung):
Vielen Dank im Voraus! Habt einen schönen Sonntag!
Antwort1
Ich glaube nicht, dass Sie hier etwas gewinnen, wenn Sie verwenden forest
. Ich würde einfach tikz
mit verwenden tikzmark
. Machen Sie jeden Eintrag zu einem tikzmarknode
und erstellen Sie dann einen weiteren tikzpicture
mit Optionen [remember picture, overlay]
, um auf die Knoten zurückzuverweisen. Zeichnen Sie dann die gestrichelten Linien, wie Sie möchten. Dies sollte Ihnen den Einstieg erleichtern:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning, tikzmark}
\tikzset{big circle/.style={draw, circle, minimum width=4cm, align=#1, font=\scriptsize}}
\begin{document}
\[
\begin{tikzpicture}[every node/.style={rectangle, outer sep=1mm, minimum height=5mm}, node distance=0cm and 3cm]
\node[big circle=center, label={90:{\textbf{generischer ,,space``}}}](A){
\tikzmarknode{a1}{Agens}\\
\tikzmarknode{a2}{Patiens}\\
\tikzmarknode{a3}{Ort}\\
\tikzmarknode{a4}{Tätigkeit}\\
\tikzmarknode{a5}{Ziel}\\ etc.};
\node[big circle=right, below left=of A](B){
\tikzmarknode{b1}{Agens: Metzger}\\
\tikzmarknode{b2}{Patiens: Tiere}\\
\tikzmarknode{b3}{Ort: Fleischerei}\\
\tikzmarknode{b4}{Tätigkeit: präparieren}\\
\tikzmarknode{b5}{Ziel: verkaufsfertig machen}\\ etc.};
\node[big circle=left, below right=of A](C){
\tikzmarknode{c1}{Agens: Chirurg}\\
\tikzmarknode{c2}{Patiens: Patient}\\
\tikzmarknode{c3}{Ort: OP-Saal}\\
\tikzmarknode{c4}{Tätigkeit: operieren}\\
\tikzmarknode{c5}{Ziel: heilen}\\ etc.};
\node[big circle=center, below right=of B, label={270:\textbf{,,blended space``}}](D){
\tikzmarknode{d1}{Agens: Chirurg}\\
\tikzmarknode{d2}{Patiens: Patient}\\
\tikzmarknode{d3}{Ort: OP-Saal}\\
\tikzmarknode{d4}{Tätigkeit: präparieren}\\
\tikzmarknode{d5}{Ziel: heilen}\\ etc.};
\end{tikzpicture}
\]
\begin{tikzpicture}[remember picture, overlay]
\draw[dashed](a1)--(b1.east)
(a2)--(b2.east)
(a3)--(b3.east)
(a4)--(b4.east)
(a5)--(b5.east)
(a1)--(c1.west)
(a2)--(c2.west)
(a3)--(c3.west)
(a4)--(c4.west)
(a5)--(c5.west);
\draw[very thick, dashed](b1.east)to[out=45, in=135](d1.west)
(c1.west)to[out=135, in=45](d1.east)
(b4.east)to[out=0, in=180](d4.west);
\end{tikzpicture}
\end{document}