
我正在繪製幾張 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}}
第二種變體具有可應用於其他轉換之上的輕微優勢。