
我試圖了解電線交叉口如何與 CircuiTikz 搭配使用。我見過著名的“Kink 交叉點”,但我想先嘗試使用 CircuiTikz 提供的交叉點來解決問題。
例如:如何使用 CircuiTikz 套件在該交叉路口繪製十字路口?不知道從 C 到 D 的轉彎的座標和相對位置。
這是我寫的程式碼:
\documentclass[a4paper,12pt]{article}
\usepackage[a4paper, margin=2cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[]{circuitikzgit}
\begin{document}
\begin{circuitikz}
\draw (0,0)node[circ]{a} -- (4,0)node[circ]{b};
\draw (1,2)node[circ]{c} |- (3,-2)node[circ]{d};
\end{circuitikz}
\end{document}
對我來說,重要的是不要使用手冊建議的節點樣式格式,因為這是針對我正在繪製的更大/更複雜的電路,並且我想繪製類似於從一個坐標到另一個坐標的路徑樣式的交叉點喜歡:
\draw (1,2)node[circ]{c} to[crossing] |- (3,-2)node[circ]{d};
但顯然這是行不通的。
正如你所看到的,我使用了 CircuiTikz 的最新版本,這是你能得到的。
答案1
問題是它(a) |- (b)
被作為兩個單獨的部分處理並且to[crossing]
只能處理一個。
\documentclass[border=10pt]{standalone}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (0,0)node[circ]{a} -- (4,0)node[circ]{b};
\draw (1,2)node[circ]{c} to[crossing] (1,2 |- 3,-2) -- (3,-2)node[circ]{d};
\end{circuitikz}
\end{document}
這個版本無恥地竊取了 Fractal,但circ
用jump crossing
.
\documentclass[border=10pt]{standalone}
\usepackage{circuitikz}
\usetikzlibrary{intersections}
\newlength{\crossing}
\makeatletter
\setlength{\crossing}{\ctikzvalof{bipoles/crossing/size}\pgf@circ@Rlen}
\makeatother
\begin{document}
\begin{circuitikz}
\draw[name path=ab] (0,0)node[circ]{a} -- (4,0)node[circ]{b};
\draw[name path=cd] (1,1)node[circ]{c} |- (3,-2)node[circ]{d};
\path[name intersections={of=ab and cd,by=e}];
\fill[color=white] (e) circle[radius=0.5\crossing];% erase plain crossing
\draw (e) node[jump crossing]{};
\end{circuitikz}
\end{document}
還可以使用:
\path [name intersections={of=ab and cd,by=e}]
[fill=white] (e) circle[radius=0.5\crossing]% erase plain crossing
node[jump crossing,rotate=90]{};
答案2
Ascircuitikz
基本上是 Ti 的(非常好的)擴展kZ,我絕對沒有理由不使用標準 TikZ 語法用於此。
\documentclass[a4paper,12pt]{article}
\usepackage[a4paper, margin=2cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{circuitikz}
\usetikzlibrary{intersections}
\begin{document}
\begin{circuitikz}
\draw[name path=ab] (0,0)node[circ]{a} -- (4,0)node[circ]{b};
\draw[name path=cd] (1,2)node[circ]{c} |- (3,-2)node[circ]{d};
\path[name intersections={of=ab and cd,by=e}] (e) node[circ] {e};
\end{circuitikz}
\end{document}