.TH DOT 1 "12 January 2015" .SH "نام (NAME)" dot \- فیلتری برای ترسیم گراف‌های جهت‌دار .br neato \- فیلتری برای ترسیم گراف‌های بدون جهت .br twopi \- فیلتری برای چینش‌های شعاعی گراف‌ها .br circo \- فیلتری برای چینش دایره‌ای گراف‌ها .br fdp \- فیلتری برای ترسیم گراف‌های بدون جهت .br sfdp \- فیلتری برای ترسیم گراف‌های بدون جهت بزرگ .br patchwork \- فیلتری برای نقشه‌های درختی مربعی‌سازی‌شده .br osage \- فیلتری برای چینش‌های مبتنی بر آرایه .SH "خلاصه دستور (SYNOPSIS)" \fBdot\fR [\fIگزینه‌ها\fP] [فایل‌ها] .br \fBneato\fR [\fIگزینه‌ها\fP] [فایل‌ها] .br \fBtwopi\fR [\fIگزینه‌ها\fP] [فایل‌ها] .br \fBcirco\fR [\fIگزینه‌ها\fP] [فایل‌ها] .br \fBfdp\fR [\fIگزینه‌ها\fP] [فایل‌ها] .br \fBsfdp\fR [\fIگزینه‌ها\fP] [فایل‌ها] .br \fBpatchwork\fR [\fIگزینه‌ها\fP] [فایل‌ها] .br \fBosage\fR [\fIگزینه‌ها\fP] [فایل‌ها] .SH "توضیحات (DESCRIPTION)" این برنامه‌ها مجموعه‌ای برای ترسیم گراف هستند. در واقع تنها یک برنامه اصلی وجود دارد؛ الگوریتم‌های چینش مشخص به صورت افزونه (plugin) پیاده‌سازی شده‌اند. بنابراین، آن‌ها تا حد زیادی در تمامی گزینه‌های خط فرمان مشترک هستند. .PP .I dot گراف‌های جهت‌دار را رسم می‌کند. این ابزار به خوبی بر روی گراف‌های جهت‌دار بدون دور (DAG) و سایر گراف‌هایی که می‌توانند به صورت سلسله‌مراتبی رسم شوند یا دارای «جریان» طبیعی هستند، کار می‌کند. .PP .I neato گراف‌های بدون جهت را با استفاده از مدل «فنر» و کاهش انرژی مربوطه ترسیم می‌کند (نگاه کنید به Kamada و Kawai، در نشریه Information Processing Letters 31:1، آوریل ۱۹۸۹). .PP .I twopi گراف‌ها را با استفاده از یک چینش شعاعی ترسیم می‌کند (نگاه کنید به G. Wills، در Symposium on Graph Drawing GD'97، سپتامبر ۱۹۹۷). اساساً، یک گره به عنوان مرکز انتخاب شده و در مبدا قرار می‌گیرد. گره‌های باقی‌مانده روی دنباله‌ای از دوایر هم‌مرکز به مرکزیت مبدا قرار می‌گیرند، که هر کدام فاصله شعاعی ثابتی از دایره قبلی دارند. تمامی گره‌ها با فاصله ۱ از مرکز، روی دایره نخست قرار می‌گیرند؛ تمامی گره‌ها با فاصله ۱ از یک گره روی دایره نخست، روی دایره دوم قرار می‌گیرند؛ و به همین ترتیب. .PP .I circo گراف‌ها را با استفاده از یک چینش دایره‌ای ترسیم می‌کند (نگاه کنید به Six و Tollis، در GD '99 و ALENEX '99، و Kaufmann و Wiese، در GD '02). این ابزار مؤلفه‌های دو\(hyمتصل (biconnected) را شناسایی کرده و گره‌های مؤلفه را روی یک دایره رسم می‌کند. سپس درخت block\(hycutpoint با استفاده از یک الگوریتم شعاعی بازگشتی چیده می‌شود. تقاطع یال‌ها در یک دایره با قرار دادن بیشترین تعداد یال ممکن روی محیط دایره، به حداقل می‌رسد. به ویژه، اگر مؤلفه بیرونی‌مسطح (outerplanar) باشد، چینش آن مسطح خواهد بود. اگر گره‌ای متعلق به چندین مؤلفه دو\(hyمتصل غیربدیهی (non\(hytrivial) باشد، چینش، گره را در یکی از آن‌ها قرار می‌دهد. به طور پیش‌فرض، این اولین مؤلفه غیربدیهی یافت‌شده در جست‌وجو از مؤلفه ریشه است. .PP .I fdp گراف‌های بدون جهت را با استفاده از مدل «فنر» ترسیم می‌کند. این ابزار بر یک رویکرد مبتنی بر نیرو (force\(hydirected) در راستای ایده Fruchterman و Reingold تکیه دارد (مقایسه کنید با Software\(hyPractice & Experience 21(11)، ۱۹۹۱، صص ۱۱۲۹\(hy۱۱۶۴). .PP .I sfdp نیز گراف‌های بدون جهت را با استفاده از مدل «فنر» توصیف‌شده در بالا ترسیم می‌کند، اما از یک رویکرد چندمقیاسی (multi-scale) برای ایجاد چینش گراف‌های بزرگ در زمانی معقول و کوتاه بهره می‌گیرد. .PP .I patchwork گراف را به صورت یک نقشه درختی مربعی‌سازی‌شده (squarified treemap) رسم می‌کند (نگاه کنید به .M. Bruls et al، در «Squarified treemaps»، نشریه Proc. Joint Eurographics and IEEE TCVG Symp. on Visualization، ۲۰۰۰، صص ۳۳-۴۲). از خوشه‌های گراف برای تعیین درخت استفاده می‌شود. .PP .I osage گراف را با استفاده از ساختار خوشه‌ای آن ترسیم می‌کند. برای یک خوشه معین، هر یک از زیرخوشه‌های آن به صورت درونی چیده می‌شوند. سپس زیرخوشه‌ها به همراه سایر گره‌های باقی‌مانده، بر اساس ویژگی‌های \fBpack\fP و \fBpackmode\fP خوشه بازچینی می‌شوند. .SH "قالب‌های خروجی (OUTPUT FORMATS)" ‏Graphviz از یک سازوکار افزونه‌ای توسعه‌پذیر برای رندرکننده‌های خروجی خود بهره می‌برد، بنابراین برای مشاهده اینکه نگارش نصب‌شده dot شما از چه قالب‌های خروجی پشتیبانی می‌کند، می‌توانید دستور ``dot \-T:'' را اجرا کرده و پیام هشدار را بررسی کنید. همچنین، سازوکار افزونه از پیاده‌سازی‌های چندگانه برای قالب‌های خروجی پشتیبانی می‌کند که امکان ایجاد تنوع در رندرکننده‌ها و قالب‌بندها را فراهم می‌آورد. برای مشاهده اینکه چه گونه‌هایی برای یک قالب خروجی خاص در دسترس است، به عنوان مثال از ``dot \-Tpng:'' استفاده کنید و برای اجبار استفاده از یک گونه خاص، به عنوان نمونه از ``dot \-Tpng:gd'' استفاده نمایید. .P به طور سنتی، Graphviz از موارد زیر پشتیبانی می‌کند: .br \fB\-Tdot\fP (قالب Dot حاوی اطلاعات چینش)، .br \fB\-Txdot\fP (قالب Dot حاوی اطلاعات کامل چینش)، .br \fB\-Tps\fP (قالب PostScript)، .br \fB\-Tpdf\fP (قالب PDF)، .br \fB\-Tsvg\fP \fB\-Tsvgz\fP (گرافیک برداری ساخت‌یافته SVG)، .br \fB\-Tfig\fP (گرافیک XFIG)، .br \fB\-Tpng\fP (گرافیک نقشه‌بیتی png)، .br \fB\-Tgif\fP (گرافیک نقشه‌بیتی gif)، .br \fB\-Tjpg\fP \fB\-Tjpeg\fP (گرافیک نقشه‌بیتی jpeg)، .br \fB\-Tjson\fP (اطلاعات xdot کدگذاری‌شده به صورت JSON)، .br \fB\-Timap\fP (فایل‌های imagemap برای کارگزارهای httpd به ازای هر گره یا یال که دارای ویژگی \fBhref\fP غیرتهی است)، .br \fB\-Tcmapx\fP (نقشه تصویری سمت کلاینت برای استفاده در html و xhtml). .br قالب‌های خروجی تکمیلی که کمتر رایج هستند یا کاربردهای خاص‌تری دارند را می‌توان در یافت. .PP افزونه‌های جایگزینی که از یک قالب خروجی مشخص پشتیبانی می‌کنند را می‌توان از پیام خطای ناشی از افزودن ':' به انتهای نام قالب یافت؛ مانند \fB\-Tpng:\fP نخستین افزونه فهرست‌شده همواره پیش‌فرض است. .PP از سوئیچ \fB\-P\fP می‌توان برای تولید گرافی از تمامی گونه‌های خروجی پشتیبانی‌شده توسط افزونه‌ها در نصب محلی graphviz استفاده کرد..SH "زبان فایل گراف (GRAPH FILE LANGUAGE)" در اینجا خلاصه‌ای از زبان فایل گراف آمده است که معمولاً از پسوند \fB.gv\fR برای گراف‌ها استفاده می‌کند: .PP [\fBstrict\fR] (\fBgraph\fR|\fBdigraph\fR) \fIname\fP { \fIstatement\(hylist\fP }\fR .br گراف سطح بالا (top\(hylevel) است. اگر گراف \fBstrict\fR باشد، یال‌های چندگانه بین جفت گره‌های یکسان مجاز نیستند. اگر یک گراف جهت‌دار باشد که با \fBdigraph\fR مشخص می‌شود، آنگاه \fIedgeop\fR باید «\->» باشد. اگر یک \fBgraph\fR بدون جهت باشد، آنگاه \fIedgeop\fR باید «\-\-» باشد. .PP دستورها (Statements) می‌توانند موارد زیر باشند: .PP \fIname\fB=\fIval\fB;\fR .br \fBnode [\fIname\fB=\fIval\fB];\fR .br \fBedge [\fIname\fB=\fIval\fB];\fR .br ویژگی پیش‌فرض گراف، گره یا یال \fIname\fP را روی \fIval\fP تنظیم می‌کند. هر زیرگراف، گره یا یالی که پس از این بیاید، ویژگی‌های پیش‌فرض جدید را به ارث می‌برد. .PP \fBn0 [\fIname0=val0,name1=val1,...\fB];\fR .br گره \fBn0\fP را ایجاد می‌کند (اگر از قبل وجود نداشته باشد) و ویژگی‌های آن را بر اساس فهرست اختیاری تنظیم می‌نماید. .PP \fBn0 \fIedgeop\fR n1 \fIedgeop\fR \fI...\fB \fIedgeop\fR nn \fB[\fIname0=val0,name1=val1,...\fB];\fR .br یال‌هایی را بین گره‌های \fBn0\fP، \fBn1\fP، ...، \fBnn\fP ایجاد کرده و ویژگی‌های آن‌ها را بر اساس فهرست اختیاری تنظیم می‌کند. گره‌ها در صورت نیاز ایجاد می‌شوند. .PP [\fBsubgraph \fIname\fB] \fB{ \fIstatement\(hylist \fB}\fR .br یک زیرگراف ایجاد می‌کند. زیرگراف‌ها می‌توانند به جای \fBn0\fP، ...، \fBnn\fP در دستورهای بالا برای ایجاد یال‌ها به کار روند. [\fBsubgraph \fIname\fR] اختیاری است؛ در صورت نبود، یک نام داخلی به زیرگراف اختصاص می‌یابد. .PP این زبان کامنت‌های سبک C به هر دو صورت /*C...*/ یا //... را می‌پذیرد. .PP نام‌ها و مقادیر ویژگی‌ها رشته‌های معمولی (سبک C) هستند. بخش‌های بعدی ویژگی‌هایی را توصیف می‌کنند که چیدمان گراف را کنترل می‌نمایند. .PP شرح کامل‌تری از این زبان را می‌توان در https://www.graphviz.org/doc/info/lang.html یافت. .SH "ویژگی‌های گراف، گره و یال (GRAPH, NODE AND EDGE ATTRIBUTES)" ابزار Graphviz از ویژگی‌های \fIname\fP=\fIvalue\fP متصل به گراف‌ها، زیرگراف‌ها، گره‌ها و یال‌ها، برای سفارشی‌سازی چیدمان و رندرینگ استفاده می‌کند. برجسته‌ترین ویژگی‌ها در زیر فهرست شده‌اند. فهرست کامل در https://www.graphviz.org/doc/info/attrs.html موجود است. .SH " ویژگی‌های مشترک گره‌ها، یال‌ها، خوشه‌ها و گراف‌ها (Attributes Common to Nodes, Edges, Clusters and Graphs)" \fBhref=\fIurl\fR نشانی URL پیش‌فرض برای فایل‌های Image map؛ در فایل‌های PostScript، نشانی URL پایه برای تمام نشانی‌های URL نسبی، همان‌طور که توسط Acrobat Distiller نسخه 3.0 به بالا شناسایی می‌شود. .PP \fBURL=\fIurl\fR (عبارت «URL» مترادفی برای «href» است.) .PP \fBfontcolor=\fIcolorvalue\fR رنگ متن برچسب را تعیین می‌کند. .PP یک \fIcolorvalue\fP می‌تواند "\fIh,s,v\fB"\fR (فام، اشباع، روشنایی یا hue, saturation, brightness) اعدادی با ممیز شناور بین 0 و 1، یا یک نام رنگ X11 مانند \fBwhite, black, red, green, blue, yellow, magenta\fR یا \fBcyan\fR، یا مقداری به صورت "\fI#rrggbb" (قرمز، سبز، آبی، هر کدام ۲ نویسه هگزادسیمال) باشد. برای جزئیات بیشتر به https://www.graphviz.org/doc/info/attrs.html#k:color و https://www.graphviz.org/doc/info/colors.html مراجعه کنید. .PP \fBfontsize=\fIn\fR اندازه قلم برچسب را روی \fIn\fP پوینت تنظیم می‌کند. .PP \fBfontname=\fIname\fR نام خانواده قلم برچسب را تعیین می‌کند. .PP \fBlabel=\fItext\fR که در آن \fItext\fP می‌تواند شامل خطوط جدید گریز داده شده \\\|n، \\\|l یا \\\|r برای خطوط چینش‌یافته وسط، چپ و راست باشد. مقدار رشته‌ای '\\G' با نام گراف جایگزین خواهد شد. برای برچسب‌های گره، مقدار رشته‌ای '\\N' با نام گره جایگزین خواهد شد. برای یال‌ها، اگر زیررشته '\\T' در یک برچسب یافت شود، با نام گره مبدا (tail) جایگزین خواهد شد؛ اگر زیررشته '\\H' در یک برچسب یافت شود، با نام گره مقصد (head) جایگزین خواهد شد؛ اگر مقدار زیررشته '\\E' در یک برچسب یافت شود، با: \fItail_node_name\fP\->\fIhead_node_name\fP یا برای گراف‌های غیرجهت‌دار با: \fItail_node_name\fP\-\-\fIhead_node_name\fP جایگزین خواهد شد. .PP همچنین Graphviz از برچسب‌های ویژه شبیه به HTML برای ساخت محتوای پیچیده گره پشتیبانی می‌کند. شرح کامل این موارد در https://www.graphviz.org/doc/info/shapes.html#html آمده است. .PP اگر گره دارای \fBshape=record\fP باشد، برچسب می‌تواند حاوی فهرست‌های بازگشتی از کادرها باشد که با { | } از هم جدا شده‌اند. شناسه‌های درگاه (Port) در برچسب‌ها با قلاب‌های زاویه‌دار < > مشخص می‌شوند. .PP .SH " ویژگی‌های گراف (Graph Attributes)" \fBsize="\fIx,y\fP"\fR حداکثر کادر احاطه‌کننده (bounding box) ترسیم را بر حسب اینچ مشخص می‌کند. .PP \fBratio=\fIf\fR نسبت ابعاد (aspect ratio) را روی \fIf\fP تنظیم می‌کند که می‌تواند یک عدد ممیز شناور یا یکی از کلیدواژه‌های \fBfill\fP، \fBcompress\fP یا \fBauto\fP باشد. .PP \fBlayout=\fIengine\fR موتور چیدمان ترجیحی (\fBdot\fP، \fBneato\fP، \fBfdp\fP و غیره) را مشخص می‌کند که پیش‌فرض حاصل از نام پایه دستور یا گزینه خط فرمان \-K را بازنویسی می‌نماید. .PP \fBmargin=\fIf\fR حاشیه صفحه را تنظیم می‌کند (در اندازه صفحه گنجانده شده است). .PP \fBordering=out\fR ترتیب یال‌های خروجی در یک زیرگراف را مطابق با توالی آن‌ها در فایل محدود می‌کند. .PP \fBrotate=90\fR حالت افقی (landscape) را فعال می‌کند. (\fBorientation=land\fR برای سازگاری با نسخه‌های پیشین حفظ شده اما منسوخ است.) .PP \fBcenter=\fIn\fR مقداری غیر صفر، ترسیم را در مرکز صفحه قرار می‌دهد. .PP \fBcolor=\fIcolorvalue\fR رنگ پیش‌زمینه را تعیین می‌کند (\fBbgcolor\fP برای پس‌زمینه). .PP \fBoverlap=\fImode\fR. این ویژگی مشخص می‌کند که الگوریتم در صورت هم‌پوشانی گره‌ها چه کاری باید انجام دهد. اگر حالت \fBfalse\fP باشد، برنامه از الگوریتم Prism برای تنظیم گره‌ها جهت حذف هم‌پوشانی‌ها استفاده می‌کند. اگر حالت \fBscale\fP باشد، چیدمان به طور یکنواخت بزرگ‌نمایی می‌شود، در حالی که اندازه گره‌ها حفظ شده، تا زمانی که گره‌ها دیگر هم‌پوشانی نداشته باشند. روش دوم هم‌پوشانی‌ها را با حفظ تقارن و ساختار حذف می‌کند، در حالی که روش اول هم‌پوشانی‌ها را به شکل فشرده‌تری حذف می‌کند اما تقارن‌ها را از بین می‌برد. اگر حالت \fBtrue\fP باشد (پیش‌فرض)، هیچ تغییر مکانی انجام نمی‌شود. از آنجا که الگوریتم \fBdot\fP همیشه چیدمانی بدون هم‌پوشانی گره‌ها تولید می‌کند، این ویژگی فقط با سایر چیدمان‌ها کاربرد دارد. .PP \fBstylesheet=\fI"file.css"\fR ارجاعی به یک برگه شیوه‌نامه (stylesheet) را در خروجی‌های \-Tsvg و \-Tsvgz می‌افزاید. توسط سایر قالب‌ها نادیده گرفته می‌شود. .PP \fBsplines\fR اگر روی \fBtrue\fR تنظیم شود، یال‌ها به صورت اسپلاین رسم می‌شوند. اگر روی \fBpolyline\fR تنظیم شود، یال‌ها به صورت چندخطی رسم می‌شوند. اگر روی \fBortho\fR تنظیم شود، یال‌ها به صورت چندخطی عمود بر هم رسم می‌شوند. در تمام این موارد، گره‌ها نباید هم‌پوشانی داشته باشند. اگر \fBsplines=\fBfalse\fR یا \fBsplines=\fBline\fR باشد، یال‌ها به صورت پاره‌خط رسم می‌شوند. مقدار پیش‌فرض برای dot برابر با \fBtrue\fR و برای همه چیدمان‌های دیگر \fBfalse\fR است. .PP \fB(ویژگی‌های ویژه dot)\fR .br .PP \fBnodesep=\fIf\fR حداقل فاصله بین گره‌ها را تعیین می‌کند. .PP \fBranksep=\fIf\fR حداقل فاصله بین رتبه‌ها (ranks) را تعیین می‌کند. .PP \fBrankdir=LR|RL|BT\fR ترسیمی از چپ به راست، راست به چپ، یا پایین به بالا را درخواست می‌کند. .PP \fBrank=same\fR (یا \fBmin\fP یا \fBmax\fP) در یک زیرگراف تخصیص رتبه به گره‌های آن را مقید می‌کند. اگر نام یک زیرگراف دارای پیشوند \fBcluster\fP باشد، گره‌های آن در یک مستطیل متمایز از چیدمان رسم می‌شوند. خوشه‌ها می‌توانند تو در تو باشند. .PP \fB(ویژگی‌های ویژه neato)\fR .br \fBmode=\fIval\fR. الگوریتم برای کمینه‌سازی انرژی در چیدمان. به طور پیش‌فرض، \fBneato\fR از Stress Majorization استفاده می‌کند. اگر \fBmode=KK\fP باشد، از نسخه‌ای از شیب کاهشی (Gradient Descent) استفاده می‌کند. .PP \fBmodel=\fIval\fR. مدل \fBneato\fP فواصل مطلوب بین تمام جفت راس‌ها را محاسبه می‌کند. به طور پیش‌فرض، از طول کوتاه‌ترین مسیر استفاده می‌نماید. اگر \fBmodel\fP روی \fBcircuit\fP تنظیم شود، یک مدل مقاومت مداری به کار گرفته می‌شود. اگر \fBmodel\fP روی \fBsubset\fP تنظیم شود، از مدلی استفاده می‌کند که در آن طول یال برابر است با تعداد گره‌هایی که دقیقاً همسایه یکی از راس‌های آن یال هستند. .PP \fBstart=\fIval\fR. مکان‌یابی اولیه تصادفی را درخواست کرده و مولد اعداد تصادفی را مقداردهی اولیه (seed) می‌کند. اگر \fIval\fP یک عدد صحیح نباشد، شناسه فرایند (PID) یا زمان فعلی به عنوان مقدار اولیه استفاده می‌شود. .PP \fBepsilon=\fIn\fR. حد آستانه توقف حل‌کننده را تعیین می‌کند. پیش‌فرض 0.1 است. .PP \fB(ویژگی‌های ویژه twopi)\fR .br \fBroot=\fIctr\fR. گره‌ای را که باید به عنوان مرکز چیدمان استفاده شود مشخص می‌کند. در صورت عدم تعیین، \fItwopi\fP به طور تصادفی یکی از گره‌هایی را که بیشترین فاصله را از یک گره برگ دارند انتخاب می‌کند، که در آن گره برگ گرهی با درجه ۱ است. اگر هیچ گره برگی وجود نداشته باشد، یک گره دلخواه به عنوان مرکز انتخاب می‌شود. .PP \fBranksep=\fIval\fR. فاصله شعاعی بر حسب اینچ را بین دنباله حلقه‌ها مشخص می‌کند. پیش‌فرض 0.75 است. .PP \fB(ویژگی‌های ویژه circo)\fR .br \fBroot=\fInodename\fR. نام گره‌ای را که در بلوک ریشه قرار دارد مشخص می‌کند. اگر گراف ناپیوسته (ناهمبند) باشد، ویژگی گره \fBroot\fP می‌تواند برای مشخص کردن بلوک‌های ریشه اضافی به کار رود. .PP \fBmindist=\fIvalue\fR. حداقل فاصله بین تمام گره‌ها را تعیین می‌کند. اگر مشخص نشود، \fIcirco\fP از مقدار پیش‌فرض 1.0 استفاده می‌کند. .PP \fB(ویژگی‌های ویژه fdp)\fR .br \fBK=\fIval\fR. جداسازی ایده‌آل پیش‌فرض گره‌ها را در چیدمان تعیین می‌کند. .PP \fBmaxiter=\fIval\fR. حداکثر تعداد تکرارها (iterations) را برای چیدمان گراف تعیین می‌کند..PP \fBstart=\fIval\fR. جای‌گذاری اولیه تصادفی گره‌هایی را که موقعیت مشخصی ندارند تنظیم می‌کند. اگر \fIval\fP یک عدد صحیح باشد، به‌عنوان بذر (seed) برای تولیدکننده اعداد تصادفی استفاده می‌شود. اگر \fIval\fP یک عدد صحیح نباشد، یک عدد صحیح تصادفی تولیدشده توسط سیستم، مانند شناسه فرایند (process ID) یا زمان فعلی، به‌عنوان بذر استفاده می‌شود. .PP .SH " ویژگی‌های گره (Node Attributes)" .PP \fBheight=\fId\fR یا \fBwidth=\fId\fR حداقل ارتفاع یا پهنا را تنظیم می‌کند. افزودن \fBfixedsize=true\fP این مقادیر را به اندازه واقعی تحمیل می‌کند (برچسب‌های متنی نادیده گرفته می‌شوند). .PP \fBshape=\fIbuiltin_polygon\fR record epsf .br \fIbuiltin_polygon\fR می‌تواند مقادیری نظیر \fBplaintext, ellipse, oval, circle, egg, triangle, box, diamond, trapezium, parallelogram, house, hexagon, octagon, note, tab, box3d, or component,\fR و موارد دیگر باشد. (چندضلعی‌ها توسط ویژگی‌های گره زیر تعریف یا اصلاح می‌شوند: \fBregular\fR، \fBperipheries\fR، \fBsides\fR، \fBorientation\fR، \fBdistortion\fR و \fBskew\fR.) \fBepsf\fR از ویژگی \fBshapefile\fR گره به‌عنوان مسیر یک فایل EPSF خارجی استفاده می‌کند تا به‌طور خودکار برای شکل گره بارگذاری شود. .PP برای توضیحات کامل اشکال گره‌ها، https://www.graphviz.org/doc/info/shapes.html را ببینید. .PP \fBcolor=\fIcolorvalue\fR رنگ خط دور و رنگ پیش‌فرض پر کردن را در صورتی که style=filled باشد و \fBfillcolor\fR مشخص نشده باشد، تنظیم می‌کند. .PP \fBfillcolor=\fIcolorvalue\fR رنگ پر کردن را در زمان style=filled تنظیم می‌کند. در صورت مشخص نشدن، fillcolor در زمان style=filled به‌طور پیش‌فرض همانند رنگ خط دور خواهد بود. .PP \fBstyle=filled solid dashed dotted bold invis\fP .PP \fBxlabel=\fI"text"\fR برچسبی را مشخص می‌کند که در نزدیکی، اما خارج از یک گره قرار می‌گیرد. رشته عادی \fBlabel\fP در درون شکل گره قرار می‌گیرد. .PP \fBtarget=\fI"target"\fR یک رشته هدف برای imagemapهای سمت کلاینت (client\(hyside) و SVG است که در صورت داشتن URL برای گره‌ها مؤثر خواهد بود. رشته target برای تعیین این‌که کدام پنجره مرورگر برای URL استفاده شود به کار می‌رود. تنظیم آن روی "_graphviz" در صورت عدم وجود، یک پنجره جدید باز می‌کند و در صورت وجود، مجدداً از همان استفاده می‌کند. اگر رشته target خالی باشد (حالت پیش‌فرض)، هیچ ویژگی targetای در خروجی گنجانده نمی‌شود. زیررشته‌های '\\N' و '\\G' به همان شیوه ویژگی برچسب گره جایگزین می‌شوند. علاوه بر این، زیررشته '\\L' با رشته برچسب گره جایگزین می‌شود. .PP \fBtooltip=\fI"text"\fR یک رشته راهنمای ابزار (tooltip) برای imagemapهای سمت کلاینت و SVG است که در صورت داشتن URL برای گره‌ها مؤثر واقع می‌شود. رشته tooltip به‌طور پیش‌فرض همانند رشته برچسب است، اما این ویژگی به گره‌های بدون برچسب اجازه می‌دهد همچنان دارای tooltip باشند و در نتیجه گراف‌های فشرده‌تری ایجاد شود. زیررشته‌های '\\N' و '\\G' به همان شیوه ویژگی برچسب گره جایگزین می‌شوند. علاوه بر این، زیررشته '\\L' با رشته برچسب گره جایگزین می‌شود. .PP ویژگی‌های زیر تنها برای گره‌های با شکل چندضلعی اعمال می‌شوند: .PP \fBregular=\fIn\fR اگر \fIn\fR غیرصفر باشد، چندضلعی منتظم ساخته می‌شود؛ یعنی نسبت به محورهای x و y متقارن خواهد بود، در غیر این صورت چندضلعی نسبت ابعاد برچسب را به خود می‌گیرد. چندضلعی‌های \fIbuiltin_polygons\fR که از قبل منتظم نیستند با این ویژگی منتظم می‌شوند. چندضلعی‌های \fIbuiltin_polygons\fR که از قبل منتظم هستند تحت تأثیر قرار نمی‌گیرند (یعنی نمی‌توان آن‌ها را نامتقارن ساخت). .PP \fBperipheries=\fIn\fR تعداد خطوط پیرامونی رسم‌شده در اطراف چندضلعی را تعیین می‌کند. این مقدار جایگزین تعداد خطوط پیرامونی در \fIbuiltin_polygons\fR می‌شود. .PP \fBsides=\fIn\fR تعداد اضلاع چندضلعی را تعیین می‌کند. \fIn\fR<3 منجر به یک بیضی می‌شود. این ویژگی توسط \fIbuiltin_polygons\fR نادیده گرفته می‌شود. .PP \fBorientation=\fIf\fR جهت رأس اول چندضلعی را در خلاف جهت عقربه‌های ساعت نسبت به خط عمود، بر حسب درجه تعیین می‌کند. \fIf\fR می‌تواند یک عدد اعشاری باشد. جهت برچسب‌ها تحت تأثیر این ویژگی قرار نمی‌گیرد. این ویژگی به جهت اولیه \fIbuiltin_polygons\fR اضافه می‌شود. .PP \fBdistortion=\fIf\fR مقدار پهن‌شدن بالا و باریک‌شدن پایین چندضلعی را (نسبت به جهت آن) تعیین می‌کند. مقادیر ممیز شناور بین \-1 و +1 پیشنهاد می‌شوند. این ویژگی توسط \fIbuiltin_polygons\fR نادیده گرفته می‌شود. .PP \fBskew=\fIf\fR مقدار جابه‌جایی به راست در بالا و جابه‌جایی به چپ در پایین چندضلعی را (نسبت به جهت آن) تعیین می‌کند. مقادیر ممیز شناور بین \-1 و +1 پیشنهاد می‌شوند. این ویژگی توسط \fIbuiltin_polygons\fR نادیده گرفته می‌شود. .PP \fB(ویژگی‌های ویژه circo)\fR .br \fBroot=\fItrue/false\fR. این ویژگی مشخص می‌کند که بلوک حاوی گره داده‌شده به‌عنوان ریشه درخت پوشا در چینش در نظر گرفته شود. .PP \fB(ویژگی‌های ویژه neato و fdp)\fR .br \fBpin=\fIval\fR. اگر \fIval\fR برابر \fBtrue\fP باشد، گره در موقعیت اولیه خود باقی خواهد ماند. .SH " ویژگی‌های یال (Edge Attributes)" \fBweight=\fIval\fR که در آن \fIval\fP هزینه یال است. برای \fBdot\fP، وزن‌ها باید اعداد صحیح غیرمنفی باشند. مقادیر بزرگ‌تر از ۱ متمایل به کوتاه‌تر کردن یال هستند؛ یال‌های افقی با وزن ۰ برای ترتیب‌بندی گره‌ها نادیده گرفته می‌شوند. در \fBtwopi\fP، وزن ۰ باعث می‌شود یال در ساخت درخت پوشای زیرین نادیده گرفته شود. برای \fBneato\fP و \fBfdp\fP، وزن بیشتر تأکید بیشتری بر الگوریتم می‌گذارد تا به طول یالی نزدیک‌تر به مقدار تعیین‌شده توسط ویژگی \fBlen\fP آن یال دست یابد. .PP \fBstyle=solid dashed dotted bold invis\fP .PP \fBcolor=\fIcolorvalue\fR رنگ خط را برای یال‌ها تنظیم می‌کند. .PP \fBcolor=\fIcolorvaluelist\fR فهرستی از \fIcolorvalue\fR جداشده با ':' که یال‌های موازی ایجاد می‌کند، یک یال به ازای هر رنگ. .PP \fBdir=forward back both none\fP جهت پیکان را کنترل می‌کند. .PP \fBtailclip,headclip=false\fP برش شکل در نقاط انتهایی را غیرفعال می‌کند. .PP \fBtarget=\fI"text"\fR یک رشته هدف برای imagemapهای سمت کلاینت و SVG است که در صورت داشتن URL برای یال‌ها مؤثر خواهد بود. اگر رشته target خالی باشد (حالت پیش‌فرض)، هیچ ویژگی targetای در خروجی گنجانده نمی‌شود. زیررشته‌های '\\T'، '\\H'، '\\E' و '\\G' به همان شیوه ویژگی برچسب یال جایگزین می‌شوند. علاوه بر این، زیررشته '\\L' با رشته برچسب یال جایگزین می‌شود. .PP \fBtooltip=\fI"text"\fR یک رشته راهنمای ابزار برای imagemapهای سمت کلاینت است که در صورت داشتن URL برای یال‌ها مؤثر خواهد بود. رشته tooltip به‌طور پیش‌فرض همانند رشته برچسب یال است. زیررشته‌های '\\T'، '\\H'، '\\E' و '\\G' به همان شیوه ویژگی برچسب یال جایگزین می‌شوند. علاوه بر این، زیررشته '\\L' با رشته برچسب یال جایگزین می‌شود. .PP \fBarrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot, tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow\fP. شکل نشانه‌ای (glyph) را تعیین می‌کند که در محل برخورد یال به ترتیب با گره سر یا دم ظاهر می‌شود. توجه داشته باشید که این تنها شکل را مشخص می‌کند؛ ویژگی \fBdir\fP تعیین می‌کند که نشانه رسم شود یا خیر. .PP \fBarrowsize=\fIval\fR یک ضریب مقیاس ضربی برای اندازه نوک پیکان تعیین می‌کند. inv_length=6,inv_width=7,dot_radius=2) .PP \fBheadlabel,taillabel=\fItext\fR برای برچسب‌هایی که در نزدیکی گره‌های سر و دم یک یال ظاهر می‌شوند. \fBlabelfontcolor\fP، \fBlabelfontname\fP، \fBlabelfontsize\fP برای برچسب‌های سر و دم. زیررشته‌های '\\T'، '\\H'، '\\E' و '\\G' به همان شیوه ویژگی برچسب یال جایگزین می‌شوند. علاوه بر این، زیررشته '\\L' با رشته برچسب یال جایگزین می‌شود. .PP \fBheadhref=\fI"url"\fR نشانی url را برای درگاه سر در فایل‌های imagemap، PostScript و SVG تنظیم می‌کند. زیررشته‌های '\\T'، '\\H'، '\\E' و '\\G' به همان شیوه ویژگی برچسب یال جایگزین می‌شوند. علاوه بر این، زیررشته '\\L' با رشته برچسب یال جایگزین می‌شود. .PP \fBheadURL=\fI"url"\fR (\fBheadURL\fP مترادفی برای \fBheadhref\fP است.) .PP \fBheadtarget=\fI"headtarget"\fR یک رشته هدف برای imagemapهای سمت کلاینت و SVG است که در صورت داشتن URL برای سر یال‌ها مؤثر خواهد بود. رشته headtarget برای تعیین این‌که کدام پنجره مرورگر برای URL استفاده شود به کار می‌رود. اگر رشته headtarget خالی باشد (حالت پیش‌فرض)، headtarget به‌طور پیش‌فرض همان مقدار target برای یال را می‌گیرد. زیررشته‌های '\\T'، '\\H'، '\\E' و '\\G' به همان شیوه ویژگی برچسب یال جایگزین می‌شوند. علاوه بر این، زیررشته '\\L' با رشته برچسب یال جایگزین می‌شود. .PP \fBheadtooltip=\fI"tooltip"\fR یک رشته راهنمای ابزار برای imagemapهای سمت کلاینت است که در صورت داشتن URL برای درگاه‌های سر مؤثر خواهد بود. رشته tooltip به‌طور پیش‌فرض همانند رشته headlabel است. زیررشته‌های '\\T'، '\\H' و '\\E' به همان شیوه ویژگی برچسب یال جایگزین می‌شوند. علاوه بر این، زیررشته '\\L' با رشته برچسب یال جایگزین می‌شود. .PP \fBtailhref=\fI"url"\fR نشانی url را برای درگاه دم در فایل‌های imagemap، PostScript و SVG تنظیم می‌کند. زیررشته‌های '\\T'، '\\H'، '\\E' و '\\G' به همان شیوه ویژگی برچسب یال جایگزین می‌شوند. علاوه بر این، زیررشته '\\L' با رشته برچسب یال جایگزین می‌شود. .PP \fBtailURL=\fI"url"\fR (\fBtailURL\fP مترادفی برای \fBtailhref\fP است.) .PP \fBtailtarget=\fI"tailtarget"\fR یک رشته هدف برای imagemapهای سمت کلاینت و SVG است که در صورت داشتن URL برای دم یال‌ها مؤثر خواهد بود. رشته tailtarget برای تعیین این‌که کدام پنجره مرورگر برای URL استفاده شود به کار می‌رود. اگر رشته tailtarget خالی باشد (حالت پیش‌فرض)، tailtarget به‌طور پیش‌فرض همان مقدار target برای یال را می‌گیرد. زیررشته‌های '\\T'، '\\H'، '\\E' و '\\G' به همان شیوه ویژگی برچسب یال جایگزین می‌شوند. علاوه بر این، زیررشته '\\L' با رشته برچسب یال جایگزین می‌شود. .PP \fBtailtooltip=\fI"tooltip"\fR یک رشته راهنمای ابزار برای imagemapهای سمت کلاینت است که در صورت داشتن URL برای درگاه‌های دم مؤثر خواهد بود. رشته tooltip به‌طور پیش‌فرض همانند رشته taillabel است. زیررشته‌های '\\T'، '\\H'، '\\E' و '\\G' به همان شیوه ویژگی برچسب یال جایگزین می‌شوند. علاوه بر این، زیررشته '\\L' با رشته برچسب یال جایگزین می‌شود..PP \fBlabeldistance\fP و \fBlabelangle\fP (به درجه، در خلاف جهت عقربه‌های ساعت) جایگاه برچسب‌های سر (head) و ته (tail) را مشخص می‌کنند. .PP \fBdecorate\fP خطی از یال به برچسب رسم می‌کند. .PP \fBsamehead,sametail\fP یال‌های دارای مقدار یکسان را با استفاده از میانگین نقطه فرود، به یک درگاه (port) یکسان هدایت می‌کنند. .PP \fB(ویژگی‌های مختص dot)\fR .br \fBconstraint=false\fP باعث می‌شود یک یال در تخصیص رتبه (rank) نادیده گرفته شود. .PP \fBminlen=\fIn\fR که در آن \fIn\fP یک ضریب عدد صحیح است که بر طول یال اعمال می‌شود (رتبه‌ها برای یال‌های عادی، یا حداقل فاصله بین گره‌ها برای یال‌های هم‌سطح). .PP \fBxlabel=\fI"text"\fR با برچسب‌های یال در \fBdot\fP مانند انواع خاصی از گره‌ها رفتار می‌شود و در طول چینش گره‌ها برای آن‌ها فضا تخصیص می‌یابد. این کار گاهی می‌تواند مسیریابی یال را دچار بدشکلی کند. اگر به‌جای آن از یک \fBxlabel\fP استفاده شود، برچسب پس از تعیین موقعیت همه گره‌ها و یال‌ها قرار داده می‌شود. در مقابل، این امر ممکن است منجر به مقداری هم‌پوشانی بین برچسب‌ها شود. .PP \fB(ویژگی‌های مختص neato و fdp)\fR .br \fBlen=\fIf\fR طول بهینه یک یال را تنظیم می‌کند. مقدار پیش‌فرض 1.0 است. .PP .SH "گزینه‌های خط فرمان (COMMAND\(hyLINE OPTIONS)" \fB\-G\fP یک ویژگی پیش‌فرض گراف را تنظیم می‌کند. .br \fB\-N\fP یک ویژگی پیش‌فرض گره را تنظیم می‌کند. .br \fB\-E\fP یک ویژگی پیش‌فرض یال را تنظیم می‌کند. مثال: \fB\-Gsize="7,8" \-Nshape=box \-Efontsize=8\fR .PP \fB\-\-filepath=\fIpath\fR از \fIpath\fR به‌عنوان یک پیشوند برای یافتن فایل‌های ارجاع‌داده‌شده بیرونی استفاده می‌کند. برای نمونه، استفاده از \fB\-\-filepath=bar/baz\fR باعث می‌شود فایل \fBfoo.png\fR در \fBimage="foo.png"\fR به‌صورت \fBbar/baz/foo.png\fR بر روی دیسک جستجو شود. این گزینه هر مقدار \fBimagepath\fR تنظیم‌شده در خط فرمان یا به‌صورت ویژگی در منبع گراف ورودی را نادیده گرفته و جایگزین می‌کند. .PP \fB\-l\fIfile\fR فایل‌های کتابخانه سفارشی PostScript را بارگذاری می‌کند. این فایل‌ها معمولاً اشکال یا سبک‌های سفارشی را تعریف می‌کنند. اگر \fB\-l\fP به‌تنهایی داده شود، کتابخانه استاندارد حذف می‌شود. .PP \fB\-T\fIlang\fR زبان خروجی را همان‌طور که در بالا شرح داده شد تعیین می‌کند. .PP \fB\-n\fR[\fB1\fR|\fB2\fR] (عملیات صوری / no\(hyop) در صورت تنظیم، neato فرض می‌کند که گره‌ها از پیش موقعیت‌دهی شده‌اند و تمام گره‌ها دارای ویژگی pos هستند که موقعیت‌ها را مشخص می‌کند. سپس بر اساس مقدار ویژگی overlap، یک تنظیم اختیاری برای حذف هم‌پوشانی گره\(hyگره انجام می‌دهد، چینش یال‌ها را وابسته به مقدار ویژگی \fBsplines\fR محاسبه می‌کند، و گراف را در قالب مناسب ارائه می‌دهد. اگر num تعیین شود، اقدامات زیر رخ می‌دهد: .nf num = 1 .fi معادل با \-n. .nf num > 1 .fi استفاده از موقعیت گره‌ها همان‌طور که مشخص شده است، بدون هیچ تنظیمی برای رفع هم‌پوشانی‌های گره\(hyگره، و استفاده از هرگونه چینش یالی که از پیش توسط ویژگی pos تعیین شده است. neato برای هر یالی که ویژگی \fBpos\fP ندارد، چینش یال را محاسبه می‌کند. طبق معمول، چینش یال توسط ویژگی \fBsplines\fR هدایت می‌شود. .nf num = 3 .fi همچنین انتهای یال‌ها را به لبه‌های گره‌ها منطبق می‌کند. .PP \fB\-K\fIlayout\fR موتور چینش پیش‌فرض را که از نام دستور برداشت می‌شود، بازنویسی و لغو می‌کند. .PP \fB\-O\fP نام فایل‌های خروجی را به‌طور خودکار بر اساس نام فایل ورودی و قالب \-T تولید می‌کند. .PP \fB\-P\fP یک گراف از افزونه‌های در دسترس فعلی تولید می‌کند. .PP \fB\-v\fP (مشروح / verbose) اطلاعات گوناگونی را که برای اشکال‌زدایی مفید است چاپ می‌کند. .PP \fB\-c\fP پیکربندی افزونه‌ها. .PP \fB\-q\fIlevel\fR سطح فرونشانی پیام‌ها را تعیین می‌کند. مقدار پیش‌فرض 1 است. .PP \fB\-s\fIfscale\fR ورودی را با ضریب \fIfscale\fP مقیاس‌بندی می‌کند؛ مقدار پیش‌فرض 72 است. .PP \fB\-y\fR مختصات y را در خروجی معکوس می‌کند. .PP \fB\-o\fIfile\fR خروجی را در \fIfile\fP می‌نویسد. .PP \fB\-x\fP گراف را کاهش می‌دهد (reduce). .PP \fB\-Lg\fP از شبکه چهارخانه‌ای (grid) استفاده نمی‌کند. .PP \fB\-LO\fP از نیروی ربایش قدیمی استفاده می‌کند. .PP \fB\-Lm\fIl\fR مقدار m\(hylimit (آستانه فاصله‌ای که در آن نیروی دافعه به ۰ تضعیف می‌شود) را به \fIl\fP تنظیم می‌کند. اگر تنظیم نشود، پیش‌فرض بی‌نهایت است (نیروی دافعه همیشه اعمال می‌شود). .PP \fB\-Ln\fIi\fR تعداد تکرارها را به \fIi\fP تنظیم می‌کند. .PP \fB\-LU\fIi\fR ضریب مقیاس‌بندی‌نشده را به \fIi\fP تنظیم می‌کند. .PP \fB\-LC\fIv\fR ضریب انبساط هم‌پوشانی را به \fIv\fP تنظیم می‌کند. .PP \fB\-LT\fR[*]\fIv\fR دما (ضریب دما) را به \fIv\fP تنظیم می‌کند. .PP \fB\-V\fP (نسخه) اطلاعات نسخه را چاپ می‌کند و خارج می‌شود. .PP \fB\-?\fP راهنمای نحوه استفاده را چاپ کرده و خارج می‌شود. .PP توضیحات کامل گزینه‌های خط فرمان موجود در نشانی زیر قابل مشاهده است: https://www.graphviz.org/doc/info/command.html .SH "مثال‌ها (EXAMPLES)" .nf digraph test123 { a \-> b \-> c; a \-> {x y}; b [shape=box]; c [label="hello\\\|nworld",color=blue,fontsize=24, fontname="Palatino\-Italic",fontcolor=red,style=filled]; a \-> z [label="hi", weight=100]; x \-> z [label="multi\-line\\\|nlabel"]; edge [style=dashed,color=red]; b \-> x; {rank=same; b x} } .fi .PP .nf graph test123 { a \-\- b \-\- c; a \-\- {x y}; x \-\- c [w=10.0]; x \-\- y [w=5.0,len=3]; } .fi.SH "هشدارها (CAVEATS)" اسپلاین‌های یال‌ها ممکن است به‌طور ناخواسته دچار هم‌پوشانی شوند. .PP برچسب‌های یال‌های هم‌سطح تا حدودی ناقص هستند. برچسب‌های یال‌های بین‌خوشه‌ای کاملاً از کار افتاده هستند. .PP به دلیل استفاده از بهینه‌سازی نامقید، ممکن است کادرهای گره با یال‌های نامرتبط هم‌پوشانی داشته باشند یا با آن‌ها تماس پیدا کنند. به نظر می‌رسد تمامی مدل‌های جانمایی فنری موجود دارای این محدودیت هستند. .PP تلاش‌های ظاهراً معقول برای تثبیت (پین کردن) گره‌ها یا تنظیم طول‌ها و وزن‌های یال‌ها می‌تواند موجب ناپایداری شود. .SH "نویسندگان (AUTHORS)" Stephen C. North .br Emden R. Gansner .br John C. Ellson .br Yifan Hu .PP درایور نگاشت‌بیتی (PNG، GIF و غیره) توسط Thomas Boutell نوشته شده است، .PP رندرکننده قلم‌های Truetype متعلق به پروژه Freetype (شامل David Turner، Robert Wilhelm و Werner Lemberg) است (که می‌توان با آن‌ها از طریق freetype\-devel@lists.lrz\-muenchen.de ارتباط برقرار کرد). .SH "همچنین ببینید (SEE ALSO)" این صفحه راهنما تنها شامل بخش کوچکی از اطلاعات مرتبط با برنامه‌های صفحه‌آرایی Graphviz است. کامل‌ترین اطلاعات را می‌توان در ، به‌ویژه در صفحات مرجع برخط یافت. بیشتر این اسناد در زیرشاخه‌های \fIdoc\fP و \fIdoc/info\fP در توزیع‌های سورس و باینری نیز در دسترس هستند. .PP .BR tcldot (n), xcolors (1), libcgraph (3). .PP E. R. Gansner, S. C. North, K. P. Vo, "DAG \(hy A Program to Draw Directed Graphs", Software \(hy Practice and Experience 17(1), 1988, pp. 1047\(hy1062. .br E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, "A Technique for Drawing Directed Graphs," IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214\(hy230. .br S. North and E. Koutsofios, "Applications of graph visualization", Graphics Interface 94, pp. 234\(hy245. .br E. R. Gansner and E. Koutsofios and S. C. North, "Drawing Graphs with dot," قابل دسترسی در https://www.graphviz.org/pdf/dotguide.pdf. .br S. C. North, "NEATO User's Manual". قابل دسترسی در https://www.graphviz.org/pdf/neatoguide.pdf. .br E. R. Gansner and Y. Hu, "Efficient, Proximity-Preserving Node Overlap Removal", J. Graph Algorithms Appl., 14(1) pp. 53\(hy74, 2010. .SH "نکات (NOTES)" در پلتفرم‌های غیر ویندوزی، ارسال \fBSIGUSR1\fR به Graphviz می‌تواند برای روشن و خاموش کردن گزارش برخی نقاط اضافی در کد neatogen مورد استفاده قرار گیرد.