
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:
Responder1
Você pode usar \inheritsavedanchors
e \inheritbackgroundpath
se 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}