.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "PURIFYEPS 1" .TH PURIFYEPS 1 "2010-11-28" "v1.1" "" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" purifyeps \- سازگار کردن یک فایل Encapsulated PostScript با هر دو ابزار dvips و pdflatex .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" purifyeps \&\fB\-\-help\fR .PP purifyeps \&\fB\-\-version\fR .PP purifyeps [\fB\-\-fontmap\fR=\fI.fmp file\fR] [\fI.eps input file\fR [\fI.eps output file\fR]] .PP purifyeps \&\fB\-\-make\-man\fR[=\fIfilename\fR] [\fB\-\-section\fR=\fIsection\fR] .PP purifyeps \&\fB\-\-make\-ps\-man\fR[=\fIfilename\fR] [\fB\-\-section\fR=\fIsection\fR] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" در حالی که \fBpdflatex\fR ویژگی‌های مثبت متعددی دارد، کاستی اصلی آن در مقایسه با ترکیب استاندارد \fBlatex\fR+\fBdvips\fR این است که توانایی خواندن فایل‌های معمولی Encapsulated PostScript (\s-1EPS\s0) که رایج‌ترین قالب گرافیکی در دنیای LaTeX هستند را ندارد. \fBpdflatex\fR تنها قادر به خواندن انواع فایل‌های گرافیکی زیر است: .IP "\s-1PDF\s0" 4 .IX Item "PDF" بیشتر کسانی که از \fBpdflatex\fR استفاده می‌کنند، اسناد خود را با ابزاری مانند \fBepstopdf\fR به \s-1PDF\s0 تبدیل می‌کنند. این کار به خوبی عمل کرده و ماهیت برداری فایل \s-1EPS\s0 اصلی را حفظ می‌کند. متأسفانه \fBdvips\fR فایل‌های \s-1PDF\s0 را نمی‌خواند؛ بنابراین اگر قرار باشد سند هم با \fBlatex\fR+\fBdvips\fR و هم با \fBpdflatex\fR پردازش شود، باید دو نسخه از تصویر نگهداری شود. .IP "\s-1PNG\s0" 4 .IX Item "PNG" قالب \s-1PNG\s0 یک قالب بیت‌مپ (شطرنجی) است و در نتیجه مقیاس‌پذیری ضعیفی دارد. همچنین \fBdvips\fR قالب \s-1PNG\s0 را نمی‌خواند؛ بنابراین اگر قرار باشد سند هم با \fBlatex\fR+\fBdvips\fR و هم با \fBpdflatex\fR پردازش شود، باید دو نسخه از تصویر نگهداری شود. .IP "\s-1JPEG\s0" 4 .IX Item "JPEG" قالب \s-1JPEG\s0 یک قالب بیت‌مپ (شطرنجی) است و در نتیجه مقیاس‌پذیری ضعیفی دارد. همچنین \fBdvips\fR قالب \s-1JPEG\s0 را نمی‌خواند؛ بنابراین اگر قرار باشد سند هم با \fBlatex\fR+\fBdvips\fR و هم با \fBpdflatex\fR پردازش شود، باید دو نسخه از تصویر نگهداری شود. .IP "\s-1MPS\s0" 4 .IX Item "MPS" این احتمالاً کم‌استفاده‌ترین قالب گرافیکی سازگار با \fBpdflatex\fR است. \s-1MPS\s0 در واقع نسخه‌ای سفارشی‌شده از \s-1EPS\s0 است که توسط MetaPost خروجی داده می‌شود. همانند \s-1PDF\s0، قالب \s-1MPS\s0 نیز یک قالب برداری است و هنگام وارد شدن به سند \fBpdflatex\fR برداری باقی می‌ماند. همچنین مانند \s-1PDF\s0، دستور \fBdvips\fR فایل‌های \s-1MPS\s0 را نمی‌خواند؛ بنابراین اگر قرار باشد سند هم با \fBlatex\fR+\fBdvips\fR و هم با \fBpdflatex\fR پردازش شود، باید دو نسخه از تصویر نگهداری شود. .PP ایدهٔ اصلی در طراحی \fBpurifyeps\fR این است که تفاوت‌های میان \s-1MPS\s0 و \s-1EPS\s0 بسیار اندک و جزئی هستند و می‌توان یک فایل را به قالبی تبدیل کرد که هم‌زمان با مشخصات هر دو قالب \s-1MPS\s0 و \s-1EPS\s0 مطابقت داشته باشد. دستور \fBpurifyeps\fR یک فایل \s-1EPS\s0 را به عنوان ورودی دریافت می‌کند، با استفاده از فیلتر \&\f(CW\*(C`mpost\*(C'\fR در \fBpstoedit\fR آن را به MetaPost (\fI.mp\fR) تبدیل می‌نماید، سپس \fBmpost\fR را روی فایل اجرا کرده تا آن را به \s-1MPS\s0 تبدیل کند، و در نهایت اصلاحاتی روی نتیجه اعمال می‌کند تا فایل را به \s-1EPS\s0 بازگرداند، در حالی که قابلیت پردازش و خوانده شدن آن توسط \fBpdflatex\fR نیز حفظ می‌شود. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP "\fB\-\-help\fR" 4 .IX Item "--help" نمایش بخش‌های «نحوه استفاده (Usage)» و «گزینه‌ها (Options)» از مستندات \fBpurifyeps\fR. .IP "\fB\-V\fR, \fB\-\-version\fR" 4 .IX Item "-V, --version" نمایش شماره نسخه، حق نشر (کپی‌رایت) و مجوز \fBpurifyeps\fR. .IP "\fB\-\-fontmap\fR=\fI.fmp file\fR" 4 .IX Item "--fontmap=.fmp file" مشخص کردن نام فایلی که به \fBpurifyeps\fR نحوه نگاشت نام‌های قلم TeX به نام‌های قلم PostScript را مشخص می‌کند. [پیش‌فرض: \fImpost.fmp\fR] .IP "\fB\-\-make\-man\fR [=\fIfilename\fR]] [\fB\-\-section\fR=\fIsection\fR]" 4 .IX Item "--make-man [=filename]] [--section=section]" تولید خودکار صفحه راهنمای یونیکس (man page) برای \fBpurifyeps\fR. پارامتر \fIsection\fR بخش مربوطه را تعیین می‌کند [پیش‌فرض: \f(CW1\fR (دستورات کاربر)]. مقدار \fIfilename\fR به طور پیش‌فرض \fIpurifyeps.1\fR است یا در صورت مشخص شدن \fIsection\fR، نام فایلی متناظر با آن خواهد بود. .IP "\fB\-\-make\-ps\-man\fR [=\fIfilename\fR]] [\fB\-\-section\fR=\fIsection\fR]" 4 .IX Item "--make-ps-man [=filename]] [--section=section]" تولید خودکار یک نسخه PostScript از مستندات \fBpurifyeps\fR. این مستندات همانند یک صفحه راهنمای یونیکس قالب‌بندی می‌شوند. پارامتر \fIsection\fR بخش مربوطه را تعیین می‌کند [پیش‌فرض: \f(CW1\fR (دستورات کاربر)]. مقدار \fIfilename\fR به طور پیش‌فرض \fIpurifyeps.ps\fR است. .PP در عملکرد عادی (یعنی زمانی که بدون گزینه‌های \&\f(CW\*(C`\-\-help\*(C'\fR، \&\f(CW\*(C`\-\-make\-man\*(C'\fR یا \&\f(CW\*(C`\-\-make\-ps\-man\*(C'\fR اجرا شود)، \fBpurifyeps\fR نام یک فایل ورودی و یک فایل خروجی را دریافت می‌کند. می‌توان با اطمینان از یک نام فایل مشترک برای هر دو استفاده کرد. اگر نام فایل خروجی ذکر نشود، خروجی به دستگاه خروجی استاندارد (stdout) ارسال می‌شود. اگر نام فایل ورودی ذکر نشود، \fBpurifyeps\fR ورودی را از دستگاه ورودی استاندارد (stdin) می‌خواند. .SH "مثال‌ها (EXAMPLES)" .IX Header "EXAMPLES" ایجاد یک نسخه PostScript از مستندات \fBpurifyeps\fR، اما با نام \fIhappydoc.ps\fR به جای نام پیش‌فرض \fIpurifyeps.ps\fR: .PP .Vb 1 \& purifyeps \-\-make\-ps\-man=happydoc.ps .Ve .PP ایجاد صفحه راهنمای یونیکس برای \fBpurifyeps\fR (در قالب معمول roff)، اما با تعیین بخش \f(CW\*(C`LOCAL\*(C'\fR به جای بخش پیش‌فرض \f(CW1\fR: .PP .Vb 1 \& purifyeps \-\-make\-man \-\-section=LOCAL .Ve .PP پالایش فایل \fIsample.eps\fR (در حالی که \fImpost.fmp\fR در دایرکتوری جاری قرار دارد): .PP .Vb 1 \& purifyeps sample.eps sample.eps .Ve .PP پالایش فایل \fIsample.eps\fR (در حالی که \fImpost.fmp\fR در مکان دیگری قرار دارد): .PP .Vb 1 \& purifyeps \-\-fontmap=/usr/share/pstoedit/mpost.fmp sample.eps sample.eps .Ve .PP تغییر نام نسخه پالایش‌شده هنگام پالایش: .PP .Vb 1 \& purifyeps sample.eps sample\-pure.eps .Ve .PP انجام همین کار، اما در یک خط‌لوله (pipeline) یونیکس: .PP .Vb 1 \& cat sample.eps | purifyeps > sample\-pure.eps .Ve .PP هنگام اجرای \fBpurifyeps\fR، باید خروجی هر دو ابزار \&\fBpstoedit\fR و \&\fBmpost\fR را مشاهده کنید که پس از آن پیام موفقیت از طرف \fBpurifyeps\fR نمایش داده می‌شود: .PP .Vb 8 \& % cat sample.eps | purifyeps > sample\-pure.eps \& pstoedit: version 3.30 / DLL interface 107 (build Mar 14 2002) : \& Copyright (C) 1993 \- 2001 Wolfgang Glunz \& Interpreter finished. Return status 0 \& This is MetaPost, Version 0.641 (Web2C 7.3.1) \& (/tmp/purifyeps\-jdeGPkh9.mp [1] ) \& 1 output file written: purifyeps\-jdeGPkh9.1 \& Transcript written on purifyeps\-jdeGPkh9.log. \& \& File seems to have been purified successfully. .Ve .SH "فایل‌ها (FILES)" .IX Header "FILES" .IP "\fImpost.fmp\fR" 4 .IX Item "mpost.fmp" فایلی شامل نگاشت‌های بین نام‌های قلم TeX و PostScript. برای توضیحات بیشتر درباره محتویات این فایل به بخش \&\*(L"نکات (NOTES)\*(R" مراجعه کنید. .SH "اشکالات (BUGS)" .IX Header "BUGS" گزارش خطاها قطعاً جای بهبود دارد. پیام‌های خطای تولیدشده توسط \fBpstoedit\fR و \fBmpost\fR گاهی بدون هیچ هشداری نادیده گرفته می‌شوند. همچنین بروز خطا گاهی باعث می‌شود \fBpurifyeps\fR فایل‌های موقت (\fIpurifyeps\-\fR\fI#####\fR) را روی دیسک به جا بگذارد. .PP دستور \fBpurifyeps\fR مشمول تمام محدودیت‌هایی است که بر \fBpstoedit\fR و به‌ویژه بک‌اند \&\f(CW\*(C`mpost\*(C'\fR در \fBpstoedit\fR تأثیر می‌گذارند. در نتیجه، \fBpurifyeps\fR برخی از ساختارهای PostScript مانند متن‌هایی با مقیاس غیریکنواخت را نادیده می‌گیرد. .SH "نکات (NOTES)" .IX Header "NOTES" دستور \fBpurifyeps\fR به فایلی نیاز دارد که نحوه نگاشت نام‌های قلم TeX به نام‌های قلم PostScript را مشخص کند. این فایل باید شامل دو ستون باشد که با فاصله از هم جدا شده‌اند. ستون اول نام قلم PostScript و ستون دوم معادل TeX آن را فهرست می‌کند. خطوط خالی و خطوطی که با \&\f(CW\*(C`%\*(C'\fR آغاز می‌شوند نادیده گرفته می‌شوند. متن زیر نمونه‌ای از یک فایل \fI.fmp\fR است: .PP .Vb 10 \& % This is a sample font map for purifyeps. \& Times\-Bold ptmb \& Times\-Italic ptmri \& Times\-Roman ptmr \& Helvetica phvr \& Helvetica\-Bold phvb \& Helvetica\-Oblique phvro \& Courier pcrr \& Courier\-Bold pcrb \& Courier\-Oblique pcrro .Ve .PP توجه داشته باشید که این دقیقاً همان قالبی است که \fBpstoedit\fR استفاده می‌کند. به طور پیش‌فرض، \fBpurifyeps\fR در دایرکتوری جاری به دنبال نگاشت قلمی به نام \fImpost.fmp\fR می‌گردد. گزینه خط فرمان \&\f(CW\*(C`\-\-fontmap\*(C'\fR به \fBpurifyeps\fR دستور می‌دهد تا از نگاشت قلم متفاوتی استفاده کند، که معمولاً همان فایل \fImpost.fmp\fR همراه با \fBpstoedit\fR است. .PP هنگامی که فایل‌های \s-1EPS\s0 پالایش‌شده را با \fBpurifyeps\fR ایجاد کردید، باید به \fBpdflatex\fR اعلام کنید که از آن‌ها استفاده کند. پیکربندی pdfLaTeX برای بسته‌های \&\f(CW\*(C`graphics\*(C'\fR و \&\f(CW\*(C`graphicx\*(C'\fR (\fIpdftex.def\fR) به طور معمول فایل‌های \fI.eps\fR را نادیده می‌گیرد. قرار دادن کد LaTeX زیر در مقدمه (Preamble) سند به \fBpdflatex\fR اعلام می‌کند که تمامی فایل‌های \fI.eps\fR در قالب \s-1MPS\s0 هستند: .PP .Vb 9 \& % Tell pdfLaTeX that all .eps files were produced by MetaPost. \& \eusepackage{graphicx} % or graphics \& \eusepackage{ifpdf} \& \eifpdf \& \eDeclareGraphicsRule{.eps}{mps}{*}{} \& \emakeatletter \& \eg@addto@macro\eGin@extensions{,.eps} \& \emakeatother \& \efi .Ve .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fIdvips\fR\|(1), \fIepstopdf\fR\|(1), \fIlatex\fR\|(1), \fImpost\fR\|(1), \fIpdflatex\fR\|(1), \fIpstoedit\fR\|(1) .SH "نویسنده (AUTHOR)" .IX Header "AUTHOR" Scott Pakin, \fIscott+peps@pakin.org\fR