Box in zwei Teile teilen

Box in zwei Teile teilen

Ich muss eine Figur mit zwei kleinen Figuren erstellen. Es soll eine in zwei Hälften geteilte Box sein, auf jeder Seite mit einem Syntaxbaum. Das folgende MWE zeigt, was ich versuche und womit ich scheitere:

\documentclass{article}
\usepackage{tikz-qtree}
\usepackage{ textcomp }
\newcommand\TR[1]{\textlangle#1\textrangle}
\begin{document}
\begin{figure}[ht]
    \fbox{
        \begin{minipage}[b]{0.5\linewidth}
            \centering
            \begin{tikzpicture}
                \tikzset{every tree node/.style={align=center,anchor=north}}
                \Tree [ .NP [ .vP[DE] { } [ .v' v\\dai [ .VP { } [ .V' V\\\TR{dai} yanjing ] ] ] ] NP\\nanhai ]
                \end{tikzpicture}
                \caption{default}
            \label{fig:figure1}
        \end{minipage}
    }
    \hspace{0.5cm}
    \fbox{
        \begin{minipage}[b]{0.5\linewidth}
            \centering
            \begin{tikzpicture}
                \tikzset{every tree node/.style={align=center,anchor=north}}
                \Tree [ .NP [ .vP[DE] { } [ .v' v\\dai [ .VP { } [ .V' V\\\TR{dai} yanjing ] ] ] ] NP\\nanhai ]
            \end{tikzpicture}
            \caption{default}
            \label{fig:figure2}
        \end{minipage}
    }
\end{figure}
\end{document}

Dieser Code erstellt zwei separate Boxen, was ich nicht möchte.

Antwort1

Sie könnten eine tabellarische Umgebung mit Zeilen wie einer geteilten Box verwenden:

\documentclass{article}
\usepackage{tikz-qtree}
\usepackage{ textcomp}
\usepackage{array}
\newcommand\TR[1]{\textlangle#1\textrangle}
\begin{document}
\begin{figure}[ht]
    \begin{tabular}{|*2{>{\centering\arraybackslash}p{0.5\linewidth}|}}
            \hline
            \begin{tikzpicture}
                \tikzset{every tree node/.style={align=center,anchor=north}}
                \Tree [ .NP [ .vP[DE] { } [ .v' v\\dai [ .VP { } [ .V' V\\\TR{dai} yanjing ] ] ] ] NP\\nanhai ]
            \end{tikzpicture}
            & \begin{tikzpicture}
                \tikzset{every tree node/.style={align=center,anchor=north}}
                \Tree [ .NP [ .vP[DE] { } [ .v' v\\dai [ .VP { } [ .V' V\\\TR{dai} yanjing ] ] ] ] NP\\nanhai ]
            \end{tikzpicture}\\\hline
    \end{tabular}
\end{figure}
\end{document}

Bäume in einer Tabelle

Wenn Sie für jeden Baum eine Beschriftung benötigen, können Sie diesubcaptionPaket.

Alternativ können Sie mit TikZ einen geteilten rechteckigen Knoten verwenden.

Antwort2

Sie können den Abstand zwischen den beiden Feldern so ändern, dass sich die Ränder überlappen. Standardmäßig beträgt die Breite einer Linie .4pt. Sie erhalten also:

\documentclass{article}
\usepackage{tikz-qtree}
\usepackage{ textcomp }
\newcommand\TR[1]{\textlangle#1\textrangle}
\begin{document}
\begin{figure}[ht]
    \fbox{
        \begin{minipage}[b]{0.5\linewidth}
            \centering
            \begin{tikzpicture}
                \tikzset{every tree node/.style={align=center,anchor=north}}
                \Tree [ .NP [ .vP[DE] { } [ .v' v\\dai [ .VP { } [ .V' V\\\TR{dai} yanjing ] ] ] ] NP\\nanhai ]
                \end{tikzpicture}
                \caption{default}
            \label{fig:figure1}
        \end{minipage}
    }%
    \hspace{-.4pt}%
    \fbox{
        \begin{minipage}[b]{0.5\linewidth}
            \centering
            \begin{tikzpicture}
                \tikzset{every tree node/.style={align=center,anchor=north}}
                \Tree [ .NP [ .vP[DE] { } [ .v' v\\dai [ .VP { } [ .V' V\\\TR{dai} yanjing ] ] ] ] NP\\nanhai ]
            \end{tikzpicture}
            \caption{default}
            \label{fig:figure2}
        \end{minipage}
    }
\end{figure}
\end{document}

Bäume im Splittkasten

verwandte Informationen