我将一个框分成两半,并在 Tikz 中绘制。示例代码如下:
\begin{figure}[!h]
\scalebox{1.5}{
\begin{tikzpicture}
\filldraw[fill=gray!40!white, draw=black] (0,0) rectangle (4,2);
\node[black](dot) at (2,1) {\textbullet};
%\node[below=0cm of dot] {\small{$x_a$}};
\draw[dashed] (1,-1) -- (3,3) ;
\node[] at (1,1.5) {\small{$r^\top x_a \geq r^\top x$}};
\node[] at (3,0.5) {\small{$r^\top x_a \leq r^\top x$}};
\node[] at (3.2,3.3) {\small{$r^\top x_a$}};
\end{tikzpicture}
}
\end{figure}
得出的结果为:
现在我将计算两半中的一些数学知识,然后再次划分每一半,依此类推。因此,我需要使用一些分支定界结构,但每个元素都应该是像上面那样的几何形状。我只需要有一棵树,其中的元素都是我将插入的几何形状(感谢@marmot)
任何模板或示例链接都将非常感谢。
答案1
这是一个建议。
\documentclass{article}
\usepackage{forest}
\usepackage{mathrsfs}
\begin{document}
\begin{forest}
for tree={s sep+=3em,l sep+=1em}
[$\mathscr{Z}$,minimum width=3cm,minimum height=1.2cm,draw,label=right:$x_2$,
alias=n1
[$\mathscr{Z}_{11}$,minimum width=1.2cm,minimum height=1.2cm,draw,trapezium,
trapezium left angle=90, trapezium right angle=60,label=right:$x_2^{(1,1)}$,
alias=n11]
[$\mathscr{Z}_{12}$,minimum width=1.2cm,minimum height=1.2cm,draw,,draw,trapezium,
trapezium left angle=120, trapezium right angle=90,label=right:$x_2^{(1,1)}$,
alias=n12]
]
\path (n1.south) -- (n11.north) coordinate[midway] (aux);
\draw[dashed] (current bounding box.west|-aux)--
(current bounding box.east|-aux);
\end{forest}
\end{document}
答案2
这是另一个建议。
\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}
\def\initialrectangle{
\draw[fill=gray!40!white] (0,0) rectangle (4,2)
(1,1.5) node{Tom} (3,0.5) node{Jerry};
}
\initialrectangle
\draw[dashed] (1,-1)--(3,3) node[above]{separator};
\begin{scope}[shift={(-100:3.5)}]
\clip (1,-1)--(3,3)-|(0,0);
\initialrectangle
\end{scope}
\begin{scope}[shift={(-80:3.5)}]
\clip (3,3)--(1,-1)-|(4,2);
\initialrectangle
\end{scope}
\end{tikzpicture}
\end{document}