Paquete forestal para una "mezcla conceptual"

Paquete forestal para una "mezcla conceptual"

)

Estoy intentando crear una figura para una "mezcla conceptual" de la Lingüística Cognitiva. Logré crear "algo" con el paquete forestal, sin embargo, no estoy seguro de cómo agregar las líneas que puede encontrar en la figura original a continuación. Además, mi formato todavía parece un poco incorrecto (interlineado, etc.). ¿Alguien sabe cómo mejorarlo?

Aquí está mi 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}

Así se ve mi código actual:

Mi imagen

Así es como quiero que se vea (la figura original): ingrese la descripción de la imagen aquí

¡Gracias a todos de antemano! ¡Que tengas un buen domingo!

Respuesta1

No creo que ganes nada aquí usando forest. Yo solo usaría tikzcon tikzmark. Haga que cada entrada sea una tikzmarknodey luego haga una adicional tikzpicturecon opciones [remember picture, overlay]para hacer referencia a los nodos. Luego dibuja las líneas discontinuas como quieras. Esto debería ayudarte a comenzar:

ingrese la descripción de la imagen aquí

\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}

información relacionada