El árbol que crece hacia el este no encaja en tikzpicture

El árbol que crece hacia el este no encaja en tikzpicture

este codigo

\documentclass[a4paper]{article}

\usepackage{tikz}
    \usetikzlibrary{backgrounds}

\usepackage{forest}

\begin{document}
We are the knights who say "Ni!".
\begin{center}
\begin{tikzpicture}[framed]
    \begin{forest}
        [,for tree={grow'=east},shape=coordinate
            [
                [
                    []
                    []
                ]
                [
                    []
                    []
                ]
            ]
            [
                [
                    []
                    []
                ]
                [
                    []
                    []
                ]
            ]
        ]
        \end{forest}
\end{tikzpicture}
\end{center}
\end{document}

me da

Resultados del código anterior

Claramente, el árbol se sale de los límites de la imagen, lo que hace que se superponga al texto de arriba. ¿Se trata de un error conocido o de un error garrafal de mi parte? ¿Existe alguna solución?

Respuesta1

No creo que sea una buena idea poner un forestambiente dentro de un tikzpicturey sospecho firmemente que pueden suceder cosas malas inesperadamente. En general, el anidamiento de mensajes de correo electrónico tikzpicturea veces funciona en casos simples, pero se sabe que es problemático. (Es decir, si funciona, funciona. Si no funciona, puedes quedarte con ambas piezas). Recuerda que a forestes a tikzpicture, por lo que esencialmente estás diciendo

\begin{tikzpicture}[framed]
  ...
  \begin{tikzpicture}
    ...

Para su ejemplo, funciona si ajusta la baselineimagen de manera adecuada.

  \begin{tikzpicture}[framed,baseline=(current bounding box.center)]

Sin embargo, creo que sería más seguro dibujar el marco como parte del archivo forest. Supongo que, eventualmente, querrás tener algo más elegante que una simple caja. Si no, existen enfoques más simples. Pero se puede añadir fácilmente un trasfondo complejo como parte de la forestpropia especificación. Hay varias maneras de hacer esto.

\begin{forest}
  [
    ..
  ]
  \begin{scope}[on background layer]
    <drawing commands>
  \end{scope}
\end{forest}

O los comandos de dibujo se pueden agregar como parte de la especificación del árbol o en el preámbulo del árbol. Por ejemplo,

  \begin{forest}
    [,for tree={grow'=east},shape=coordinate, tikz+={%
      \begin{scope}[on background layer]
        \node [fit=(current bounding box.north east) (current bounding box.south west), draw=blue!50!cyan, outer color=blue!50!cyan!25, inner color=blue!50!cyan!10, rounded corners, line width=1mm] {};
      \end{scope}
    }
        [
    ...
  \end{forest}

árboles en caja

Código completo para ejemplos:

\documentclass[a4paper]{article}
\usepackage{forest}
\usetikzlibrary{backgrounds,fit}

\begin{document}
We are the knights who say "Ni!".
\begin{center}
  \begin{tikzpicture}[framed,baseline=(current bounding box.center)]
    \begin{forest}
      [,for tree={grow'=east},shape=coordinate
          [
              [
                  []
                  []
              ]
              [
                  []
                  []
              ]
          ]
          [
              [
                  []
                  []
              ]
              [
                  []
                  []
              ]
          ]
      ]
    \end{forest}
  \end{tikzpicture}
\end{center}
We are the knights who say "Ni!".
\begin{center}
  \begin{forest}
    [,for tree={grow'=east},shape=coordinate, tikz+={%
      \begin{scope}[on background layer]
        \node [fit=(current bounding box.north east) (current bounding box.south west), draw=blue!50!cyan, outer color=blue!50!cyan!25, inner color=blue!50!cyan!10, rounded corners, line width=1mm] {};
      \end{scope}
    }
        [
            [
                []
                []
            ]
            [
                []
                []
            ]
        ]
        [
            [
                []
                []
            ]
            [
                []
                []
            ]
        ]
    ]
  \end{forest}
\end{center}
\end{document}

información relacionada