
Necesito crear una figura con dos figuras pequeñas; Quiero que sea un cuadro dividido en dos, con un árbol de sintaxis ubicado en cada lado. El MWE a continuación muestra lo que estoy intentando y fallando:
\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 crea dos cuadros separados, que no es lo que quiero.
Respuesta1
Podrías usar un entorno tabular con líneas como un cuadro dividido:
\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}
Si necesita un título para cada árbol, puede utilizar elsubcaption
paquete.
Alternativamente, puedes usar un nodo rectangular dividido con TikZ.
Respuesta2
Podrías modificar el espacio que estás poniendo entre los dos cuadros para que los bordes se superpongan. Por defecto, el ancho de una regla es .4pt
. Entonces obtendrías:
\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}