1

I want to keep centered first drawn node, node number 1 on the given example. It remains centered until I start drawing arrows. Hence, when I draw arrows on top of the figure everything shifts to left.

Is it possible to prevent shifting of nodes after drawing arrows and keep the first drawn node centered?

\documentclass[journal,twocolumn]{IEEEtran}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows}
\usetikzlibrary{arrows.meta,
    backgrounds,
    fit,
    positioning}
\usetikzlibrary{shapes}
\usetikzlibrary{calc,shapes.multipart,chains,arrows}
\usetikzlibrary{fit, positioning, shapes.geometric, shapes.symbols}

\begin{document} \begin{figure} \centering \begin{tikzpicture}[ node distance=0.5cm and 1cm, FIT/.style = {draw,dashed, fill=yellow!30, inner sep=2mm, fit=#1}, arrow/.style={->, >=stealth, semithick}, arroww/.style={->, semithick}, compute/.style={draw,semithick, append after command={% (\tikzlastnode.south west) edge[double=gray!50,double distance=2pt, line cap=rect, shorten >=-0.1pt,shorten <=-0.1pt] (\tikzlastnode.south east)}}, Cylinder/.style={shape=cylinder, shape border rotate=90, draw, shape aspect=0.2 ,font={\baselineskip=9pt}, inner xsep=+3pt,}, N/.style = {circle,draw, draw=black, fill=white,minimum size=5mm, inner sep =1mm}, ]

    \node[N] (w1) {1};
    \node[N, below=of w1,inner sep=1.5pt] (w2) {14};
    \node[N, below=of w2,inner sep=1.5pt] (w3) {2};
    \node[N, below=of w3,inner sep=1.5pt] (w4) {5};
    \node[N, below=of w4,inner sep=1.5pt,xshift=1cm] (w5) {3};
    \node[N, below=of w5,inner sep=1.5pt] (w6) {10};
    \node[N, below=of w6,inner sep=1.5pt] (w7) {7};
    \node[N, below=of w7,inner sep=1.5pt,xshift=-1cm] (w8) {11};
    \node[N, right=of w6,inner sep=1.5pt] (w9) {4};
    \node[N, below=of w8,inner sep=1.5pt] (w10) {9};
    \node[N, below=of w10,inner sep=1.5pt] (w11) {12};

    \draw[arroww]   (w4) edge (w8);
    \draw[arroww]   (w2) edge (w3);
    \draw[arroww]   (w3) edge (w4);
    \draw[arroww]   (w4) edge (w5);
    \draw[arroww]   (w5) edge (w6);
    \draw[arroww]   (w6) edge (w7);
    \draw[arroww]   (w7) edge (w8);
    \draw[arroww]   (w5) edge (w9);
    \draw[arroww, out=330,in=15,looseness=1]   (w3) edge (w8);
    \draw[arroww, out=330,in=90,looseness=1]   (w1) edge (w9);
    \draw[arroww, out=320,in=0,looseness=0.8]   (w1) edge (w8);
    \draw[arroww, out=320,in=0,looseness=1.4]   (w2) edge (w11);
\end{tikzpicture}
\caption{DAG.}

\end{figure} \end{document}

output:

enter image description here


Afterwards, I have uncommented the lines for the arrow, and you can see that it has been shiftled to left:

enter image description here

alper
  • 1,389

0 Answers0