GVPACK(1) General Commands Manual GVPACK(1)

gvpack - ادغام و بسته‌بندی گراف‌های مجزا

gvpack [ -nguv? ] [ -mmargin ] [ -arrayopts ] [ -ooutfile ] [ -sgraph_name ] [ -Gname=value ] [ files ]

gvpack جریانی از گراف‌ها را می‌خواند، آن‌ها را در یک چیدمان واحد ترکیب می‌کند، و یک گراف واحد تولید می‌نماید که به عنوان اجتماع گراف‌های ورودی عمل می‌کند. گراف‌های ورودی باید در قالب dot بوده و تمام اطلاعات لازم چیدمان را دارا باشند. ورودی قابل قبول با اعمال یک برنامه چیدمان Graphviz، مانند dot یا neato، بدون پرچم -T تولید می‌شود.

به‌طور پیش‌فرض، بسته‌بندی در سطح خوشه (cluster) انجام می‌شود. بنابراین، بخش‌های یک گراف وارد هیچ‌یک از خوشه‌های سطح بالا نمی‌شوند و با هیچ گره یا یال از گراف دیگر هم‌پوشانی نخواهند داشت.

خروجی gvpack را می‌توان با اعمال neato -s -n2 همراه با پرچم -T مورد نظر برای تولید خروجی ملموس به کار برد.

گزینه‌های زیر پشتیبانی می‌شوند:

گراف‌ها را در سطح گراف ترکیب می‌کند. این حالت فضای بیشتری مصرف می‌کند، اما از قرار گرفتن بخش‌هایی از یک گراف در میان بخش‌های گراف دیگر جلوگیری می‌نماید.
گراف‌ها را در سطح گراف ترکیب کرده و آن‌ها را در یک آرایه قرار می‌دهد. به‌طور پیش‌فرض، چیدمان به ترتیب سطر-محور (row-major) انجام می‌شود. تعداد ستون‌های مورد استفاده تقریباً برابر با ریشه دوم (جذر) تعداد گراف‌ها است. اگر عدد صحیح اختیاری n ارائه شود، این مقدار تعداد ستون‌های مورد استفاده را تعیین می‌کند.
اگر پرچم‌های اختیاری ارائه شوند، شامل یک خط زیر (underscore) به همراه هر یک از حروف "c"، "t"، "b"، "l"، "r"، "u" یا "i" خواهند بود.
اگر "c" مشخص شود، گراف‌ها به ترتیب ستون-محور (column-major) بسته‌بندی می‌شوند که در این صورت عدد صحیح پایانی تعداد سطرها را تعیین می‌کند. پرچم‌های "t"، "b"، "l"، "r" نشان می‌دهند که مؤلفه‌ها به ترتیب در امتداد بالا، پایین، چپ یا راست تراز می‌شوند. به‌طور پیش‌فرض، ترتیب درج با مرتب‌سازی گراف‌ها بر اساس اندازه، از بزرگ‌ترین به کوچک‌ترین تعیین می‌شود. اگر پرچم "u" تنظیم شده باشد، گراف‌ها بر اساس صفت عدد صحیح نامنفی sortv متصل به هر گراف مرتب می‌شوند. پرچم "i" نشان می‌دهد که هیچ مرتب‌سازی انجام نمی‌شود و گراف‌ها به همان ترتیب ورودی درج می‌گردند.
ویژگی‌هایی را برای افزوده شدن به گراف اجتماع حاصل تعیین می‌کند. برای مثال، از این گزینه می‌توان برای تعیین یک برچسب گراف استفاده کرد.
گراف‌ها را با در نظر گرفتن حاشیه‌ای به اندازه margin نقطه در اطراف بخش‌ها بسته‌بندی می‌کند.
گراف‌ها را در سطح گره (node) ترکیب می‌کند. خوشه‌ها در بسته‌بندی نادیده گرفته می‌شوند.
خروجی را در فایل output چاپ می‌کند. در صورت عدم تعیین، gvpack از خروجی استاندارد (stdout) استفاده می‌کند.
استفاده از graph_name به عنوان نام گراف ریشه. به‌طور پیش‌فرض، از "root" استفاده می‌شود.
گراف‌ها را بسته‌بندی نکن. فقط آن‌ها را در یک گراف واحد ادغام کن.
حالت پرگو (verbose).
-?
چاپ اطلاعات راهنمای استفاده و خروج.

عملوند زیر پشتیبانی می‌شود:

نام فایل‌های حاوی ۱ یا چند گراف در قالب dot. اگر هیچ عملوند files مشخص نشود، از ورودی استاندارد استفاده خواهد شد.

gvpack در صورت عدم وجود مشکل مقدار 0 و در غیر این صورت مقداری غیر‐صفر برمی‌گرداند.

ccomps -x abc.gv | dot | gvpack | neato -s -n2 -Tps

این خط لوله، گراف موجود در abc.gv را به مؤلفه‌های متصل آن تجزیه کرده، هر یک را با استفاده از dot چیدمان نموده، همه آن‌ها را دوباره در کنار هم بسته‌بندی می‌کند و ترسیم نهایی را در قالب PostScript تولید می‌نماید. البته هیچ مانعی برای استفاده از چیدمان‌های متفاوت برای هر مؤلفه وجود ندارد.

تمام گراف‌های ورودی باید همگی جهت‌دار یا همگی بدون جهت باشند.

یک گراف ورودی نباید برچسب داشته باشد، زیرا این برچسب در چیدمان آن استفاده خواهد شد. از آنجا که gvpack برچسب‌های گراف ریشه را نادیده می‌گیرد، چیدمان حاصل ممکن است حاوی مقداری فضای خالی اضافی باشد.

دستور gvpack ویژگی کادر محدودکننده (bounding box) همه زیرگراف‌های غیر‐خوشه‌ای را لغو می‌کند.

Emden R. Gansner <erg@research.att.com>

gvpr(1), dot(1), neato(1), twopi(1), ccomps(1), libpack(3)

27 May 2010