Eu defini duas formas: myComponent1
, que inclui duas âncoras ( PinA
e PinB
) e myComponent2
, que inclui uma âncora ( PinA
). Estou buscando orientação sobre como conectar diretamente PinA
de um lado myComponent1
para PinA
outro myComponent2
usando um fio horizontal. Abaixo, você encontrará meu código LaTeX junto com a saída correspondente. Por último, incluí o resultado desejado.
CÓDIGO:
\documentclass{article}
\usepackage{circuitikz}
%% defining My Component 1
\pgfdeclareshape{myComponent1}{
\anchor{center}{\pgfpointorigin}
\savedanchor\PinA{\pgfpoint{60}{50}}
\anchor{PinA}{\PinA}
\savedanchor\PinB{\pgfpoint{60}{-50}}
\anchor{PinB}{\PinB}
\foregroundpath{
\pgfpathrectanglecorners{\pgfpoint{-60}{-100}}{\pgfpoint{60}{100}}
\pgfusepath{draw}
\pgftext[right, at={\PinA}]{PIN A}
\pgftext[right, at={\PinB}]{PIN B}
}
}
%% defining My Component 2
\pgfdeclareshape{myComponent2}{
\anchor{center}{\pgfpointorigin}
\savedanchor\PinA{\pgfpoint{-60}{0}}
\anchor{PinA}{\PinA}
\foregroundpath{
\pgfpathrectanglecorners{\pgfpoint{-60}{-100}}{\pgfpoint{60}{100}}
\pgfusepath{draw}
\pgftext[left, at={\PinA}]{PIN A}
}
}
\begin{document}
\begin{circuitikz}
\draw (0,0) node[myComponent1, blue] (C1) {};
\draw (8,5) node[myComponent2, red] (C2) {};
\draw (C1.PinA) -- (C2.PinA);
\end{circuitikz}
\end{document}
SAÍDA:
RESULTADO DESEJADO:
Responder1
Se as duas formas tiverem âncoras em posições verticais diferentes, você não poderá (obviamente) conectá-las com uma linha horizontal.
O que você pode fazer é desenhar a primeira forma, desenhar uma linha horizontal e depois adicionar a segunda forma usando a âncora:
\draw (0,0) node[myComponent1, blue] (C1) {};
\draw (C1.PinA) -- ++(3,0) node[myComponent2, red, anchor=PinA] (C2) {};
De qualquer forma, isso não tem nada específico circuitikz
, é simples TikZ... MWE completo:
\documentclass{article}
\usepackage{tikz}
%% defining My Component 1
\pgfdeclareshape{myComponent1}{
\anchor{center}{\pgfpointorigin}
\savedanchor\PinA{\pgfpoint{60}{50}}
\anchor{PinA}{\PinA}
\savedanchor\PinB{\pgfpoint{60}{-50}}
\anchor{PinB}{\PinB}
\foregroundpath{
\pgfpathrectanglecorners{\pgfpoint{-60}{-100}}{\pgfpoint{60}{100}}
\pgfusepath{draw}
\pgftext[right, at={\PinA}]{PIN A}
\pgftext[right, at={\PinB}]{PIN B}
}
}
%% defining My Component 2
\pgfdeclareshape{myComponent2}{
\anchor{center}{\pgfpointorigin}
\savedanchor\PinA{\pgfpoint{-60}{0}}
\anchor{PinA}{\PinA}
\foregroundpath{
\pgfpathrectanglecorners{\pgfpoint{-60}{-100}}{\pgfpoint{60}{100}}
\pgfusepath{draw}
\pgftext[left, at={\PinA}]{PIN A}
}
}
\begin{document}
\begin{tikzpicture}
\draw (0,0) node[myComponent1, blue] (C1) {};
\draw (C1.PinA) -- ++(3,0) node[myComponent2, red, anchor=PinA] (C2) {};
\end{tikzpicture}
\end{document}