سلام
استفاده از امکانات کتابخانهی positioning
مشکل شما رو حل میکند. به صورت زیر میتوانید این امکان را به امکانات بستهی تیکز اضافه کنید:
\usetikzlibrary{positioning}
برای تنظیم بلوکهاتون از فرمی مشابه زیر باید استفاده کنید:
\node [block, below left=.6cm and -5.6cm of M] (N){متن}
این بدان معنی است که بلوکی با برچسب N ایجاد شود که موقعیتش به موقیت M بستگی دارد. در
below left=.6cm and -5.6cm
.6
برای پایین یا بالا (مثبت و یا منفی) و 5.6
برای چپ و یا راست است. با این توضیحات داریم:
کد شما:
\documentclass{book}
\usepackage{amsmath}
\usepackage[a4paper,twoside,top=30mm,bottom=30mm,left=25mm,right=35mm]{geometry}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning}
\usepackage{xepersian}
\settextfont[Scale=1]{XB Zar}
\setdigitfont[Scale=1]{PGaramond}
\PersianMathsDigits
\setlatintextfont[Scale=1]{Times New Roman}
\begin{document}
\pagestyle{empty}
\begin{center}
\tikzstyle{decision} = [diamond, draw, fill=blue!20,
text width=3em, text badly centered, node distance=2cm, inner sep=0pt]
\tikzstyle{block} = [rectangle, draw, fill=blue!10,
text width=15em, text centered, rounded corners, node distance=1.8cm, minimum height=1em]
\tikzstyle{line} = [draw, -latex']
\tikzstyle{cloud} = [draw, ellipse,fill=red!20, node distance=2cm,
minimum height=1em]
\vspace*{.4cm}
\begin{tikzpicture}[node distance = 1cm, auto]
% Place nodes
\node [block] (A) {\rl{بهترین کران بالای جاری را $\infty$ قرار دهید}};
\node [block, below of=A] (B) {\rl{مسئله کاملا ساده شده را حل میکنیم}};
\node [block, below of=B] (C) {\rl{ انتخاب یک متغیر شاخه وکران و $N$ را به روز کنید}};
\node [decision, below of=C] (E) {$N=0$};
\node [cloud, right of=E] (F) {\rl{توقف}};
\node [block, below of=E] (G) {\rl{گره $i$ ام را انتخاب کنید و $N=N\setminus \{i\}$}};
\node [block, below of=G] (H) {\rl{حل مسئله $mp-LP$ }};
\node [block, below of=H] (J) {\rl{مقایسه توابع هدف}};
\node [decision, below of=J] (L) {$P^\prime=0$};
\node [block, below of=L] (M) {\rl{ایجاد تخمین بالا و پایین}};
\node [block, below left=.6cm and -5.6cm of M] (N) {\rl{ترک فضای نامعین ۱- مسئله نشدنی باشد ۲-جواب از بهترین کران بالا بزرگتر باشد }};
\node [block, below right=-1.7cm and 3cm of N] (P) {\rl{ فضای $\Xi$ را ترک میکنیم ۱- مسئله نشدنی باشد ۲- جواب صحیح پیدا شود ۳- جواب از بهترین کران بالا بزرگتر باشد}};
\node [decision, below of=N] (Q) {\rl{جواب صحیح}};
\node [block, below right=.1cm and 2cm of Q] (R) {\rl{استفاده از تخمین بالا و پایین بطوریکه شامل دستهای از جوابها باشد}};
\node [decision,below right=1.2cm and -.8cm of Q] (S) {$\Xi_i=\emptyset$};
%Draw edges
\path [line] (A) -- (B);
\path [line] (B) -- (C);
\path [line] (C) -- (E);
\path [line] (E) -- node {\rl{نه}} (F);
\path [line] (E) -- (G);
\path [line] (G) -- (H);
\path [line] (H) -- (J);
\path [line] (J) -- (L);
\path [line] (L) -- (M);
\path [line] (M) -- (N.north);
\path [line] (N) -- (Q);
\path [line] (Q) -- (S);
\path [line] (L)-- ++(.7,0) -| node[pos=.21]{{\rl{بله}}} (P);
\path [line] (P) |- node{} (S);
\path [line] (Q) -- ++(.95,0) -| node[pos=.21]{{\rl{بله}}}(R.north);
\path [line] (R) |- (S);
\path[line] (S) -- ++(-4,0) |- node[pos=.21]{{\rl{بله}}} (C);
\path[line] (S.south) -- ++(-3,0) |- node[pos=.283]{{\rl{نه}}} (G);
\end{tikzpicture}
\end{center}
\end{document}
خروجی شما:
موفق باشد. مددپور