![将原点(0,0)移动到 TikZ 中的新坐标](https://linux22.com/image/349556/%E5%B0%86%E5%8E%9F%E7%82%B9%EF%BC%880%2C0%EF%BC%89%E7%A7%BB%E5%8A%A8%E5%88%B0%20TikZ%20%E4%B8%AD%E7%9A%84%E6%96%B0%E5%9D%90%E6%A0%87.png)
我看到了一些解释这里如何转移原点。但在环境结束时它会被恢复。
我想要的是一个可以移动但不恢复的命令。我认为这可能通过节点实现。但这只是一个解决方法的想法。
我尝试了这个命令\scope[shift={(0,-5)}]
,但它当然不起作用。
我想要实现的目标是这样的:
\draw [->, very thick] (0, 0) -- (0,-1);
\scope[shift={(0,-1)}]
\draw [->, very thick] (0, 0) -- (0,-1);
\scope[shift={(0,-1)}]
\draw [->, very thick] (0, 0) -- (0,-1);
产生三支连在一起的箭。我知道这可以通过其他方式实现,但我认为像这样的命令非常有用。
答案1
我不确定这种方法是否有用,但\tikzset
可以从它出现的点改变大多数 tikz 参数,所以......
\documentclass[tikz, border=5pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw [->, very thick] (0, 0) -- (0,-1);
\tikzset{shift={(0,-1)}}
\draw [->, very thick] (0, 0) -- (0,-1);
\tikzset{shift={(0,-1)}}
\draw [->, very thick] (0, 0) -- (0,-1);
\end{tikzpicture}
\end{document}
答案2
\draw [->] (0, 0) -- (0,-1);
\begin{scope}[yshift=-1cm]
\draw [->] (0, 0) -- (0,-1);
\end{scope}
\begin{scope}[yshift=-2cm]
\draw [->] (0, 0) -- (0,-1);
\end{scope}
笔记:
- 作为经验丰富的 TeX.SE 用户,您应该提供完整的小文档,这样可以帮助那些愿意帮助您的人。上面的例子是我在我的
tikzpicture
测试平台上测试的,其设置可能与您的文档不同,所以我没有提供它们。 scope[<options>]
是错误的语法,正确的是\begin{scope}[<options>] ... \end{scope}
- 图像代码的范围部分的每次移位都是相对于坐标的
(0,0)
,因此需要相应地增加移位量,否则第二次移位的图像部分将与前一个部分重叠。 - 对于只向一个方向移动,您可以使用
xshift=...
或yshift=...