Como incorporar subpreâmbulos ao incluir imagens TikZ independentes?

Como incorporar subpreâmbulos ao incluir imagens TikZ independentes?

Quero incluir uma imagem TikZ em meu documento. Quero que seja autónomo, para não ter de poluir o meu documento principal com todos os seus preâmbulos. De acordo comstandalonemanual(p. 22) é possível incluir estes preâmbulos na subpreamblesopção. Mas quando eu defino, subpreambles=truerecebo um erro e os preâmbulos são ignorados de qualquer maneira. Como posso incorporar os preâmbulos do código TikZ?

Este é o código do meu documento principal:

\documentclass{book}
\usepackage{tikz}
\usepackage{standalone}
\begin{document}
Text ...
\begin{figure}
    \includestandalone[subpreambles=true]{mytikz}
    \caption{My TikZ picture}
    \label{fig:tikz:my}
\end{figure}
\end{document}

Este é o código da minha foto mytikz.tex:

\documentclass[tikz]{standalone}
\usepackage{tikz}
\tikzstyle{object_representation} = [
    align = center,
    draw = black,
    fill = white,
    minimum width = 2cm,
    minimum height = 2cm,
    rectangle,
    rounded corners,
]
\begin{document}
\begin{tikzpicture}[node distance = 3cm]
    \node (foo) [object_representation] {Foo};
\end{tikzpicture}
\end{document}

Este é o erro que recebo:

ABD: EveryShipout initializing macros

Package xkeyval Warning: key `subpreambles' has been disabled on input line 7.

(mytikz.tex

! Package pgfkeys Error: I do not know the key '/tikz/object_representation' an
d I am going to ignore it. Perhaps you misspelled it.

See the pgfkeys package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.18         \node (foo) [object_representation]
                                                 {Foo};
No pages of output.
Transcript written on main.log.

Responder1

Experimente o seguinte:

\documentclass{book}
\usepackage{tikz}
\usepackage[subpreambles=true]{standalone} % <--- option should be here

\begin{document}
Text ...
\begin{figure}
    \includestandalone{mytikz}
    \caption{My TikZ picture}
    \label{fig:tikz:my}
\end{figure}
\end{document}

Editar:Eu escreveria seu mytikzarquivo em breve e com sintaxe recente para determinar o estilo da forma:

\documentclass[tikz]{standalone}% <-- it is sufficient to has `tikz` only here
\tikzset{object_representation/.style = {% <---
    align = center,
    draw = black,
    fill = white,
    minimum width = 2cm,
    minimum height = 2cm,
    rectangle,
    rounded corners}
        }

\begin{document}
\begin{tikzpicture}
    \node (foo) [object_representation] {Foo};
\end{tikzpicture}
\end{document}

informação relacionada