4

I want to draw the following switching circuit?

enter image description here

After googling I have found the linkhere, but I can not able to draw the required diagram.

Updated :

\documentclass{minimal}
\usepackage{circuitikz}

% modified code from pgfcircbipoles.sty and circuitikz1.code.tex

\makeatletter
% create the shape
\pgfcircdeclarebipole{}{\ctikzvalof{bipoles/interr/height 2}}{spst}{\ctikzvalof{bipoles/interr/height}}{\ctikzvalof{bipoles/interr/width}}{

    \pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}

    \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}}
    \pgfpathlineto{\pgfpoint{.6\pgf@circ@res@right}{\pgf@circ@res@up}}
    \pgfusepath{draw}   
}

% make the shape accessible with nice syntax
\def\pgf@circ@spst@path#1{\pgf@circ@bipole@path{spst}{#1}}
\tikzset{switch/.style = {\circuitikzbasekey, /tikz/to path=\pgf@circ@spst@path, l=#1}}
\tikzset{spst/.style = {switch = #1}}
\makeatother

\begin{document}

\begin{circuitikz}
    \draw (0,0) to[switch, l=$t_0$] (2,0)
                to[spst] (2,-2);
\end{circuitikz}

\end{document}
1
  • Welcome to TeX.SX! Please add a minimal working example (MWE), not not just a fragment. Reproducing the problem and finding out what the issue is will be much easier when we see compilable code, starting with \documentclass and ending with \end{document}
    – albert
    Sep 2 '18 at 17:50
5

A simple TikZ proposal using only lines and nodes.

Each switch is constructed by connecting the north and east coordinates of the node.

enter image description here

\documentclass[tikz,margin=0.5cm]{standalone}
\begin{document}
  \begin{tikzpicture}[thick]
  \draw (0,0)--++(1,0) coordinate (P0) --++(0,1)--++(0.5,0) node [right,inner sep=6pt] (X1) {$x$};
  \draw (X1.north)--(X1.east)--++(1,0) coordinate (P1) --++(0,0.5)--++(0.5,0) node [right,inner sep=6pt] (Y1) {$y$};
  \draw (Y1.north)--(Y1.east)--++(0.5,0)--++(0,-0.5) coordinate (P2) --++(0,-0.5) --++(-0.5,0) node [left,inner sep=6pt] (Z1) {$z$} -- (Z1.north);
  \draw (Z1.west)--++(-0.5,0)--(P1);
  \draw (P2)--++(0.5,0)--++(0,-1) coordinate (P3) --++(1,0);
  \draw (P3)--++(0,-1) --++(-1,0) coordinate (Z2end) node [left,inner sep=6pt] (Z2) {$z$} --(Z2.north);
  \draw (Z2.west)--++(-1.5,0) node [left,inner sep=6pt] (Y2) {$y$} --(Y2.north);
  \draw (Y2.west)-|(P0);
  \end{tikzpicture}
\end{document}
0
6

with circuitikz, exploiting all its possibilities (to my opinion with more correct labeling of switches):

\documentclass[margin=0.5cm]{standalone}
\usepackage{circuitikz}

\begin{document}
    \begin{tikzpicture}
\draw   (0,0)   -| ++ (1, 1)
                to [nos,l=$x$] ++ (2,0) coordinate (x)
                -- ++ (0,0.5)
                to [nos,l=$y$] ++ (2,0)
                |- ++ (0.5,-0.5) |- ++ (1,-1)
        (x)     -- ++ (0,-0.5)
                to [nos,l=$z$] ++ (2,0) -- ++ (0,0.5)
        (0,0)   -| ++ (1,-1)
                to [nos,l=$y$] ++ (2,0)
                to [nos,l=$z$] ++ (2,0) -| ++ (0.5,1)
                ;
  \end{tikzpicture}
\end{document}

enter image description here

addendum: a little bit modified code (which should enable more easy to extend to other switches topology) and add some "fancy" connection points:

\documentclass[margin=0.5cm]{standalone}
\usepackage{circuitikz}

\begin{document}
    \begin{tikzpicture}
\draw   % in
        (0,0)   to [short,o-*]      ++ (1,0)    coordinate (in)
                -- ++ (0, 1)
                to [nos,l=$x$,-*]   ++ (2,0)    coordinate (x)
        % upper branch
                -- ++ (0,0.5)
                to [nos,l=$y$]  ++ (2,0)
                to [short,-*]   ++ (0,-0.5)       
                -| ++ (0.5,-1)                  coordinate (out)
        (x)     -- ++ (0,-0.5)
                to [nos,l=$z$]  ++ (2,0) -- ++ (0,0.5)
        % lower branch
        (in)   -- ++ (0,-1)
                to [nos,l=$y$]  ++ (2,0)
                to [nos,l=$z$]  ++ (2,0) -| (out)
        % out
                to[short,*-o]    ++ (1,0)
                ;
  \end{tikzpicture}
\end{document}

enter image description here

3

A starting point with the circuitikz package

\documentclass[tikz]{standalone}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz}
\draw[color=black, thick] (2,0) -- (4,0) ;
\draw[color=black, thick] (4,-1) -- (4,1) ;
\draw (4,1) to[normal open switch, *-*] (5,1);% Does not work node[pos=0.5,below]{y};
\path (4,1) -- (5,1) node[pos=0.5,below]{x};
\draw (4,-1) to[normal open switch, *-*] (5,-1);
\end{circuitikz}

\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.