.TH mkpic 1 "October 03, 2025" "mkpic version 1.03" "DekDoc scripts" .SH "نام (NAME)" mkpic \- واسطی برای ساخت تصاویر با mfpic .SH "خلاصه دستور (SYNOPSIS)" .B mkpic [options] [picfile] .SH "گزینه‌ها (OPTIONS)" .B -c,--clean .RS پاک کردن همه چیز به‌جز فایل ورودی و خروج .RE .B -p,--pdfsample .RS ایجاد فایل pdf حاوی تصاویر نمونه .RE .B -f,--font= .RS تنظیم قلم پیش‌فرض برای برچسب‌ها .RE .B --[no]box .RS تولید جعبه‌های قاب‌دار .RE .B -V,--version .RS گزارش شماره نسخه و خروج .RE .B -h,--help .RS نمایش اطلاعات راهنما و خروج .RE .B --[no]debug .RS نمایش اطلاعات اشکال‌زدایی .RE .B -l,--log= .RS فایل برای پیام‌های هشدار .RE در صورت مشخص نشدن فایل ورودی، از بخش DATA استفاده می‌شود. .SH "مرور دستورها (COMMAND OVERVIEW)" .B begin .RS .B name xl yl xmin ymin xmax ymax xlabel ylabel .RE .B end .B stop .B var=value .B # .RS .B comment .RE .B .B arccst .RS .B xcenter ycenter xstart ystart theta .RE .B arcset .RS .B xstart ystart xend yend theta .RE .B arccrtt .RS .B xcenter ycenter radius theta1 theta2 .RE .B arc3 .RS .B x1 y1 x2 y2 x3 y3 .RE .B .B xmark .RS .B [label1] x1 [label2] x2 ... .RE .B Xmark .RS .B [label1] x1 [label2] x2 ... .RE .B ymark .RS .B [label1] y1 [label2] y2 ... .RE .B Ymark .RS .B [label1] y1 [label2] y2 ... .RE .B .B xdrop .RS .B x y .RE .B ydrop .RS .B x y .RE .B xydrop .RS .B x y .RE .B .B arrow .RS .B x1 y1 x2 y2 label .RE .B label .RS .B YX x y label .RE .B xlabels .RS .B YX x y dx label ... .RE .B ylabels .RS .B YX x y dy label ... .RE .B .B point .RS .B x1 y1 x2 y2 ... .RE .B dpoint .RS .B x1 y1 dx1 dy1 ... .RE .B lines .RS .B x1 y1 x2 y2 ... .RE .B dlines .RS .B x1 y1 dx1 dy1 ... .RE .B curve .RS .B x1 y1 x2 y2 ... .RE .B dcurve .RS .B x1 y1 dx1 dy1 ... .RE .B .B rect .RS .B x1 y1 x2 y2 .RE .B drect .RS .B x y dx dy .RE .B dcrect .RS .B x y dx dy .RE .B crect .RS .B x1 y1 x2 y2 .RE .B arect .RS .B xc yc width height theta .RE .B bar .RS .B x xdev height .RE .B .B func .RS .B xmin xmax step expression-in-x .RE .B .B grid .RS .B dx dy xgap ygap .RE .B hatch .RS .B.RE .B bhat .RS .B .RE .B ehat .RS .B .RE .SH "توضیحات (DESCRIPTION)" برنامهٔ mkpic واسطی ساده برای ایجاد تصاویر کوچک با استفاده از mfpic فراهم می‌کند. بدین منظور باید یک فایل ورودی متشکل از دستورها، هر کدام در یک خط، همراه با پارامترهای جداشده با فاصله ایجاد شود (یا بخش DATA از اسکریپت mkpic را ویرایش کنید که در صورت اجرا بدون فایل ورودی، از آن استفاده می‌شود). برای توضیحات مفصل به فایل‌های mkpicdoc.tex و mkpicdoc.pdf که بخشی از این توزیع هستند، مراجعه کنید. دستور mkpic دو فایل تولید می‌کند. با فرض یک فایل ورودی به نام picfile که به‌طور پیش‌فرض mkpic است، این فایل‌ها عبارتند از: .B picfile.mac .RS یک فایل ماکرو که شامل دستورات TeX برای هر تصویر خواهد بود .RE .B picfile.sty .RS یک فایل سبک (style) برای latex، که دستورات TeX یکسانی را برای هر تصویر تعریف می‌کند. .RE با گزینهٔ \-\-pdfsample دو فایل دیگر نیز تولید می‌شوند: .B picfile.pdf .RS یک فایل PDF شامل تمام تصاویر. این به شما امکان می‌دهد نتایج طراحی‌های خود را به آسانی بررسی کنید. .RE .B picfile.tex .RS متن مبدأ TeX که برای ایجاد این فایل PDF استفاده شده است. .RE در LaTeX، باید \\usepackage{picfile} را درج کرده و دستورهایی مانند \\Fig\fIname\fR را در سورس خود بگنجانید، که در آن \fIname\fR نامی است که به یکی از تصاویر خود در دستور begin مربوط به mkpic اختصاص داده‌اید. در TeX و ConTeXt، باید \\input␣picfile.mac را وارد کرده و دستورهایی مانند \\Fig\fIname\fR را در سورس خود بیاورید، که در آن \fIname\fR نامی است که به یکی از تصاویر خود در دستور begin مربوط به mkpic اختصاص داده‌اید. در TeX، باید از دستور \\bye (\fInot\fR \\end برای اتمام متن مبدأ TeX خود استفاده کنید برای اطلاع از نحوهٔ اجرای mkpic و TeX، LaTeX، یا ConTeXt، به بخش RUNNING مراجعه کنید. .SH "دستورها (COMMANDS)" ساختار کد مبدأ به‌گونه‌ای است که افزودن دستورهای اختصاصی آسان باشد، در حال حاضر دستورهای زیر پیاده‌سازی شده‌اند (آرگومان‌ها در اینجا فهرست نشده‌اند؛ برای آن‌ها به بخش SYNOPSIS مراجعه کنید): .B begin, end .RS هر تصویر با دستور begin آغاز می‌شود و با دستور end خاتمه می‌یابد. دستور begin یک نام برای تصویر و یک دستور tex با همان نام و با پیشوند 'Fig' تعریف می‌کند. دستور حاصل در یک فایل .mac نوشته می‌شود. بنابراین دستور .RE .B .RS .B begin aa ... .RE .B .RS نوشتن \\def\\Figaa{...} را در فایل .mac آغاز می‌کند، و تصویر را می‌توان در یک سند TeX با فراخوانی فایل .mac و استفاده از دستور \\Figaa بازتولید کرد. .RE .B .RS پارامترهای xl و yl طول محورهای x و y هستند. xlabel و ylabel برچسب‌هایی هستند که در انتهای این محورها قرار می‌گیرند. از یک فاصله برای لغو برچسب‌گذاری، یا از "-" برای جلوگیری از رسم کامل محورها استفاده کنید. .RE .B .B stop .RS خواندن بیشتر ورودی را متوقف می‌کند. زمانی کاربرد دارد که تصاویر زیادی دارید، اما برای مقاصد آزمایشی مایلید فقط چند تصویر اول را مشاهده کنید. .RE .B .B var=value .RS متغیر var را به value مقداردهی می‌کند. این متغیر، یا عبارتی شامل آن، می‌تواند به جای هر پارامتر عددی استفاده شود. نام متغیرها می‌تواند شامل حروف کوچک و بزرگ انگلیسی، ارقام یا زیرخط باشد، با این محدودیت که باید با یک حرف شروع شوند و نباید به زیرخط ختم شوند. .RE .B .B # .RS .B .RE .RS بیانگر توضیح (کامنت) است .RE .B .B xmark, ymark, Xmark, Ymark .RS این دستورها یک یا چند برچسب را در امتداد محورهای x یا y، در زیر محور (xmark و ymark) یا بالای آن (Xmark و Ymark) قرار می‌دهند. .RE .B .RS برای دستورهای [xXyY]mark، پارامتری که شامل هر نویسه‌ای غیر از [-.0-9] باشد، به عنوان برچسبی برای قرارگیری تفسیر می‌شود (این بدان معناست که در اینجا نمی‌توانید از عبارت‌ها استفاده کنید!) و موقعیت آن در پارامتر بعدی مورد انتظار است. اگر یک پارامتر فقط یک عدد باشد، در آن موقعیت x قرار می‌گیرد. اگر می‌خواهید یک عدد به عنوان برچسب تفسیر شود، آن را در آکوالاد قرار دهید: {1950}. .RE .B .B arccst .RS (یادآور: center start theta.) کمانی با مرکز xcenter,ycenter رسم می‌کند که از xstart,ystart شروع شده و طول کمان آن theta درجه است. .RE .B .B arcset .RS (یادآور: start end theta.) کمانی رسم می‌کند که از xstart,ystart آغاز شده، در xend,yend پایان می‌یابد و طول کمان آن theta درجه است. .RE .B .B arccrtt .RS (یادآور: center radius theta1 theta2.) کمانی با مرکز xcenter,ycenter، شعاع radius رسم می‌کند که از theta1 درجه شروع و در theta2 درجه پایان می‌یابد. .RE .B .B arc3 .RS (یادآور: ۳ نقطه.) کمانی رسم می‌کند که از (x1,y1) آغاز می‌شود، از (x2,y2) می‌گذرد و در (x3,y3) پایان می‌یابد. .RE .B .B xdrop, ydrop, xydrop .RS این دستورها به‌ترتیب پیکان‌های نقطه‌چینی را به‌صورت عمود بر محور x، محور y و هر دو محور رسم می‌کنند که با نوک پیکان روی محورها پایان می‌یابند. .RE .B .B arrow .RS پیکانی از (x1,y1) به (x2,y2) رسم می‌کند که در انتهای آن با label برچسب‌گذاری شده است .RE .B .B label .RS یک برچسب در (x,y) رسم می‌کند. YX نحوهٔ تنظیم آن را مشخص می‌کند: برای Y=t,b,c در جهت y، نقطهٔ (x,y) به‌ترتیب در بالا، پایین یا مرکز برچسب خواهد بود؛ برای X=l,r,c در جهت x، برچسب به‌صورت چپ‌تراز، راست‌تراز یا وسط‌چین روی (x,y) تنظیم می‌شود. بدین ترتیب .RE .B .RS .B label tl 0 0 Hello World! .RE .B .RS رشتهٔ "Hello World" را با گوشهٔ پایین چپ آن در (0,0) رسم می‌کند .RE .B .B xlabels .RS برچسب‌های متعددی را با شروع از (x,y) رسم می‌کند و پس از هر برچسب، x را با dx افزایش می‌دهد. YX: به دستور label مراجعه کنید. برچسب‌ها نباید حاوی فاصله باشند؛ در صورت نیاز به فاصله، به جای آن از - استفاده کنید. .RE .B .B ylabels .RS مشابه xlabels، اما با این تفاوت که y را با dy افزایش می‌دهد. .RE .B .B point .RS نقاطی (dots) را در (x1,y1)، (x2,y2) و غیره رسم می‌کند. .RE .B .B dpoint .RS نقاطی (dots) را با شروع از (x1,y1) و سپس با جابه‌جایی به‌میزان (dx1,dy1)، (dx2,dy2) و غیره رسم می‌کند. .RE .B .B lines .RS .B .RE .RS پاره‌خط‌هایی از (x1,y1) به (x2,y2)، (x3,y3) و غیره رسم می‌کند. .RE .B .B dlines .RS پاره‌خط‌هایی را با شروع از (x1,y1) و سپس با جابه‌جایی به‌میزان (dx1,dy1)، (dx2,dy2) و غیره رسم می‌کند. .RE .B .B curve .RS یک منحنی بزیه از (x1,y1) به (x2,y2)، (x3,y3) و غیره رسم می‌کند. .RE .B .B dcurve .RS یک منحنی بزیه را با شروع از (x1,y1) و سپس با جابه‌جایی به‌میزان (dx1,dy1)، (dx2,dy2) و غیره رسم می‌کند. .RE .B .B rect .RS مستطیلی با نقاط قطری در (x1,y1) و (x2,y2) رسم می‌کند. .RE .B .B drect .RS مستطیلی با نقاط قطری در (x,y) و (x+dx,y+dy) رسم می‌کند. .RE .B .B crect .RS مستطیلی با نقاط قطری در (x1,y1) و (x2,y2) را پاک می‌کند. .RE .B .B dcrect .RS مستطیلی با نقاط قطری در (x,y) و (x+dx,y+dy) را پاک می‌کند. .RE .B .B arect .RS مستطیلی با پهنای width و ارتفاع height رسم می‌کند؛ وسط قاعدهٔ پایینی در (xc,yc) قرار دارد و خط مرکزی عبوری از (xc,yc) زاویهٔ theta با محور x می‌سازد. .RE .B .B bar .RS معادل rect␣x-xdev␣0␣x+xdev␣height را رسم می‌کند .RE .B .B func .RS تابعی را که با expression-in-x داده شده بین xmin و xmax رسم می‌کند که با گام‌های step واحد در جهت محور x حرکت می‌کند. توجه داشته باشید که عبارت expression-in-x توسط Metafont ارزیابی خواهد شد، بنابراین باید از نحو metafont استفاده کنید. .RE .B .B grid .RS خطوط توری نقطه‌چین را در فواصل dx و dy در جهت‌های x و y رسم می‌کند؛ فواصل بین نقاط به‌ترتیب روی xgap و ygap تنظیم شده‌اند. برای دستیابی به ظاهری مناسب، حتماً از نسبت‌های صحیح dx/xgap و dy/ygap استفاده کنید. .RE .B .B hatch .RS منحنی بسته‌ای را که در ادامه می‌آید هاشور می‌زند. .RE .B .B bhat .RS مسیری را آغاز می‌کند که در نهایت بسته خواهد شد، و سپس هاشور می‌خورد. .RE .B .B ehat .RS مسیری را که با bhat آغاز شده پایان می‌دهد، آن را می‌بندد و سپس هاشور می‌زند. .RE .B .B anything else .RS هر چیز دیگری به همان صورت در فایل ماکرو درج می‌شود و بنابراین باید یک عبارت معتبر mfpic باشد. زمانی از این حالت استفاده می‌کنید که تنها یک یا چند بار به چنین دستوری نیاز دارید و نیازی به تعریف یک دستور مناسب برای آن نمی‌بینید. .RE.SH "اجرای mkpic/TeX (Running mkpic/TeX)" نتیجهٔ اجرای mkpic picfile ایجاد picfile.mac است، که می‌توانید آن را با \einput در یک سورس TeX یا ConTeXt وارد کنید، و picfile.sty که می‌تواند با استفاده از دستور \eusepackage به یک سورس LaTeX وارد شود. پس از اجرای TeX (یا LaTeX یا ConTeXt)، فایلی به نام picfile.mf خواهید یافت و باید Metafont را روی آن اجرا کنید که (با فرض اینکه TeX را برای 600 dpi پیکربندی کرده باشید) picfile.600gf را تولید می‌کند. این فایل باید با gftopk به یک فایل pk تبدیل شود. در نهایت، باید TeX را مجدداً، معمولاً دست‌کم دو بار، اجرا کنید. بنابراین برای pdfLaTeX این توالی به صورت زیر است: mkpic picfile pdflatex file.tex mf picfile gftopk picfile.600gf pdflatex file pdflatex file .SH "گزارش باگ‌ها (BUGS)" در حال حاضر تنها امکان تولید تا ۲۵۶ تصویر وجود دارد. در آینده این مشکل احتمالاً با معرفی بیش از یک فونت و ایجاد نام‌های tex-command که نام قلم در ابتدای آن‌ها قرار دارد، برطرف خواهد شد. .SH "نویسندگان (AUTHORS)" Wybo Dekker (wybodekker@me.com) .SH "کپی‌رایت و تکثیر (COPYRIGHT)" منتشرشده تحت مجوز عمومی همگانی گنو (www.gnu.org\fIcopyleft\fRgpl.html)