如何通过旋转包旋转整个 tikzpicture 时保持某些文本直立

如何通过旋转包旋转整个 tikzpicture 时保持某些文本直立

我会将整个 tikzpicture 旋转一个特定的角度。我使用包rotating来实现此目的,如https://tex.stackexchange.com/a/199471/。但问题是我想让插入的文本保持直立。例如,在下面的图片中,符号“u”已经倾斜。在如何旋转节点的位置但不旋转节点内部的文本但它不使用“旋转”包。这样做的动机是,在绘制图片时,将图片直立绘制更容易,然后旋转它,因为计算更容易。

准确地说,我希望节点和文本一起旋转,但文本看起来是直立的。

\documentclass{article}
\usepackage{tikz}
\usepackage{rotating}

\begin{document}
 \begin{turn}{-37}
\begin{center}
\begin{tikzpicture}[scale=1]
\draw [->] (3.5, 1.5)-- (4.25, 3.75); 
\node at (4.45, 3.75) {$u$}; 
\end{tikzpicture}
\end{center}
\end{turn}

\end{document} 

答案1

标题中问题的答案很简单:不,这是不可能的,原因很简单,rotate包中的命令在设计上会旋转其范围内的所有内容。

但你不需要额外的包。tikzpicture环境有选项rotate,它将旋转除标签之外的所有内容。

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=1,rotate=0]
\draw [->] (3.5, 1.5)-- (4.25, 3.75); 
\node at (4.45, 3.75) {$u$}; 
\end{tikzpicture}
\begin{tikzpicture}[scale=1,rotate=-37]
\draw [->] (3.5, 1.5)-- (4.25, 3.75); 
\node at (4.45, 3.75) {$u$}; 
\end{tikzpicture}
\begin{tikzpicture}[scale=1,rotate=30]
\draw [->] (3.5, 1.5)-- (4.25, 3.75); 
\node at (4.45, 3.75) {$u$}; 
\end{tikzpicture}
\end{document} 

相关内容