Patrón de límite dentro del nodo tikz

Patrón de límite dentro del nodo tikz

Quiero crear un árbol en tikz, donde resalto ciertos nodos usando un patrón. Sin embargo, quiero limitar el patrón dentro de los rectángulos de modo que el texto sea visible sobre un fondo blanco.

Aquí está el MWE:

\documentclass{article}
\usepackage{graphicx} 

\usepackage{tikz}
\usetikzlibrary{patterns,trees}

\begin{document}

\begin{tikzpicture}[
  every node/.style={rectangle,draw,align=center, minimum height=0.5cm},
  grandchild/.style={grow=down,xshift=0.5em,anchor=west,
    edge from parent path={(\tikzparentnode.south) |- (\tikzchildnode.west)}},
  first/.style={level distance=7mm},
  second/.style={level distance=14mm},
  third/.style={level distance=21mm},
  level 1/.style={sibling distance=12em}]
    \node[font = {\small\bfseries}] {This is a very long root}
    [edge from parent fork down,level distance=10mm]
    child{node[font = {\footnotesize}, style={}] {Foo\\[-0.3mm]Bar}
    [edge from parent fork down,level distance=10mm]
      child[style={sibling distance=6em, level distance=10mm}] {node[font = {\footnotesize}, ]{Alpha}}
      child[style={sibling distance=6em, level distance=10mm}] {node[font = {\footnotesize}]{Beta}
      }
      child[style={sibling distance=6em, level distance=10mm,}] {node[font = {\footnotesize},preaction={clip, postaction={pattern=north west lines, pattern color=red, }}]{Charlie}}
    }
    child{node[font = {\footnotesize},] {Bar\\[-0.3mm]Foo}
      child[grandchild,first] {node[font = {\footnotesize},]{Test 1}}
      child[grandchild,second] {node[font = {\footnotesize},]{Test 2}}
      child[grandchild,third] {node[font = {\footnotesize},preaction={clip, postaction={pattern=north west lines, pattern color=red, }}]{Test 3}}
    };
\end{tikzpicture}

\end{document}

Que produce:

árbol tikz

Mi resultado deseado sería algo como esto:

ingrese la descripción de la imagen aquí

Respuesta1

Podrías ajustar tu texto en un cuadro de color blanco:

\documentclass[border=0.1cm]{standalone}
\usepackage{graphicx} 

\usepackage{tikz}
\usetikzlibrary{patterns,trees}

\setlength{\fboxsep}{1.5pt}

\begin{document}

\begin{tikzpicture}[
  every node/.style={rectangle,draw,align=center, minimum height=0.5cm},
  grandchild/.style={grow=down,xshift=0.5em,anchor=west,
    edge from parent path={(\tikzparentnode.south) |- (\tikzchildnode.west)}},
  first/.style={level distance=7mm},
  second/.style={level distance=14mm},
  third/.style={level distance=21mm},
  level 1/.style={sibling distance=12em}]
    \node[font = {\small\bfseries}] {This is a very long root}
    [edge from parent fork down,level distance=10mm]
    child{node[font = {\footnotesize}, style={}] {Foo\\[-0.3mm]Bar}
    [edge from parent fork down,level distance=10mm]
      child[style={sibling distance=6em, level distance=10mm}] {node[font = {\footnotesize}, ]{Alpha}}
      child[style={sibling distance=6em, level distance=10mm}] {node[font = {\footnotesize}]{Beta}
      }
      child[style={sibling distance=6em, level distance=10mm,}] {node[inner sep=.3333em-\fboxsep,font = {\footnotesize},preaction={clip, postaction={pattern=north west lines, pattern color=red, }}]{\colorbox{white}{Charlie}}}
    }
    child{node[font = {\footnotesize},] {Bar\\[-0.3mm]Foo}
      child[grandchild,first] {node[font = {\footnotesize},]{Test 1}}
      child[grandchild,second] {node[font = {\footnotesize},]{Test 2}}
      child[grandchild,third] {node[inner sep=.3333em-\fboxsep,font = {\footnotesize},preaction={clip, postaction={pattern=north west lines, pattern color=red, }}]{\colorbox{white}{Test 3}}}
    };
\end{tikzpicture}

\end{document}

ingrese la descripción de la imagen aquí

información relacionada