Não é possível iniciar a figura após usar \tikzset para redefinir vetores de base

Não é possível iniciar a figura após usar \tikzset para redefinir vetores de base

Estou desenhando várias imagens TikZ nas quais gostaria que os vetores de base fossem girados a partir da definição usual, então usei o comando

\tikzset{x={(0cm,-1cm)}, y={(1cm,0cm)}}

no meu preâmbulo. No entanto, depois de fazer isso, não consigo criar figuras (recebo a mensagem de erro de sequência de controle indefinida para o que segue \begin{figure}). Qualquer redefinição completa dos vetores de base causa o mesmo problema. Aqui está um MWE:

\documentclass{article}

\usepackage{tikz}
\tikzset{x={(1cm,0cm)},y={(0cm,1cm)}}

\begin{document}

\begin{figure}
text
\end{figure}

\end{document}

Não recebo o erro se apenas redimensionar usando, por exemplo, \tikzset{x=-1}.

Minha solução atual é colocar o \tikzsetcomando dentro de cada imagem do TikZ.

O que está causando esse erro? Existe uma maneira de redefinir os vetores de base globalmente que evite isso?

Responder1

A maneira correta de aplicar algum estilo desse tipo a cada imagem é usar a tecla every picture. No seu caso você poderia dizer

\tikzset{every picture/.append style={x={(0cm,-1cm)}, y={(1cm,0cm)}}}

que, a menos que você tenha feito outras transformações, deve ter o mesmo efeito em

\tikzset{every picture/.append style={rotate=-90}}

A segunda variante tem a ligeira vantagem de ser aplicável em cima de outras transformações.

informação relacionada