XDVIPSK(1) General Commands Manual XDVIPSK(1)

xdvipsk - تبدیل فایل DVI مربوط به TeX به PostScript (افزونهٔ dvips)

xdvipsk [گزینه‌ها] فایل[.dvi]

xdvipsk دارای چند افزونهٔ پایه است:

- تصاویر بیتی (bitmap images)
امکان درج منعطف تصاویر بیتی را فراهم می‌کند. xdvipsk قالب‌های BMP، PCX، TIFF، JPEG و PNG را می‌پذیرد و می‌تواند همان عملیاتی را که روی تصاویر EPS انجام می‌شود، اجرا کند: مقیاس‌بندی (scaling)، چرخش (rotating)، برش (trim) و محدودهٔ نمایش (viewport).

درایور xdvispk.def (نسخهٔ گسترش‌یافتهٔ `dvips.def`) برای بستهٔ graphics هنوز عملیات clipping، trimming و viewport را پیاده‌سازی نکرده است.

- قلم‌های OpenType
پشتیبانی از قلم‌های OpenType را اضافه می‌کند. فایل‌های نگاشت (map files) حاوی اطلاعات مربوط به قلم‌های OpenType استفاده‌شده در فایل‌های .dvi توسط بستهٔ LaTeX به نام luafontmaps تولید می‌شوند.

فایل سرآیند PostScript با نام texcid.pro برای گنجاندن قلم‌های OpenType در فایل‌های PostScript استفاده می‌شود. این فایل معادل texps.pro است که در مورد قلم‌های Type1 به کار می‌رود.

- دستورهای ویژهٔ mapfile و mapline
دستورهای ویژهٔ نگاشت قلم با پیشوندهای mapfile و mapline را برای تکمیل نگاشت قلم ارائه‌شده در جدول‌های psfonts.map می‌پذیرد. mapfile برای خواندن یک فایل نگاشت قلم متشکل از یک یا چند خط نگاشت قلم به کار می‌رود. نام فایل نگاشت به همراه یک نویسهٔ تغییردهندهٔ اختیاری در ابتدا (+) مشخص می‌شود. نوع ویژهٔ مکمل دیگری به نام mapline وجود دارد که امکان پویش خطوط نگاشت تکی را فراهم می‌کند؛ آرگومان خط نگاشت آن نحوی مشابه با خطوط نگاشتِ یک فایل نگاشت دارد.

هر دو دستور ویژه می‌توانند به‌طور هم‌زمان استفاده شوند. حالت عملیاتی با یک نویسهٔ تغییردهندهٔ اختیاری (+) در ابتدا تعیین می‌شود. این تغییردهنده مشخص می‌کند که خطوط نگاشت تکی چگونه مدیریت شوند، و تداخل میان یک مدخل نگاشت که از قبل ثبت شده با یک مدخل جدیدتر چگونه رفع شود؛ یا نادیده گرفتن مدخل جدیدتر همراه با یک هشدار در صورتی که نویسهٔ تغییردهنده مشخص شده باشد، یا جایگزین کردن مدخل موجود در صورتی که هیچ نویسهٔ تغییردهنده‌ای مشخص نشده باشد.

- بازخوانی‌های لوآ (Lua callbacks)
پشتیبانی از بازخوانی‌های لوآ (Lua callbacks) را برای specials (prescan، scan)، after prescan، drawchar، drawrule، stack و dvips exit اضافه می‌کند.

در صورتی که فایل اسکریپت لوآ xdvipsk.lua توسط `kpse` پیدا شود، xdvipsk آن را می‌خواند و به دنبال این توابع لوآ می‌گردد:

prescan_specials_callback(special, table) special- داده‌های ویژهٔ اصلی، table با کلیدهای: `hh`، `vv`، `pagenum`.

scan_specials_callback(special, table) special- داده‌های ویژهٔ اصلی، table با کلیدهای: `hh`، `vv`، `pagenum`.

after_prescan_callback(table) table با کلیدهای: `hpapersize`، `vpapersize`، `hoff`، `voff`، `actualdpi`، `vactualdpi`، `num`، `den`، `mag`، `totalpages`.

after_drawchar_callback(table) table با کلیدهای: `charcode`، `cid`، `pixelwidth`، `rhh`، `rvv`، `dir`، `lastfont`، `tounicode`.

after_drawrule_callback(table) table با کلیدهای: `hh`، `vv`، `dir`، `rw`، `rh`.

process_stack_callback(table) table با کلیدهای: `cmd`، `hh`، `vv`، `dir`.

dvips_exit_callback(table) table با کلیدهای: `exitcode`، `log_records_count`.

مقادیر بازگشتی برای specials رفتار پردازش را تعیین می‌کنند:

- رشتهٔ غیرخالی مشخص‌کنندهٔ `dvi special` تغییریافته برای پردازش است؛

- مقدار درست (true) به معنای پردازش `dvi special` اصلی به شیوهٔ پیش‌فرض است؛

- رشتهٔ خالی | مقدار نادرست (false) به معنای نادیده گرفتن `dvi special` است.

فایل اسکریپت پیش‌فرض `Lua` را می‌توان با آرگومان خط فرمان -lua یا دستور luascript در فایل‌های پیکربندی xdvipsk تغییر داد.

- جدول‌های ToUnicode CMap
پشتیبانی از ToUnicode CMaps از طریق افزودن دیکشنری GlyphNames2Unicode به قلم‌های T1 و OpenType .

GlyphNames2Unicode یک دیکشنری نامستند است که درایور چاپگر Adobe PostScript از آن برای ارتباط با Adobe Distiller استفاده می‌کند. در این دیکشنری کلیدها نام گلیف‌ها و مقادیر کدهای یونیکد UTF-16 آن‌ها هستند. این دیکشنری در دیکشنری FontInfo تحت کلید GlyphNames2Unicode ذخیره می‌شود. Ghostscript آن را شناسایی کرده و برای تولید `ToUnicode CMaps` با `pdfwrite` از آن استفاده می‌کند.

اطلاعاتی تا حدی قدیمی (منسوخ) را می‌توان در این نشانی یافت: https://tug.org/TUGboat/tb38-2/tb119tolusis.pdf

کدهای منبع توسعه: https://github.com/vtex-soft/xdvipsk.git.SH "گزینه‌ها (OPTIONS)" گزینه‌های اضافی xdvipsk با [+] مشخص شده‌اند.

-
خواندن گزینه‌های بیشتر از ورودی استاندارد پس از پردازش خط فرمان.
چاپ پیام راهنمای نحوه استفاده و خروج.
چاپ شماره نسخه و خروج.
صرفه‌جویی در حافظه با سه بار مرور فایل .dvi به‌جای دو بار و بارگذاری تنها نویسه‌هایی که واقعاً استفاده شده‌اند. عموماً فقط در رایانه‌هایی با مقدار حافظه بسیار محدود، مانند برخی PCها، مفید است.
چاپ تنها صفحه‌های فرد. این گزینه از شماره صفحه‌های TeX استفاده می‌کند، نه شماره صفحه‌های فیزیکی.
تولید num نسخه از هر صفحه، اما با تکثیر بدنه صفحه به‌جای استفاده از متغیر /#copies در PostScript. این گزینه در ترکیب با فایل سرایندی که bop-hook را برای تفکیک رنگ‌ها یا ترفندهای جالب دیگر تنظیم می‌کند، می‌تواند مفید باشد.
چاپ تنها صفحه‌های زوج. این گزینه از شماره صفحه‌های TeX استفاده می‌کند، نه شماره صفحه‌های فیزیکی.
کدگذاری قلم‌های بیت‌مپ را به off، on (بدون هشدار برای کدگذاری‌های مفقود قلم بیت‌مپ) یا strict (همراه با هشدار برای کدگذاری‌های مفقود قلم بیت‌مپ) تغییر می‌دهد.
تولید num نسخه متوالی از هر صفحه؛ بدین معنی که خروجی دسته‌بندی‌نشده (uncollated) است. این گزینه صرفاً متغیر درونی PostScript به نام /#copies را تنظیم می‌کند. مقدار پیش‌فرض 1 است. (برای نسخه‌های دسته‌بندی‌شده، گزینه -C در زیر را ببینید.)
ایجاد num نسخه، اما دسته‌بندی‌شده (با تکرار داده‌ها در فایل PostScript). از گزینه -c کندتر است، اما کار با آن آسان‌تر بوده و سریع‌تر از ارسال مجدد همان فایل PostScript به دفعات متعدد است.
تنظیم پرچم‌های اشکال‌زدایی (debug) برای نمایش اینکه dvips در حال انجام چه کاری است. این قابلیت کار خواهد کرد مگر اینکه Dvips بدون گزینه 'DEBUG' کامپایل شده باشد (توصیه نمی‌شود). برای مقادیر ممکن num، به *Note Debug options:: مراجعه کنید. از '-d -1' به عنوان اولین گزینه برای دریافت حداکثر خروجی استفاده کنید.
تنظیم هر دو وضوح افقی و عمودی بر روی num که بر حسب dpi (نقطه در اینچ) داده می‌شود. این مقدار بر روی انتخاب قلم‌های بیت‌مپ بارگذاری‌شده و همچنین موقعیت حروف در قلم‌های مقیم PostScript تأثیر می‌گذارد. مقدار باید بین ۱۰ و ۱۰۰۰۰ باشد. این امر بر هر دو وضوح افقی و عمودی تأثیر می‌گذارد. اگر وضوح بالایی (مثلاً بیش از ۴۰۰ dpi) انتخاب شده باشد، احتمالاً باید پرچم -Z نیز استفاده شود. اگر از قلم‌های ساخته‌شده با Metafont مانند Computer Modern استفاده می‌کنید، mktexpk باید مقدار num استفاده‌شده را بداند، در غیر این صورت Metafont با شکست مواجه می‌شود. برای فهرستی از وضوح‌ها و نام‌های حالت برای اکثر دستگاه‌ها، فایل modes.mf (https://ctan.org/pkg/modes) را ببینید.
حداکثر رانش (انحراف) هر نویسه بر حسب پیکسل از موقعیت «واقعی» و مستقل از وضوح آن روی صفحه. مقدار پیش‌فرض این پارامتر وابسته به وضوح تصویر است (برابر با تعداد مقادیر در فهرست [100, 200, 300, 400, 500, 600, 800, 1000, 1200, 1600, 2000, 2400, 2800, 3200, ...] است که کمتر یا مساوی با وضوح بر حسب نقطه در اینچ هستند). اجازه دادن به نویسه‌های منفرد برای «انحراف» به اندازه چند پیکسل از موقعیت‌های گردشده دقیقشان، در حالی که موقعیت واقعی در ابتدای هر کلمه جدید بازیابی می‌شود، فاصله‌گذاری حروف در کلمات را بهبود می‌بخشد.
تولید یک فایل EPSF با کادر تحدید (bounding box) فشرده و دقیق. این گزینه تنها به نشانه‌های ایجادشده توسط نویسه‌ها و خطوط (rules) نگاه می‌کند، نه گرافیک‌های پیوست‌شده. علاوه بر این، ابعاد گلیف‌ها را از فایل tfm دریافت می‌کند، بنابراین نویسه‌هایی که خارج از کادر احاطه‌کننده tfm خود چاپ می‌شوند ممکن است آن را به اشتباه بیندازند. همچنین اگر گلیف نویسه دارای حاشیه‌های چپ یا راست چشمگیری باشد، ممکن است کادر تحدید کمی بیش از حد آزاد باشد. با این حال، این گزینه برای ایجاد فایل‌های کوچک EPSF برای معادلات، جدول‌ها و موارد مشابه به اندازه کافی خوب کار می‌کند. (البته، خروجی dvips به‌ویژه هنگام استفاده از قلم‌های بیت‌مپ، وابسته به وضوح است و بنابراین فایل‌های EPSF چندان مناسبی تولید نمی‌کند، مخصوصاً اگر قرار باشد تصاویر مقیاس‌بندی شوند؛ از این فایل‌های EPSF با احتیاط استفاده کنید.) برای فایل‌های ورودی چندصفحه‌ای، گزینه '-i' را نیز مشخص کنید تا هر صفحه به عنوان یک فایل EPSF جداگانه تولید شود؛ در غیر این صورت، تمام صفحه‌ها در یک فایل خروجی واحد روی هم قرار می‌گیرند.
اجرا به عنوان فیلتر. خواندن فایل .dvi از ورودی استاندارد و نوشتن PostScript در خروجی استاندارد. ورودی استاندارد باید قابل جستجو و پرش (seekable) باشد، بنابراین نمی‌تواند یک پایپ (pipe) باشد. اگر مجبور به استفاده از پایپ هستید، یک اسکریپت پوسته بنویسید که خروجی پایپ را در یک فایل موقت رونوشت کرده و سپس dvips را به سمت این فایل هدایت کند. این گزینه همچنین خواندن خودکار متغیر محیطی PRINTER را غیرفعال می‌کند؛ برای خواندن آن در هر صورت، از '-P$PRINTER' بعد از -f استفاده کنید. این گزینه همچنین ارسال خودکار control-D (کد ASCII شماره ۴) را در صورتی که با گزینه -F یا در فایل پیکربندی فعال شده باشد، خاموش می‌کند؛ برای ارسال آن در هر صورت، از -F بعد از -f استفاده کنید.
نوشتن control-D (کد ASCII شماره ۴) به عنوان آخرین نویسه فایل PostScript. این قابلیت زمانی مفید است که dvips به جای کار از طریق یک اسپولر (spooler)، چاپگر را مستقیماً هدایت می‌کند؛ حالتی که در سیستم‌های شخصی رایج است. در سیستم‌هایی که بین بیش از یک نفر به اشتراک گذاشته شده‌اند، این کار توصیه نمی‌شود.
انتقال نویسه‌های غیرقابل چاپ (ASCII 0-32, 127) به موقعیت‌های با شماره بالاتر. این ویژگی برای دور زدن اشکالات نسخه‌های قدیمی نرم‌افزار PDF reader ادوبی مفید بود. امروزه بیشتر احتمال دارد که خود باعث ایجاد مشکل شود.
افزودن name به عنوان یک فایل سرایند اضافی به ابتدای کار، یا در صورتی که name برابر '-' باشد، جلوگیری از گنجاندن فایل‌های سرایند پیش‌فرض. اگر -h چندین بار مشخص شود، سرایندها به همان ترتیبِ ارائه‌شده گنجانده می‌شوند. هرگونه تعریفی در فایل سرایند، به userdict در PostScript اضافه می‌شود.
[+]-H
حالت توربو (Turbo) برای گرافیک‌های PS
تبدیل هر بخش به یک فایل جداگانه؛ یک «بخش» قسمتی از سند است که به صورت مستقل پردازش می‌شود و در اغلب موارد برای جلوگیری از سرریز حافظه ایجاد می‌گردد. نام فایل‌ها با جایگزینی پسوند نام فایل خروجی ارائه‌شده با یک شماره متوالی سه‌رقمی ساخته می‌شوند. این گزینه بیشتر در ترکیب با گزینه -S استفاده می‌شود که حداکثر طول بخش را بر حسب صفحه تعیین می‌کند؛ اگر -i مشخص شده باشد ولی -S تعیین نشده باشد، هر صفحه به عنوان یک فایل جداگانه در خروجی قرار می‌گیرد. به عنوان مثال، برخی دستگاه‌های حروف‌چینی نوری (phototypesetters) نمی‌توانند بیش از حدوداً ده صفحه متوالی را قبل از به پایان رسیدن توان پردازش چاپ کنند؛ این گزینه‌ها می‌توانند برای تقسیم خودکار یک کتاب به بخش‌های ده‌صفحه‌ای، هرکدام در فایلی مختص به خود، استفاده شوند. از سوی دیگر، اگر سند شما از قلم‌های بسیار بزرگ یا تصاویر پیوست‌شده بسیار حجیم استفاده کند، ممکن است Dvips خودبه‌خود خروجی را به بخش‌های ناخواسته تقسیم کند تا از سرریز حافظه چاپگر جلوگیری به عمل آورد..TP [+]-I p حالت تغییر اندازه برای گرافیک‌های emTeX
تنها نویسه‌های موردنیاز را از قلم‌های Type 1 بارگیری می‌کند. این حالت پیش‌فرض در انتشار فعلی است. برخی از پرچم‌های اشکال‌زدایی این عملیات را ردیابی می‌کنند. همچنین می‌توانید بارگیری جزئی را برای هر قلم به طور جداگانه از طریق فایل psfonts.map کنترل کنید. [+]-J بارگیری جزئی قلم‌های OpenType.
نشانه‌های برش (crop marks) را چاپ می‌کند. این گزینه اندازهٔ کاغذ را (که باید یا با یک دستور ویژهٔ (special) اندازهٔ کاغذ یا با گزینهٔ -T مشخص شده باشد) از هر بعد نیم اینچ افزایش می‌دهد. این گزینه هر صفحه را یک‌چهارم اینچ جابه‌جا کرده و نشانه‌های برش متقاطع رسم می‌کند. این قابلیت عمدتاً برای حروف‌چین‌هایی که می‌توانند اندازهٔ صفحه را به طور خودکار تنظیم کنند کاربرد دارد. این کار با بارگیری 'crop.pro' انجام می‌شود.
این گزینه باعث حذف یادداشت‌ها (کامنت‌ها) در گرافیک‌های PostScript گنجانده‌شده، فایل‌های قلم، و هدرها می‌شود. این کار گاهی برای دور زدن باگ‌های موجود در اسپولرها یا برنامه‌های پس‌پردازش PostScript لازم است. به طور خاص، کامنت‌های %%Page اگر باقی بمانند اغلب مشکل‌ساز می‌شوند. استفاده از این پرچم ممکن است موجب از کار افتادن برخی گرافیک‌های گنجانده‌شده شود، زیرا ماکروهای هدر PostScript در برخی بسته‌های نرم‌افزاری بخش‌هایی از جریان ورودی را سطر به سطر خوانده و به دنبال یک کامنت خاص می‌گردند. این گزینه به طور پیش‌فرض خاموش شده است زیرا پیش‌نمایش‌گرها و اسپولرهای PostScript ارتقا یافته‌اند.
آخرین صفحهٔ چاپ‌شده، اولین صفحه‌ای خواهد بود که شماره‌اش num است. پیش‌فرض، آخرین صفحه در سند است. اگر یک علامت مساوی پیشوندِ num باشد، آنگاه این مقدار (و هر آرگومانی برای گزینهٔ -p) به جای مقایسه با مقادیر \count0، به عنوان یک شمارهٔ ترتیبی در نظر گرفته می‌شود. بنابراین، استفاده از -l =9 صرف‌نظر از شماره‌گذاری واقعی صفحات، به صفحهٔ نهم سند ختم خواهد شد.

از سوی دیگر، اگر پسوند .SEQ به num اضافه شود، SEQاُمین رخدادِ num استفاده می‌شود؛ به عنوان مثال، -l 99.2 مشخص می‌کند که پردازش با دومین صفحه‌ای از سند که شماره‌اش 99 است خاتمه یابد.

به طور پیش‌فرض یا با -L1، آخرین دستور ویژهٔ 'papersize' اعمال می‌شود؛ با -L0، اولین دستور ویژه اولویت خواهد داشت.
هنگام جستجو برای اندازه‌های کاغذ منطبق، اجازه می‌دهد محتوای صفحه روی کاغذ بچرخد تا با اندازهٔ مشخص‌شده مطابقت یابد؛ مقدار پیش‌فرض از نسخهٔ Dvips 2022.1 به بعد، عدم انجام این کار است. در سیستم‌های مدرن با اسپولرهای چاپ عادی نیازی به این کار نیست و ممکن است هنگام تبدیل به PDF آسیب‌رسان باشد (*note Config file paper sizes::). این گزینه یک پسوند اختیاری 0 (برای غیرفعال‌سازی صریح) یا 1 (برای فعال‌سازی صریح) را می‌پذیرد؛ اگر گزینه بدون پسوند مشخص شود، این رفتار را فعال می‌کند.
[+]-lua name
فایل اسکریپت Lua به نام name
در صورت پشتیبانی دستگاه خروجی، تغذیهٔ دستی (manual feed) را برای چاپگر مشخص می‌کند.
از mode به عنوان نام دستگاه Metafont برای جستجوی مسیر و تولید قلم استفاده می‌کند. این گزینه هر مقداری از فایل‌های پیکربندی را لغو می‌کند. با مسیرهای پیش‌فرض، تعیین صریح mode همچنین باعث می‌شود برنامه فرض کند قلم‌ها در یک زیرشاخه به نام mode قرار دارند.
تولید خودکار قلم ('mktexpk') را غیرفعال می‌کند. در صورت فراخوانی 'mktexpk'، دستور فراخوانی به طور پیش‌فرض به انتهای فایلی به نام missfont.log در دایرکتوری جاری اضافه می‌شود. پس از رفع مشکل، می‌توانید فایل گزارش را برای ایجاد فایل‌های مفقود اجرا کنید. اگر دایرکتوری جاری قابل نوشتن نباشد و متغیر محیطی یا مقدار فایل پیکربندی 'TEXMFOUTPUT' تنظیم شده باشد، از مقدار آن استفاده می‌شود. در غیر این صورت، چیزی نوشته نمی‌شود. نام missfont.log توسط متغیر محیطی 'MISSFONT_LOG' یا مقدار فایل پیکربندی لغو می‌شود.
حداکثر num صفحه چاپ خواهد شد. مقدار پیش‌فرض 100000 است.
کامنت‌های ساختاریافته مانند '%%Page' را غیرفعال می‌کند؛ این کار ممکن است در برخی سیستم‌ها که کامنت‌های PostScript را به شیوه‌های عجیبی تفسیر می‌کنند، یا در برخی چاپگرهای PostScript ضروری باشد. به ویژه نسخه‌های قدیمی TranScript نمی‌توانند Encapsulated PostScript مدرن را مدیریت کنند. هشدار: این کار همچنین جابه‌جایی صفحات و موارد دیگر را در نمایش‌دهنده‌های PostScript مانند Ghostview غیرفعال می‌کند.
استفاده از افزونه‌های Omega را هنگام تفسیر فایل‌های DVI غیرفعال می‌کند. به طور پیش‌فرض، کدهای دستور (opcodes) اضافیِ 129 و 134 توسط dvips به عنوان افزونه‌های Omega یا pTeX شناخته شده و به عنوان درخواست‌هایی برای قرار دادن نویسه‌های ۲ بایتی تفسیر می‌شوند.
استفاده از افزونه‌های pTeX را هنگام تفسیر فایل‌های DVI غیرفعال می‌کند. به طور پیش‌فرض، کدهای دستور اضافیِ 130 و 135 توسط dvips به عنوان افزونه‌های pTeX شناخته شده و به عنوان درخواست‌هایی برای درج نویسه‌های ۳ بایتی، و 255 به عنوان درخواستی برای تغییر جهت حروف‌چینی تفسیر می‌شوند.

تنها ایراد این است که آرایهٔ قلم مجازی (دست‌کم به طور موقت) به جای ۲۵۶ موقعیت پیش‌فرض، به ۶۵۵۳۶ یا تعداد بیشتری موقعیت نیاز خواهد داشت؛ یعنی حافظهٔ موردنیاز dvips تا حدودی بیشتر خواهد بود. اگر این موضوع قابل قبول نیست یا با افزونه‌های Omega یا pTeX به مشکل دیگری برخوردید، می‌توانید افزونهٔ pTeX را با استفاده از -noptex، یا هر دو را با استفاده از -noomega غیرفعال کنید (اما لطفاً در صورت مشاهدهٔ چنین مشکلاتی یک گزارش باگ ارسال کنید - آدرس باگ را در بخش نویسندگان (AUTHORS) در زیر ببینید).

[+]-noluatex
غیرفعال کردن افزونه‌های LuaTeX
[+]-noToUnicode
غیرفعال کردن تولید فایل CMap مربوط به ToUnicode برای قلم‌های OpenType
خروجی را به فایل name می‌فرستد. اگر -o بدون name مشخص شود (یعنی آخرین مؤلفه در خط فرمان باشد)، مقدار پیش‌فرض FILE.ps خواهد بود، در صورتی که فایل DVI ورودی FILE.dvi بوده باشد. اگر -o اصلاً تعیین نشود، از پیش‌فرض فایل پیکربندی استفاده می‌شود.

اگر name برابر '-' باشد، خروجی به خروجی استاندارد هدایت می‌شود. اگر نخستین نویسهٔ name برابر '!' یا '|' باشد، باقی‌مانده به عنوان یک آرگومان برای popen استفاده خواهد شد؛ بنابراین، مشخص کردن |lpr به عنوان فایل خروجی، فایل را طبق روال معمول به طور خودکار در صف چاپ قرار می‌دهد. (نسخهٔ MS-DOS زمانی که name برابر |lpr باشد و برنامه‌ای با این نام یافت نشود، روی دستگاه چاپگر محلی 'PRN' چاپ خواهد کرد.).sp -o خواندن خودکار متغیر محیطی PRINTER را غیرفعال کرده و ارسال خودکار control-D را خاموش می‌کند. برای چگونگی لغو این رفتار، گزینهٔ -f را ببینید.

مبدأ مختصات را به میزان X-OFFSET,Y-OFFSET، یک جفت اندازهٔ جداشده با کاما مانند .1in,-.3cm (*note papersize special::)، جابه‌جا می‌کند. مبدأ صفحه از موقعیت پیش‌فرض (یک اینچ پایین‌تر و یک اینچ به سمت راست از گوشهٔ بالای سمت چپ کاغذ) به این مقدار منتقل می‌شود. بهترین روش معمولاً مشخص کردن این مقدار در فایل پیکربندی اختصاصی چاپگر است.

این گزینه برای چاپگری مفید است که صفحات خروجی را همواره به میزان مشخصی منحرف می‌کند. می‌توانید از فایل “testpage.tex” برای تعیین مقدار صحیح چاپگر خود استفاده کنید. حتماً چندین بار با همان مقدار “O” اجرا بگیرید--برخی چاپگرها از یک اجرا به اجرای دیگر تغییرات زیادی دارند.

اگر چاپگر شما به جای همهٔ صفحات، به‌طور مداوم صفحات یک‌درمیان را منحرف می‌کند، بهترین چاره استفاده از bop-hook است (*note PostScript hooks::).

دقیقاً مشابه -l (به آن رجوع کنید) است، اما شمارهٔ اولین صفحه‌ای که باید چاپ (پردازش) شود را مشخص می‌کند.
صفحات از FIRST تا LAST را چاپ می‌کند؛ معادل -pFIRST-lLAST، است، با این تفاوت که برخلاف -p و -l، چندین گزینهٔ -pp روی هم انباشته می‌شوند. جداکنندهٔ '-' می‌تواند ':' نیز باشد.
فایل پیکربندی config.PRINTER (در MS-DOS با نام PRINTER.cfg) را می‌خواند که معمولاً نام خروجی (به احتمال زیاد “o |lpr -PPRINTER”)، تفکیک‌پذیری، حالت Metafont و شاید سایر پیش‌فرض‌های اختصاصی چاپگر را تنظیم می‌کند. بهتر است پیش‌فرض‌های سراسری سیستم در فایل اصلی config.ps قرار گیرند و تنها مواردی که از چاپگری به چاپگر دیگر تفاوت دارند در فایل‌های config.PRINTER تنظیم شوند؛ فایل config.ps پیش از config.PRINTER خوانده می‌شود.

یک فایل پیکربندی برای ایجاد احتمالی فایل‌های Adobe PDF در config.pdf ارائه شده و بنابراین می‌توان آن را با -Ppdf بارگذاری کرد. این گزینه تلاش می‌کند فونت‌های برداری Type 1 را در فایل PostScript بگنجاند (*note Hypertext caveats::).

اگر هیچ‌یک از گزینه‌های -P یا -o مشخص نشده باشند، متغیر محیطی PRINTER بررسی می‌شود. در صورت وجود آن متغیر و موجود بودن فایل متناظر config.PRINTER (یا PRINTER.cfg در MS-DOS)، آن فایل خوانده می‌شود. *Note Configuration file searching::.

اجرا در حالت بی‌صدا. از چاپ اطلاعات دربارهٔ صفحات تبدیل‌شده و غیره خودداری کرده و چیزی جز خطاها را در خطای استاندارد (standard error) گزارش نمی‌دهد.
[+]-Q
از دستورهای اختصاصی (private specials) در VTeX صرف‌نظر می‌کند.
صفحات را به ترتیب معکوس خروجی می‌دهد. به‌طور پیش‌فرض، ابتدا صفحهٔ ۱ خارج می‌شود.
اجرا به‌صورت امن. -R2 هم اجرای دستورهای شل در \special{} (از طریق '`'، *note Dynamic creation of graphics::) و هم در فایل‌های پیکربندی (از طریق گزینهٔ 'E'، *note Configuration file commands::) و باز کردن هرگونه نام فایل مطلق یا نسبی با “..” را غیرفعال می‌کند. -R1، که حالت پیش‌فرض است، اجرای دستورهای شل (shell escapes) را ممنوع کرده اما نام فایل‌های مطلق را مجاز می‌داند. -R0 هر دو را مجاز می‌کند.
باعث می‌شود کل خروجی سراسری در یک جفت دستور save/restore محصور شود. این امر موجب می‌شود فایل کاملاً با استاندارد منطبق نباشد و بنابراین توصیه نمی‌شود، اما در صورتی که چاپگر را مستقیماً راه‌اندازی می‌کنید و چندان نگران قابلیت حمل خروجی نیستید، مفید است.
حداکثر تعداد صفحات را در هر «بخش» (section) تعیین می‌کند. این گزینه اغلب به همراه گزینهٔ -i به‌کار می‌رود؛ برای اطلاعات بیشتر مستندات آن را در بالا ببینید.
نوع کاغذ را به papertype تنظیم می‌کند. papertype باید به همراه کد مناسب برای انتخاب آن، در یکی از فایل‌های پیکربندی تعریف شده باشد. (انواع شناخته‌شدهٔ فعلی شامل letter، legal، ledger، a4 و a3 هستند). همچنین می‌توانید مقدار papertype را landscape مشخص کنید که سند را ۹۰ درجه می‌چرخاند. برای چرخاندن سندی که نوع کاغذ آن پیش‌فرض نیست، می‌توانید گزینهٔ -t را دو بار استفاده کنید، یک بار برای نوع کاغذ و یک بار برای landscape. به‌طور کلی، هنگام استفاده از دستور ویژهٔ (special) papersize، که برخی بسته‌های LaTeX (مانند “hyperref”) درج می‌کنند، نباید از هیچ گزینهٔ -t استفاده کنید. یک استثنا زمانی است که از اندازهٔ کاغذ غیراستانداردی استفاده می‌کنید که قبلاً در config.ps تعریف نشده باشد؛ در این حالت باید -tunknown را مشخص کنید. استثنای دیگر هنگام تولید فایل‌های چندصفحه‌ای برای پردازش بیشتر است؛ از -t nopaper برای حذف هرگونه اطلاعات اندازهٔ کاغذ در خروجی استفاده کنید. (اگر فقط یک سند تک‌صفحه‌ای دارید، می‌توانید از -E برای دریافت خروجی خالص EPSF استفاده کنید.)
اندازهٔ کاغذ را به papersize تنظیم می‌کند؛ یک جفت اندازهٔ جداشده با کاما مانند “.1in,-.3cm” (*note papersize special::). این گزینه بر هر دستور ویژهٔ اندازهٔ کاغذ در فایل DVI اولویت دارد. دقت کنید، زیرا اگر اندازهٔ پیش‌تعریف‌شده‌ای به‌قدر کافی نزدیک وجود داشته باشد، اندازهٔ کاغذ به آن می‌چسبد. برای غیرفعال کردن این رفتار، از -tunknown استفاده کنید.
از s به‌عنوان عنوان در PostScript تولیدشده ('%%Title') استفاده می‌کند. در صورت مشخص نشدن، مقدار پیش‌فرض همان نام پایه (basename) فایل ورودی است؛ برای مثال، اجرای “dvips /foo/bar.dvi” دارای “%%Title' برابر با “bar.dvi” خواهد بود..TP -u psmapfile تنظیم psmapfile به‌عنوان فایلی که dvips برای جستجوی نام‌های مستعار قلم PostScript استفاده می‌کند. اگر psmapfile با نویسهٔ + آغاز شود، باقی نام به‌عنوان نام فایل نگاشت استفاده شده و فایل نگاشت به فهرست فایل‌های نگاشت افزوده می‌شود (به جای جایگزین شدن با فهرست). در هر دو حالت، اگر psmapfile فاقد پسوند باشد، .map به انتهای آن افزوده می‌شود.
غیرفعال‌سازی بهینه‌سازی صرفه‌جویی در حافظهٔ مجازی PostScript که اطلاعات متریک نویسه را در همان رشته‌ای که برای ذخیرهٔ اطلاعات بیت‌مپ به کار می‌رود، ذخیره می‌کند. این گزینه فقط هنگام راه‌اندازی مفسر PostScript چاپگر Xerox 4045 ضروری است. این مسئله به دلیل وجود یک باگ در آن مفسر است که منجر به ایجاد داده‌های نامفهوم (garbage) در پایین هر نویسه می‌شود. استفاده از آن توصیه نمی‌شود، مگر اینکه مجبور به راه‌اندازی این چاپگر باشید.
چاپ شمارهٔ نسخهٔ dvips و خروج.
بارگیری قلم‌های غیرمقیم PostScript به صورت بیت‌مپ. این کار نیازمند استفاده از 'mtpk' یا 'gsftopk' یا 'pstopk' یا ترکیبی از آن‌ها برای تولید قلم‌های بیت‌مپ مورد نیاز است؛ این برنامه‌ها همراه با Dvips ارائه می‌شوند. بیت‌مپ باید در 'psfonts.map' به‌عنوان فایل قابل بارگیری برای آن قلم قرار گیرد. این ویژگی فقط برای قلم‌هایی مفید است که طرح‌کلی (outline) واقعی از آن‌ها ندارید، و به چاپگرهایی ارسال می‌شوند که فاقد قلم‌های مقیم هستند؛ یعنی بسیار به‌ندرت.
[+]-W
جستجوی گسترده برای گرافیک‌های emTeX.
تنظیم نسبت بزرگ‌نمایی روی num/1000. بزرگ‌نمایی مشخص‌شده در فایل DVI را لغو می‌کند. باید مقداری بین 10 و 100000 باشد. توصیه می‌شود از مقادیر استاندارد magstep (مانند 1095، 1200، 1440، 1728، 2074، 2488، 2986 و غیره) استفاده شود تا به کاهش تعداد کل فایل‌های PK تولیدشده کمک شود. برای افزایش دقت، num می‌تواند یک عدد حقیقی باشد و نه صرفاً عدد صحیح.
تنظیم تفکیک‌پذیری افقی بر حسب نقطه در اینچ روی num.
تنظیم نسبت بزرگ‌نمایی روی num/1000 برابرِ بزرگ‌نمایی مشخص‌شده در فایل .dvi. -x در بالا را ببینید.
تنظیم تفکیک‌پذیری عمودی بر حسب نقطه در اینچ روی num.
ارسال دستورات ویژهٔ (specials) hyperdvi برای html به خروجی به منظور تبدیل نهایی به PDF. این گزینه به‌طور پیش‌فرض فعال نیست تا از گنجاندن غیرضروری فایل‌های سرآیند و استفاده از فایل‌های موقت در هنگام ایجاد خروجی جلوگیری شود.
فشرده‌سازی قلم‌های بیت‌مپ در فایل خروجی، در نتیجه کاهش حجم محتوای بارگیری‌شده. این قابلیت به‌ویژه در تفکیک‌پذیری‌های بالا یا هنگامی که از قلم‌های بسیار بزرگ استفاده می‌شود، مفید است. ممکن است سرعت چاپ را، به‌ویژه در چاپگرهای اولیهٔ PostScript مبتنی بر 68000، کاهش دهد. امروزه عموماً توصیه می‌شود و می‌توان آن را در فایل پیکربندی فعال کرد (*note Configuration file commands::)..SH "همچنین ببینید (SEE ALSO)" afm2tfm(1), tex(1), mf(1), dvips(1), dvitype(1), lpr(1), dvips.texi, README.overview.md, https://tug.org/dvips, https://github.com/vtex-soft/xdvipsk.

دستور Xvipsk از همان متغیرهای محیط و الگوریتم‌های TeX و برنامه‌های وابسته به آن برای یافتن فایل‌های قلم استفاده می‌کند. برای جزئیات، به مستندات کتابخانهٔ Kpathsea مراجعه کنید (تکرار آن‌ها در اینجا بسیار مفصل خواهد بود).

KPATHSEA_DEBUG: ردگیری جستجوهای Kpathsea؛ برای ردگیری کامل مقدار آن را روی -1 تنظیم کنید.

PRINTER: بالا را ببینید.

‏PostScript یک نشان تجاری ثبت‌شده متعلق به Adobe Systems Incorporated است.

برنامهٔ Dvips توسط Tomas Rokicki ایجاد شد؛ گسترش برای قلم‌های مجازی توسط Don Knuth انجام گرفت. جستجوی مسیر و تغییرات پیکربندی توسط Karl Berry پیاده‌سازی شد.

توسعه‌های اصلی توسط Arūnas Povilaitis؛ مدیریت قلم‌ها توسط Mindaugas Piešina؛ فراخوانی‌های lua، پیکربندی و نگهداری توسط Sigitas Tolušis.

در TeX Live نگهداری می‌شود؛ لطفاً گزارش باگ‌ها یا سایر مکاتبات مربوط به dvips را به tex-k@tug.org (https://lists.tug.org/tex-k) و موارد مربوط به xdvipsk را به tex-dev@vtex.lt (https://github.com/vtex-soft/xdvipsk) ارسال کنید.

06 February 2026