![Circuitkz 使用相对 +(x,y) 坐标更新当前笔的位置](https://linux22.com/image/296822/Circuitkz%20%E4%BD%BF%E7%94%A8%E7%9B%B8%E5%AF%B9%20%2B(x%2Cy)%20%E5%9D%90%E6%A0%87%E6%9B%B4%E6%96%B0%E5%BD%93%E5%89%8D%E7%AC%94%E7%9A%84%E4%BD%8D%E7%BD%AE.png)
这是错误还是我做错了?使用纯 TIKZ 时,一切都按预期工作:
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- ++(2,0) -- +(0,-1) +(0,0) -- +(2,0);
\end{tikzpicture}
\end{document}
但是当对 CircuiTIKZ 执行相同操作时,y 坐标似乎已更新:
\documentclass{standalone}
\usepackage{circuitikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) to[short] ++(2,0) to[C] +(0,-1) +(0,0) to[short] +(2,0);
\end{tikzpicture}
\end{document}
答案1
问题很简单。
在路径的第一部分之后(0,0) -- ++(2,0)
(这很常见),在第一种情况下,您-- +(0,-1)
在第二种情况下使用添加容量。容量符号会移动笔的当前位置,这是您的语法-- +(0,-1)
所没有的。实际上,如果您使用以下方法,您将会感觉到相同的行为:
\documentclass[tikz,border=10pt]{standalone}
\usepackage{circuitikz}
\usetikzlibrary{shapes.misc}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- ++(2,0) -- ++(0,-1) +(0,0) -- +(2,0);
\end{tikzpicture}
\begin{tikzpicture}
\draw (0,0) to[short] ++(2,0) to[C] +(0,-1) +(0,0) to[short] +(2,0);
\end{tikzpicture}
\end{document}
因为-- ++(0,-1)
也会改变位置:
现在,考虑到这一点,您可能需要执行以下操作:
\documentclass[tikz,border=10pt]{standalone}
\usepackage{circuitikz}
\usetikzlibrary{shapes.misc}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- ++(2,0) -- +(0,-1) +(0,0) -- +(2,0);
\end{tikzpicture}
\begin{tikzpicture}
\draw (0,0) to[short] ++(2,0) to[C] +(0,-1) +(0,1) to[short] +(2,1);
\end{tikzpicture}
\end{document}
因此你将获得: