使用 \tikzset 重新定义基向量后无法开始绘图

使用 \tikzset 重新定义基向量后无法开始绘图

我正在绘制几个 TikZ 图片,其中我希望基向量按照通常的定义进行旋转,因此我使用了命令

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

在我的序言中。但是,这样做之后,我无法创建图形(我收到了未定义的控制序列错误消息,后面的内容也是如此\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

将这种样式应用到每张图片的正确方法是使用 key every picture。对于你的情况,你可以说

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

除非你做了其他转换,否则应该会有同样的效果

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

第二种变体略有优势,即它可以应用于其他转换之上。

相关内容