Pacote Florestal para "Combinação Conceitual"

Pacote Florestal para "Combinação Conceitual"

)

Estou tentando criar uma figura para uma "mistura conceitual" da Lingüística Cognitiva. Consegui criar "algo" com o pacote florestal, porém não tenho certeza de como adicionar as linhas que você encontra na figura original abaixo. Além disso, minha formatação ainda parece um pouco errada (espaçamento entre linhas, etc.). Alguém sabe como melhorá-la?

Aqui está meu 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}

É assim que meu código atual se parece:

minha imagem

Aqui está como eu quero que fique (a figura original): insira a descrição da imagem aqui

Obrigado a todos antecipadamente! Tenha um bom domingo!

Responder1

Eu não acho que você ganha nada aqui usando forest. Eu usaria apenas tikzwith tikzmark. Faça cada entrada como a tikzmarknodee, em seguida, faça uma adicional tikzpicturecom opções [remember picture, overlay]para consultar os nós. Em seguida, desenhe as linhas tracejadas como desejar. Isso deve começar:

insira a descrição da imagem aqui

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

informação relacionada