
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}
Se precisar de uma legenda para cada árvore, você pode usar osubcaption
pacote.
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}