Circuitkz 使用相对 +(x,y) 坐标更新当前笔的位置

Circuitkz 使用相对 +(x,y) 坐标更新当前笔的位置

这是错误还是我做错了?使用纯 TIKZ 时,一切都按预期工作:

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
    \begin{tikzpicture}
        \draw (0,0) -- ++(2,0) -- +(0,-1) +(0,0) -- +(2,0);
    \end{tikzpicture}
\end{document}

TIKZ 相对坐标正常工作

但是当对 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}

CircuiTIKZ 相对坐标失败

答案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}

因此你将获得:

在此处输入图片描述

相关内容