برنامهٔ mkpic
واسطی ساده
برای ایجاد
تصاویر
کوچک با
استفاده از
mfpic فراهم
میکند.
بدین منظور
باید یک
فایل ورودی
متشکل از
دستورها،
هر کدام در
یک خط،
همراه با
پارامترهای
جداشده با
فاصله
ایجاد شود
(یا بخش DATA از
اسکریپت mkpic
را ویرایش
کنید که در
صورت اجرا
بدون فایل
ورودی، از
آن استفاده
میشود).
برای
توضیحات
مفصل به
فایلهای
mkpicdoc.tex و mkpicdoc.pdf که
بخشی از این
توزیع
هستند،
مراجعه
کنید.
دستور mkpic دو
فایل تولید
میکند. با
فرض یک فایل
ورودی به
نام picfile که
بهطور
پیشفرض mkpic
است، این
فایلها
عبارتند
از:
picfile.mac
یک فایل
ماکرو که
شامل
دستورات TeX
برای هر
تصویر
خواهد بود
picfile.sty
یک فایل
سبک (style) برای
latex، که
دستورات TeX
یکسانی را
برای هر
تصویر
تعریف
میکند.
با گزینهٔ
--pdfsample دو فایل
دیگر نیز
تولید
میشوند:
picfile.pdf
یک فایل PDF
شامل تمام
تصاویر. این
به شما
امکان
میدهد
نتایج
طراحیهای
خود را به
آسانی
بررسی
کنید.
picfile.tex
متن مبدأ
TeX که برای
ایجاد این
فایل PDF
استفاده
شده است.
در LaTeX، باید
\usepackage{picfile} را درج
کرده و
دستورهایی
مانند \Figname را
در سورس خود
بگنجانید،
که در آن name
نامی است که
به یکی از
تصاویر خود
در دستور begin
مربوط به mkpic
اختصاص
دادهاید.
در TeX و ConTeXt،
باید \input␣picfile.mac را
وارد کرده و
دستورهایی
مانند \Figname را
در سورس خود
بیاورید،
که در آن name
نامی است که
به یکی از
تصاویر خود
در دستور begin
مربوط به mkpic
اختصاص
دادهاید.
در TeX، باید
از دستور \bye (not
\end برای
اتمام متن
مبدأ TeX خود
استفاده
کنید
برای
اطلاع از
نحوهٔ
اجرای mkpic و TeX،
LaTeX، یا ConTeXt، به
بخش RUNNING
مراجعه
کنید.
ساختار کد
مبدأ
بهگونهای
است که
افزودن
دستورهای
اختصاصی
آسان باشد،
در حال حاضر
دستورهای
زیر
پیادهسازی
شدهاند
(آرگومانها
در اینجا
فهرست
نشدهاند؛
برای آنها
به بخش SYNOPSIS
مراجعه
کنید):
begin, end
هر تصویر
با دستور begin
آغاز
میشود و با
دستور end
خاتمه
مییابد.
دستور begin یک
نام برای
تصویر و یک
دستور tex با
همان نام و
با پیشوند 'Fig'
تعریف
میکند.
دستور حاصل
در یک فایل .mac
نوشته
میشود.
بنابراین
دستور
نوشتن \def\Figaa{...}
را در فایل .mac
آغاز
میکند، و
تصویر را
میتوان در
یک سند TeX با
فراخوانی
فایل .mac و
استفاده از
دستور \Figaa
بازتولید
کرد.
پارامترهای
xl و yl طول
محورهای x و y
هستند. xlabel و ylabel
برچسبهایی
هستند که در
انتهای این
محورها
قرار
میگیرند.
از یک فاصله
برای لغو
برچسبگذاری،
یا از "-"
برای
جلوگیری از
رسم کامل
محورها
استفاده
کنید.
stop
خواندن
بیشتر
ورودی را
متوقف
میکند.
زمانی
کاربرد
دارد که
تصاویر
زیادی
دارید، اما
برای مقاصد
آزمایشی
مایلید فقط
چند تصویر
اول را
مشاهده
کنید.
var=value
متغیر var
را به value
مقداردهی
میکند. این
متغیر، یا
عبارتی
شامل آن،
میتواند
به جای هر
پارامتر
عددی
استفاده
شود. نام
متغیرها
میتواند
شامل حروف
کوچک و بزرگ
انگلیسی،
ارقام یا
زیرخط
باشد، با
این
محدودیت که
باید با یک
حرف شروع
شوند و
نباید به
زیرخط ختم
شوند.
#
بیانگر
توضیح
(کامنت) است
xmark, ymark, Xmark, Ymark
این
دستورها یک
یا چند
برچسب را در
امتداد
محورهای x یا
y، در زیر
محور (xmark و ymark) یا
بالای آن (Xmark و
Ymark) قرار
میدهند.
برای
دستورهای
[xXyY]mark،
پارامتری
که شامل هر
نویسهای
غیر از [-.0-9]
باشد، به
عنوان
برچسبی
برای
قرارگیری
تفسیر
میشود (این
بدان
معناست که
در اینجا
نمیتوانید
از
عبارتها
استفاده
کنید!) و
موقعیت آن
در پارامتر
بعدی مورد
انتظار است.
اگر یک
پارامتر
فقط یک عدد
باشد، در آن
موقعیت x
قرار
میگیرد.
اگر
میخواهید
یک عدد به
عنوان
برچسب
تفسیر شود،
آن را در
آکوالاد
قرار دهید:
{1950}.
arccst
(یادآور: center
start theta.) کمانی با
مرکز xcenter,ycenter رسم
میکند که
از xstart,ystart شروع
شده و طول
کمان آن theta
درجه است.
arcset
(یادآور: start
end theta.) کمانی رسم
میکند که
از xstart,ystart آغاز
شده، در xend,yend
پایان
مییابد و
طول کمان آن
theta درجه است.
arccrtt
(یادآور: center
radius theta1 theta2.) کمانی
با مرکز xcenter,ycenter،
شعاع radius رسم
میکند که
از theta1 درجه
شروع و در theta2
درجه پایان
مییابد.
arc3
(یادآور:
۳ نقطه.)
کمانی رسم
میکند که
از (x1,y1) آغاز
میشود، از
(x2,y2) میگذرد و
در (x3,y3) پایان
مییابد.
xdrop, ydrop, xydrop
این
دستورها
بهترتیب
پیکانهای
نقطهچینی
را بهصورت
عمود بر
محور x، محور y
و هر دو محور
رسم
میکنند که
با نوک
پیکان روی
محورها
پایان
مییابند.
arrow
پیکانی
از (x1,y1) به (x2,y2) رسم
میکند که
در انتهای
آن با label
برچسبگذاری
شده است
label
یک برچسب
در (x,y) رسم
میکند. YX
نحوهٔ
تنظیم آن را
مشخص
میکند:
برای Y=t,b,c در
جهت y، نقطهٔ
(x,y) بهترتیب
در بالا،
پایین یا
مرکز برچسب
خواهد بود؛
برای X=l,r,c در
جهت x، برچسب
بهصورت
چپتراز،
راستتراز
یا وسطچین
روی (x,y) تنظیم
میشود.
بدین
ترتیب
label tl 0 0 Hello World!
رشتهٔ "Hello
World" را با
گوشهٔ
پایین چپ آن
در (0,0) رسم
میکند
xlabels
برچسبهای
متعددی را
با شروع از (x,y)
رسم میکند
و پس از هر
برچسب، x را
با dx افزایش
میدهد. YX: به
دستور label
مراجعه
کنید.
برچسبها
نباید حاوی
فاصله
باشند؛ در
صورت نیاز
به فاصله،
به جای آن از -
استفاده
کنید.
ylabels
مشابه xlabels،
اما با این
تفاوت که y را
با dy افزایش
میدهد.
point
نقاطی (dots)
را در (x1,y1)، (x2,y2) و
غیره رسم
میکند.
dpoint
نقاطی (dots)
را با شروع
از (x1,y1) و سپس با
جابهجایی
بهمیزان
(dx1,dy1)، (dx2,dy2) و غیره
رسم
میکند.
lines
پارهخطهایی
از (x1,y1) به (x2,y2)، (x3,y3) و
غیره رسم
میکند.
dlines
پارهخطهایی
را با شروع
از (x1,y1) و سپس با
جابهجایی
بهمیزان
(dx1,dy1)، (dx2,dy2) و غیره
رسم
میکند.
curve
یک منحنی
بزیه از (x1,y1) به
(x2,y2)، (x3,y3) و غیره
رسم
میکند.
dcurve
یک منحنی
بزیه را با
شروع از (x1,y1) و
سپس با
جابهجایی
بهمیزان
(dx1,dy1)، (dx2,dy2) و غیره
رسم
میکند.
rect
مستطیلی
با نقاط
قطری در (x1,y1) و (x2,y2)
رسم
میکند.
drect
مستطیلی
با نقاط
قطری در (x,y) و (x+dx,y+dy)
رسم
میکند.
crect
مستطیلی
با نقاط
قطری در (x1,y1) و (x2,y2)
را پاک
میکند.
dcrect
مستطیلی
با نقاط
قطری در (x,y) و (x+dx,y+dy)
را پاک
میکند.
arect
مستطیلی
با پهنای width و
ارتفاع height
رسم
میکند؛
وسط قاعدهٔ
پایینی در (xc,yc)
قرار دارد و
خط مرکزی
عبوری از (xc,yc)
زاویهٔ theta با
محور x
میسازد.
bar
معادل
rect␣x-xdev␣0␣x+xdev␣height را
رسم
میکند
func
تابعی را
که با expression-in-x
داده شده
بین xmin و xmax رسم
میکند که
با گامهای step
واحد در جهت
محور x حرکت
میکند.
توجه داشته
باشید که
عبارت expression-in-x
توسط Metafont
ارزیابی
خواهد شد،
بنابراین
باید از نحو
metafont استفاده
کنید.
grid
خطوط
توری
نقطهچین
را در فواصل dx
و dy در
جهتهای x و y
رسم
میکند؛
فواصل بین
نقاط
بهترتیب
روی xgap و ygap
تنظیم
شدهاند.
برای
دستیابی به
ظاهری
مناسب،
حتماً از
نسبتهای
صحیح dx/xgap و dy/ygap
استفاده
کنید.
hatch
منحنی
بستهای را
که در ادامه
میآید
هاشور
میزند.
bhat
مسیری را
آغاز
میکند که
در نهایت
بسته خواهد
شد، و سپس
هاشور
میخورد.
ehat
مسیری را
که با bhat آغاز
شده پایان
میدهد، آن
را میبندد
و سپس هاشور
میزند.
anything else
هر چیز
دیگری به
همان صورت
در فایل
ماکرو درج
میشود و
بنابراین
باید یک
عبارت
معتبر mfpic
باشد. زمانی
از این حالت
استفاده
میکنید که
تنها یک یا
چند بار به
چنین
دستوری
نیاز دارید
و نیازی به
تعریف یک
دستور
مناسب برای
آن
نمیبینید.
نتیجهٔ
اجرای mkpic picfile
ایجاد picfile.mac
است، که
میتوانید
آن را با \input در
یک سورس TeX یا
ConTeXt وارد
کنید، و picfile.sty
که
میتواند
با استفاده
از دستور \usepackage
به یک سورس 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