Caixa dividida em duas

Caixa dividida em duas

Preciso criar uma figura com duas figuras pequenas; Quero que seja uma caixa dividida em duas, com uma árvore de sintaxe localizada em cada lado. O MWE abaixo mostra o que estou tentando e falhando:

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

Este código cria duas caixas separadas, o que não é o que eu quero.

Responder1

Você poderia usar um ambiente tabular com linhas como uma caixa dividida:

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

árvores em uma mesa

Se precisar de uma legenda para cada árvore, você pode usar osubcaptionpacote.

Alternativamente, você pode usar um nó retangular dividido com TikZ.

Responder2

Você pode modificar o espaço que está colocando entre as duas caixas para que as bordas se sobreponham. Por padrão, a largura de uma regra é .4pt. Então você obteria:

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

Árvores em caixa dividida

informação relacionada