How to make a graphic where one image points to two other images with arrows in latex? - latex

I want to create a graphic like the one in the attached image in latex, where each box represents an image (a graphic I want to insert). I also want to be able to write a word over the arrows that point from one image to another.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{figure}[htb]
\centering
\begin{tikzpicture}[>=latex,node distance=2em]
\node(a){\includegraphics[width=4cm]{example-image-a}};
\node[right=of a](b){\includegraphics[width=4cm]{example-image-b}};
\draw[->] (a) -- (b);
\end{tikzpicture}
\caption{Two graphics.}
\end{figure}
\begin{figure}[htb]
\centering
\begin{tikzpicture}[>=latex,node distance=2em]
\node(a){\includegraphics[width=3cm]{example-image-a}};
\matrix[right=of a,row sep=2em] {
\node(b){\includegraphics[width=3cm]{example-image-b}};\\
\node(c){\includegraphics[width=3cm]{example-image-duck}};\\
};
\draw[->] (a) -- (b);
\draw[->] (a) -- (c);
\end{tikzpicture}
\caption{Three graphics.}
\end{figure}
\end{document}
visit: https://tex.stackexchange.com/questions/527216/diagrams-arrows

Related

How to avoid tiltled lines in circuitikz?

I want the line on the left to end right at the y-coordinate of the SPDT input so I can connect them seamlessly with a straight line. As you can see, the line on the left ends a bit lower than the SPDT input which causes the connecting line to be tilted
Is there a way to automatically adjust the length? I'd rather avoid inching towards an acceptable result by adjusting the length over and over again manually.
Here is the code
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{circuitikz}
\begin{document}
\begin{figure}
\begin{circuitikz}
\node [spdt, rotate=90] (S) {};
\draw
(S.in) to [C] ++(0,-2)
to ++(-2,0)
to [V] ++(0,3)
to(S.out 1);
\end{circuitikz}
\end{figure}
\end{document}
Instead of adjusting the length on the left, I would just make sure that it is above the switch and then use -| to connect it with first an horizontal segment and then a vertical segment:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{circuitikz}
\begin{document}
\begin{figure}
\begin{circuitikz}
\node [spdt, rotate=90] (S) {};
\draw
(S.in) to [C] ++(0,-2)
to ++(-2,0)
to [V] ++(0,3.5)
-| (S.out 1)
;
\end{circuitikz}
\end{figure}
\end{document}

How to make a diagram in Latex?

I would like to make this diagram in latex but I don't know even how to start:
As said in the comments, the tikz package is great to do this (and about any) kind of diagram.
The following example should give you something to start with.
\documentclass{article}
\usepackage{mathtools}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}
\node (left) at ( 0,0) {\(\overbracket[.4pt]{\underbracket[.4pt]{\Delta\Pi} \text{ and } \Delta\mu}\)};
\node (right) at (10,0) {\(\Delta G \text{ and } \Delta T\)};
\draw [-{>[scale=1.5]}] (right.north) to [out=150, in=30] (left.north);
\draw [-{>[scale=1.5]}] (-.7,-.29) to [out=-30, in=-150] (right.south);
\end{tikzpicture}
\end{document}

Tikz-Network Draw Edge without Node (Invisible Node) Latex

I want to draw an edge from a point below a node, to the node. Here is what I have so far:
\begin{tikzpicture}
\Vertex[x=0,label=1, size=1.2]{A} \Vertex[x=3,size=1.2,label=2]{B} \Vertex[x=6,size=1.2,label=3]{C}
\Edge[Direct,label=0.4,bend=20,fontscale=1.2](A)(B)
\Edge[Direct,label=0.6,bend=30](A)(C)
\Edge[Direct,label=0.25,bend=20](C)(B)
\end{tikzpicture}
Which yields:
I want to draw an arrow from about 3mm below node 1 directed to node 1
\documentclass{article}
\usepackage{tikz-network}
\begin{document}
\begin{tikzpicture}
\Vertex[x=0,label=1, size=1.2]{A} \Vertex[x=3,size=1.2,label=2]{B} \Vertex[x=6,size=1.2,label=3]{C}
\Edge[Direct,label=0.4,bend=20,fontscale=1.2](A)(B)
\Edge[Direct,label=0.6,bend=30](A)(C)
\Edge[Direct,label=0.25,bend=20](C)(B)
\end{tikzpicture}
\end{document}
With the positioning library of tikz, you could create a dummy node below A at whatever distance you like and then draw the edge from this dummy node to A
\documentclass{article}
\usepackage{tikz-network}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\Vertex[x=0,label=1, size=1.2]{A}
\Vertex[x=3,size=1.2,label=2]{B}
\Vertex[x=6,size=1.2,label=3]{C}
\node[below=1.5cm of A] (D) {};
\Edge[Direct,label=0.4,bend=20,fontscale=1.2](A)(B)
\Edge[Direct,label=0.6,bend=30](A)(C)
\Edge[Direct,label=0.25,bend=20](C)(B)
\Edge[Direct,label=0.25](D)(A)
\end{tikzpicture}
\end{document}

How to draw nodes with "stubs" in Latex?

I'm trying to draw this in latex.
Anyone know how?
Use the calc-library and do the following:
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\node[draw=black, circle, fill=green] (A) at (0,0) {A};
\draw let \p1=(A) in (A) -- (\x1+40,\y1+10);
\end{tikzpicture}
\end{document}
Using the let-statement it allows you to specify a reference point (or even more) to use it's coordinates for further calculation.

Positioning of hyperlinked shapes with matrix in tikz

I can draw a hyperlinked shape in tikz using the following code:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usepackage{hyperref}
\begin{document}
\begin{tikzpicture}
\node {%
\href{http://www.stackoverflow.com}{%
\begin{tikzpicture}
\filldraw[blue] circle(1cm) node [white] {Click};
\end{tikzpicture}}};
\end{tikzpicture}
\end{document}
Now I would like to organize my shapes using the matrix, and have one of the shapes hyperlinked. It almost works, but I am not able to align the hyperlinked shape with the rest of the shapes, and it is bigger than the other shapes:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usepackage{hyperref}
\begin{tikzpicture}
\matrix [matrix of nodes, row sep = 1cm, column sep=1cm, nodes={circle, draw}]
{% First row:
1 & 2 \\
% second row:
\path node {\href{http://www.stackoverflow.com}{%
\begin{tikzpicture}
\node {3};
\end{tikzpicture}}}; & 4\\
};
\end{tikzpicture}
\end{document}
I get the following result:
(source: picture.im)
My question is: How could I align shape 3 in the picture above with the other shapes, and get rid of the outer circle?
I think you're aiming too high and your second {tikzpicture} is messing up your layout.
What do you think about the code below? Is that what you've been looking for?
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usepackage[pdftex,active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\usepackage{hyperref}
\begin{document}
\begin{tikzpicture}
\matrix [matrix of nodes, row sep = 1cm, column sep=1cm, nodes={circle, draw}]
{%
1 & 2\\%
\href{http://stackoverflow.com}{3} & 4\\%
};
\end{tikzpicture}
\end{document}
BTW: the \PreviewEnvironment{tikzpicture} is not really needed, but it makes for a nice, cropped pdf...

Resources