0

I'm trying to draw a simple schematic in tikz and am facing two problems:

  1. As you can see in the picture below, the horizontal line doesn't connect to the vertical line, where I put a node straight on the line. How can I force this line to be draw to the node without a space?
  2. When trying to draw lines with bullets on its one end, the bullets appear on both ends. What can I do, that the bullets at the marked ends (in the picture below) are removed? And how can I achieve, that the lower filled bullet is drawn in the middle of the horizontal line?

Wrong Bullet points and space between line and node

My code is the following:

\usetikzlibrary{circuits.ee.IEC}

\begin{tikzpicture}[circuit ee IEC]

\node [] (v1) at (0,1) {};
\node [] (v2) at (0,-1) {};
\node [] (v3) at ([yshift=-0.75cm] v1) {};
\node [] (v4) at ([xshift=-2cm] v3) {};
\node [resistor, draw=black, rotate=90] (pullUpRes) at (-1,1.25) {};
\node [] (v5) at ([yshift=1cm] pullUpRes) {};

\draw [] (v1) edge (v2);
\draw [] (v3) edge (v4);
\draw [-*] (pullUpRes.west) edge ([yshift=-1cm] pullUpRes);
\draw [-o] (pullUpRes.east) edge (v5);

\end{tikzpicture}

Thanks for any help.

0

Not sure, if this is the output you’re looking for:

\documentclass[11pt,tikz]{standalone}
\usetikzlibrary{circuits.ee.IEC}

\begin{document}
\begin{tikzpicture}[circuit ee IEC]
\coordinate (v1) at (0,1);
\coordinate (v3) at (0,0.25);
\node [resistor, draw=black, rotate=90] (pullUpRes) at (-1,1.25) {};

\draw [] (v1) -- ++(0,-2);
\draw [] (v3) -- ++(-2,0);
\draw [-*] (pullUpRes.west) -- ++(0,-0.5);
\draw [-o] (pullUpRes.east) -- ++(0,0.5);
\end{tikzpicture}
\end{document}

Note, that edge will always add tips to both ends. Also, combining xshift and yshift with coordinates will usually lead to unwanted behaviour.

You could of course also use the positioning library with below = of <name of the node>and thenode distance = <length> option, but that depends on how complex your image is going to get, really.

And the other possibility to streamline your image is the use of intersections.

Edit: if you need the black dot to be exactly on the horizontal line you can also use the calc library:

\documentclass[11pt,tikz]{standalone}
\usetikzlibrary{circuits.ee.IEC,calc}

\begin{document}
\begin{tikzpicture}[circuit ee IEC]
\coordinate (v1) at (0,1);
\coordinate (v2) at (0,0.25);
\coordinate (v3) at ($(v2)+(-2,0)$);
\node [resistor, draw=black, rotate=90] (pullUpRes) at (-1,1.25) {};

\draw [] (v1) -- ++(0,-2);
\draw [red] (v2) -- ++(-2,0);
\draw [-*] (pullUpRes.west) -- ($(v2)!.5!(v3)$);
\draw [-o] (pullUpRes.east) -- ++(0,0.5);
\end{tikzpicture}
\end{document}
1
  • Ok, that already helps me a lot. Thank you very much for your answer.
    – user230754
    Jun 11 '21 at 9:16

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.