Exemplo de trabalho

Exemplo de trabalho

Usando algumas formas personalizadas descobri que os rótulos de texto não são considerados para o cálculo da caixa delimitadora das minhas formas. Preciso desenhar alguma forma (invisível) para gerar a caixa delimitadora ou existe uma maneira direta de especificá-la?

Abaixo está um exemplo mínimo que mostra o problema. Quero uma definição adequada da forma, de modo que o texto permaneça dentro do quadro.

\documentclass{article}

\usepackage{tikz}

\pgfdeclareshape{test}{
    \anchor{center}{\pgfpointorigin}
    \anchor{text}{\pgfpointorigin}
}

\begin{document}
\framebox{%
\begin{tikzpicture}
\draw node[test] {Some text};
\end{tikzpicture}
}
\end{document}

Basicamente eu quero replicar o seguinte

\framebox{%
\begin{tikzpicture}
\draw node[inner sep=0] {Some text};
\end{tikzpicture}
}

Comparando os dois o resultado é o seguinte:

insira a descrição da imagem aqui

Responder1

Você pode usar \inheritsavedanchorse \inheritbackgroundpathse não quiser fazer o trabalho sujo.

Exemplo de trabalho

\documentclass{article}

\usepackage{tikz}

\pgfdeclareshape{test}{
    \anchor{center}{\pgfpointorigin}
    \anchor{text}{\pgfpointorigin}
    \inheritsavedanchors[from=rectangle]
    \inheritbackgroundpath[from=rectangle]
}

\begin{document}
\framebox{%
\begin{tikzpicture}
\draw node[test] {Some text};
\end{tikzpicture}
}
\end{document}

informação relacionada