在 CircuiTikZ / TikZ 中对齐组件

在 CircuiTikZ / TikZ 中对齐组件

我对 LaTex 还不熟悉,是在寻找制作电路图的方法时发现它的,因此通过 CircuiTikZ 和 TikZ 找到了它。到目前为止,我很喜欢它!

不幸的是,由于我缺乏经验,我不确定我正在使用/需要的功能属于 TeX、TikZ 还是 CircuiTikZ 独有,这使得很难找到我正在尝试做的教程或示例!

无论如何,我已经发现了($(Nor.out)+(1,0)$)允许我定位相对于对象上的锚点的点的符号,但我想知道是否可以将该参考分成 X 和 Y 坐标?

比如说,我有两条相交的线,一条水平,一条垂直。我想使用穿越交叉点处的物体。因此,我需要使用垂直线一端的锚点来引用 X 坐标,使用水平线一端的锚点来引用 Y 坐标。

因此,在这种情况下:

交叉示例

交叉点(红色圈出)需要从门 NOR1 的输出获取其 Y 坐标,并从电容器 C1 的顶部获取其 X 坐标。

与此相关,我可以使用相对引用指定一个坐标,使用绝对引用指定另一个坐标吗?比如说,我想放置一个与第二个对象上的锚点垂直对齐的对象,但在水平方向上处于绝对位置。(比如说,一个连接器位于我的图表左侧,但与其右侧某处的特定锚点对齐。)

我不确定我是否解释得正确,所以如果我需要澄清的话,请告诉我。

有什么想法吗?

[编辑并添加草图以提高清晰度]

答案1

我个人的建议是不要使用“跳跃”——用点标记所有超过三根电线的连接交叉点(使用语法-*或简单地用node [circ]{}),让电线简单地交叉。但如果你喜欢跳跃交叉(我承认有时,特别是在基础课程中,最好避免灾难性的误解),我会这样做:

  1. 找到交叉口使用|--|坐标语法
  2. 使用xing两侧具有对称位移的双极子

我在评论中解释道:

\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\ctikzset{logic ports=ieee}
\begin{document}
\begin{circuitikz}[]
    \node [vcc](VCC) at(2,2) {} ;
    \draw (VCC) -- ++(0,-2) to[C] ++(0,-1);
    \node [xor port](P){P1};
    % now let's draw a wire with a jump crossing to an AND for example.
    % the point on the vertical line where the crossing occurs is (P.out -| VCC)
    % so move simmetrically around it
    \draw (P.out) -- ([xshift=-3mm] P.out -| VCC) to[xing] ++(6mm,0)
        -- ++(1,0) node[and port, anchor=in 1]{Q};
\end{circuitikz}
\end{document}

结果是:

在此处输入图片描述

答案2

根据 circuitikz 手册第 60 页,交叉口本身就是一个节点,可以通过其各种锚点调用——东西北等

在此处输入图片描述

\begin{circuitikz}[]
     \node at (1,1)[jump crossing](X){};
     \draw (X.west) -- ++(-1,0);
     \draw (X.east) to[R] ++(2,0);
     \draw (X.north) node[vcc]{};
     \draw (X.south) to[C] ++(0,-1.5);
     \end{circuitikz}

对于其他解决方案,您可以转到以下链接,其中定义了如何进行自定义交叉

--https://tex.stackexchange.com/a/134090/197451

--https://tex.stackexchange.com/a/395495/197451

--https://tex.stackexchange.com/a/372​​742/197451

相关内容