我希望获得两个或三个节点链接到一个接地符号(这不是电路),就像这次尝试一样:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage{circuitikz}
\begin{document}
\begin{tikzpicture}
\node[](a){X};
\node[](b)[right=of a]{Y};
\node[ground](g)[below=of a]{};
\draw[-] (a.south) -- (g.north);
\draw[-] (b.south) -- (g.north);
\end{tikzpicture}
\end{document}
但此操作失败并出现以下错误:
! Package PGF Math Error: Unknown function `north' (in 'north').
See the PGF Math package documentation for explanation.
Type H <return> for immediate help.
...
l.12 \node[ground](g)[below=of a.east]{};
?
然而,TeX 仍然输出 PDF,这似乎是正确的......我做错了什么?
(如果它使事情变得更容易,我愿意使用另一个库而不是 circuitikz)
编辑:包含两个节点连接到地面的示例,而不仅仅是一个
答案1
单极子ground
只有center
锚点。所以你不能引用它的north
。positioning
当你说的时候,库也会使用那个锚点如此这般below
,所以我们必须将其重新锚定到其中心。因此,每次您想要引用它时,都应该使用节点名称或node name.center
语法。我会使用 TikZ 自己的电路库来避免这种不可预见的问题。
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage{circuitikz}
\begin{document}
\begin{tikzpicture}
\node (a){X};
\node (b)[right=of a]{Y};
\node[ground,below=of a,anchor=center] (g) {};
\draw (a.south) -- (g);
\draw (b.south) -- (g);
\end{tikzpicture}
\end{document}