
CircuiTikz에서 와이어 크로싱이 어떻게 작동하는지 이해하려고 노력 중입니다. 나는 유명한 "Kink Crossings"를 보았지만 먼저 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
처럼circuitikz
기본적으로 Ti의 (매우 좋은) 확장과케이Z, 표준 Ti를 사용하지 말아야 할 이유가 전혀 없습니다.케이이에 대한 Z 구문입니다.
\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}