「概念融合」森林包

「概念融合」森林包

我正在嘗試為認知語言學的“概念混合”創建一個圖形。我已經設法用森林包創建“一些東西”,但是我不確定如何添加您可以在下面的原始圖中找到的行。另外,我的格式似乎仍然有點偏離(行距等)有人知道如何改進它嗎?

這是我的 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}

我目前的程式碼如下所示:

我的圖像

這是我希望它看起來像這樣(原始圖): 在此輸入影像描述

謝謝大家!週日愉快!

答案1

我不認為你通過使用在這裡獲得任何東西forest。我只想tikz與 一起使用tikzmark。將每個條目設為 a tikzmarknode,然後新增一個附加tikzpicture選項[remember picture, overlay]以引用回節點。然後根據需要繪製虛線。這應該可以幫助您開始:

在此輸入影像描述

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

相關內容