Невозможно начать рисунок после использования \tikzset для переопределения базисных векторов

Невозможно начать рисунок после использования \tikzset для переопределения базисных векторов

Я рисую несколько картинок TikZ, в которых я хотел бы, чтобы базисные векторы были повернуты относительно обычного определения, поэтому я использовал команду

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

в моей преамбуле. Однако после этого я не могу создавать фигуры (я получаю сообщение об ошибке undefined control sequence для всего, что следует далее \begin{figure}). Любое полное переопределение базисных векторов вызывает ту же проблему. Вот MWE:

\documentclass{article}

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

\begin{document}

\begin{figure}
text
\end{figure}

\end{document}

Я не получаю ошибку, если я изменяю масштаб только с помощью, например, \tikzset{x=-1}.

Мой текущий способ решения проблемы — поместить \tikzsetкоманду внутрь каждой картинки TikZ.

Что вызывает эту ошибку? Есть ли способ переопределить базисные векторы глобально, чтобы избежать этого?

решение1

Правильный способ применить подобный стиль к каждой картинке — использовать ключ every picture. В вашем случае можно сказать

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

что, если вы не сделали какие-либо другие преобразования, должно иметь тот же эффект

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

Второй вариант имеет небольшое преимущество, поскольку его можно применять поверх других преобразований.

Связанный контент