
Я рисую несколько картинок 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}}
Второй вариант имеет небольшое преимущество, поскольку его можно применять поверх других преобразований.