.\" This file is public domain. .\" Originally written 1995, Geoffrey Tobin. .\" The author has expressed the hope that any modification will retain enough content to remain useful. He would also appreciate being acknowledged as the original author in the documentation. .\" This declaration added 2008/11/14 by Clea F. Rees with the permission of Geoffrey Tobin. .\" ==================================================================== .\" @Troff-man-file{ .\" author = "Nelson H. F. Beebe and Geoffrey Tobin", .\" version = "0.6.0", .\" date = "08 March 1995", .\" time = "19:52:00 GMT +11", .\" filename = "dv2dt.man", .\" address = "Center for Scientific Computing .\" Department of Mathematics .\" University of Utah .\" Salt Lake City, UT 84112 .\" USA", .\" telephone = "+1 801 581 5254", .\" FAX = "+1 801 581 4148", .\" checksum = "32328 715 2191 12898", .\" email = "beebe@math.utah.edu (Internet)", .\" codetable = "ISO/ASCII", .\" keywords = "DVI, TeX", .\" supported = "no", .\" docstring = "This file contains the UNIX manual pages .\" for the dv2dt utility, a program for .\" converting a binary TeX DVI file to an .\" editable text representation in DTL (DVI Text .\" Language). The companion dt2dv utility can .\" convert the output DTL file back to a binary .\" DVI file. .\" .\" The checksum field above contains a CRC-16 .\" checksum as the first value, followed by the .\" equivalent of the standard UNIX wc (word .\" count) utility output of lines, words, and .\" characters. This is produced by Robert .\" Solovay's checksum utility.", .\" } .\" ==================================================================== .if t .ds Te T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X .if n .ds Te TeX .if t .ds Xe X\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'T .if n .ds Xe XeT .TH DV2DT 1 "08 March 1995" "Version 0.6.0" .\"====================================================================== .SH "نام (NAME)" dv2dt \- تبدیل یک فایل باینری TeX DVI به نمایش متنی DTL .\"====================================================================== .SH "خلاصه دستور (SYNOPSIS)" .B dv2dt .I input-DVI-file .I output-DTL-file .PP اگر نام فایل‌ها ذکر نشود، .I stdin و .I stdout پیش‌فرض در نظر گرفته می‌شوند. .\"====================================================================== .SH "توضیحات (DESCRIPTION)" دستور .B dv2dt یک فایل باینری DVI متعلق به \*(Te\& را به یک فایل متنی قابل ویرایش با ساختار DTL .RI ( "DVI Text Language" ) تبدیل می‌کند. ابزار مکمل .BR dt2dv (1) می‌تواند فایل DTL خروجی را مجدداً به یک فایل باینری DVI تبدیل نماید. .\"====================================================================== .SH "شرح دستورات DVI (DVI COMMAND DESCRIPTION)" فایل‌های DVI متعلق به \*(Te\& حاوی توصیفی باینری و فشرده از صفحات حروف‌چینی‌شده به‌صورت جریانی از بایت‌های کد عملیات (opcode) هستند که بلافاصله پس از هر کدام، صفر یا چند بایت پارامتر قرار دارد. قالب فایل‌های DVI به‌طور کامل در کتاب دونالد ای. کنوت (Donald E. Knuth) با عنوان .IR "\*(Te\&: The Program" ، Addison-Wesley (1986)، شابک 0-201-13437-3، و همچنین در کد مبدأ برنامهٔ .BR dvitype (1) توصیف شده است. .PP برای سهولت، خلاصه‌ای از دستورات DVI در اینجا ارائه شده است. در فهرست زیر، بایت‌های کد عملیات به‌صورت مقادیر ده‌دهی بدون علامت، به‌همراه نام نمادین آن‌ها (که درون فایل DVI وجود ندارد) و توصیفی کوتاه آورده شده‌اند. نمادی مانند .I b[+n] بدین معناست که پس از بایت کد عملیات، یک پارامتر .I b قرار دارد که از .I n بایت استفاده می‌کند و علامت‌دار است. بدون علامت مثبت، پارامتر بدون علامت محسوب می‌شود. مقادیر عددی صحیح علامت‌دار همواره در حساب مکمل دو (two\(cqs complement) نمایش داده می‌شوند که همان سیستم مورد استفاده در اکثر رایانه‌های امروزی، از جمله تمام رایانه‌های شخصی و ایستگاه‌های کاری است. .if n .TP \w'\fI128_set1__c[1]\fP'u+3n .if t .TP \w'\fI243_fnt_def1__k[1]_c[4]_s[4]_d[4]_a[1]_l[1]_n[a+l]\fP'u+3n .I "0 set_char_0" قرار دادن نویسهٔ ۰ از قلم جاری. .TP .I .\|.\|. .TP .I "127 set_char_127" قرار دادن نویسهٔ ۱۲۷ از قلم جاری. .TP .I "128 set1 c[1]" قرار دادن نویسهٔ ۱-بایتی بدون علامت (uchar) با شمارهٔ .IR c . .TP .I "129 set2 c[2]" قرار دادن نویسهٔ ۲-بایتی بدون علامت با شمارهٔ .IR c . .TP .I "130 set3 c[3]" قرار دادن نویسهٔ ۳-بایتی بدون علامت با شمارهٔ .IR c . .TP .I "131 set4 c[+4]" قرار دادن نویسهٔ ۴-بایتی علامت‌دار (schar) با شمارهٔ .IR c . .TP .I "132 set_rule a[+4] b[+4]" قرار دادن خط (rule) با ارتفاع .IR a و عرض .IR b . .TP .I "133 put1 c[1]" گذاشتن نویسهٔ ۱-بایتی بدون علامت .IR c . .TP .I "134 put2 c[2]" گذاشتن نویسهٔ ۲-بایتی بدون علامت .IR c . .TP .I "135 put3 c[3]" گذاشتن نویسهٔ ۳-بایتی بدون علامت .IR c . .TP .I "136 put4 c[+4]" گذاشتن نویسهٔ ۴-بایتی علامت‌دار .IR c . .TP .I "137 put_rule a[+4] b[+4]" گذاشتن خط با ارتفاع .IR a و عرض .IR b . .TP .I "138 nop" بدون عملیات (کاری انجام نده). .TP .I "139 bop c0[+4] .\|.\|. c9[+4] p[+4]" شروع صفحه. پارامترهای .I "c0 .\|.\|. c9" شمارنده‌های صفحه در \*(Te\& هستند؛ یعنی محتوای ثبات‌های شمارندهٔ \*(Te\& .IR "\ecount0 .\|.\|. \ecount9" . پارامتر .I p آفست بایتی بایتِ کد عملیات .I bop پیشین از ابتدای فایل DVI است. در اولین دستور از این دست در فایل، مقدار پارامتر .IR "p = \-1" است. .TP .I "140 eop" پایان صفحه. .TP .I "141 push" انتقال .RI ( h,v,w,x,y,z ) به پشته (push). .TP .I "142 pop" برداشتن .RI ( h,v,w,x,y,z ) از پشته (pop). .TP .I "143 right1 b[+1]" حرکت به راست به میزان .I b واحد. .TP .I "144 right2 b[+2]" حرکت به راست به میزان .I b واحد. .TP .I "145 right3 b[+3]" حرکت به راست به میزان .I b واحد. .TP .I "146 right4 b[+4]" حرکت به راست به میزان .I b واحد..TP .I "147 w0" حرکت به راست به اندازهٔ .I w واحد. .TP .I "148 w1 b[+1]" حرکت به راست به اندازهٔ .I b واحد، و تنظیم .IR "w = b" . .TP .I "149 w2 b[+2]" حرکت به راست به اندازهٔ .I b واحد، و تنظیم .IR "w = b" . .TP .I "150 w3 b[+3]" حرکت به راست به اندازهٔ .I b واحد، و تنظیم .IR "w = b" . .TP .I "151 w4 b[+4]" حرکت به راست به اندازهٔ .I b واحد، و تنظیم .IR "w = b" . .TP .I "152 x0" حرکت به راست به اندازهٔ .I x واحد. .TP .I "153 x1 b[+1]" حرکت به راست به اندازهٔ .I b واحد، و تنظیم .IR "x = b" . .TP .I "154 x2 b[+2]" حرکت به راست به اندازهٔ .I b واحد، و تنظیم .IR "x = b" . .TP .I "155 x3 b[+3]" حرکت به راست به اندازهٔ .I b واحد، و تنظیم .IR "x = b" . .TP .I "156 x4 b[+4]" حرکت به راست به اندازهٔ .I b واحد، و تنظیم .IR "x = b" . .TP .I "157 down1 a[+1]" حرکت به پایین به اندازهٔ .I a واحد. .TP .I "158 down2 a[+2]" حرکت به پایین به اندازهٔ .I a واحد. .TP .I "159 down3 a[+3]" حرکت به پایین به اندازهٔ .I a واحد. .TP .I "160 down4 a[+4]" حرکت به پایین به اندازهٔ .I a واحد. .TP .I "161 y0" حرکت به راست به اندازهٔ .I y واحد. .TP .I "162 y1 a[+1]" حرکت به راست به اندازهٔ .I a واحد، و تنظیم .IR "y = a" . .TP .I "163 y2 a[+2]" حرکت به راست به اندازهٔ .I a واحد، و تنظیم .IR "y = a" . .TP .I "164 y3 a[+3]" حرکت به راست به اندازهٔ .I a واحد، و تنظیم .IR "y = a" . .TP .I "165 y4 a[+4]" حرکت به راست به اندازهٔ .I a واحد، و تنظیم .IR "y = a" . .TP .I "166 z0" حرکت به راست به اندازهٔ .I z واحد. .TP .I "167 z1 a[+1]" حرکت به راست به اندازهٔ .I a واحد، و تنظیم .IR "z = a" . .TP .I "168 z2 a[+2]" حرکت به راست به اندازهٔ .I a واحد، و تنظیم .IR "z = a" . .TP .I "169 z3 a[+3]" حرکت به راست به اندازهٔ .I a واحد، و تنظیم .IR "z = a" . .TP .I "170 z4 a[+4]" حرکت به راست به اندازهٔ .I a واحد، و تنظیم .IR "z = a" . .TP .I "171 fnt_num_0" تنظیم شماره قلم جاری .IR "(f) = 0" . .TP .I .\|.\|. .TP .I "234 fnt_num_63" تنظیم .IR "f = 63" . .TP .I "235 fnt1 k[1]" تنظیم .IR "f = k" . .TP .I "236 fnt2 k[2]" تنظیم .IR "f = k" . .TP .I "237 fnt3 k[3]" تنظیم .IR "f = k" . .TP .I "238 fnt4 k[+4]" تنظیم .IR "f = k" . .TP .I "239 xxx1 k[1] x[k]" رشتهٔ ویژهٔ .I x با .I k بایت. .TP .I "240 xxx2 k[2] x[k]" رشتهٔ ویژهٔ .I x با .I k بایت. .TP .I "241 xxx3 k[3] x[k]" رشتهٔ ویژهٔ .I x با .I k بایت. .TP .I "242 xxx4 k[4] x[k]" رشتهٔ ویژهٔ .I x با .I k بایت (بدون علامت). .TP .I "243 fnt_def1 k[1] c[4] s[4] d[4] a[1] l[1] n[a+l]" تعریف قلم .IR k . پارامترها عبارتند از: .RS .TP \w'\fIm\fP'u+3n .I c چک‌سام برای فایل TFM. .TP .I s ضریب مقیاس، بر حسب واحدهای DVI..TP .I d اندازه طراحی، بر حسب واحدهای DVI. .TP .I a طول «ناحیه» (area) یا دایرکتوری. .TP .I l طول نام فونت. .TP .I n رشته(های) نام ناحیه و فونت. .RE .TP .I "244 fnt_def2 k[2] c[4] s[4] d[4] a[1] l[1] n[a+l]" تعریف فونت .IR k . .TP .I "245 fnt_def3 k[3] c[4] s[4] d[4] a[1] l[1] n[a+l]" تعریف فونت .IR k . .TP .I "246 fnt_def4 k[+4] c[4] s[4] d[4] a[1] l[1] n[a+l]" تعریف فونت .IR k . .TP .I "247 pre i[1] num[4] den[4] mag[4] k[1] x[k]" آغاز دیباچه (preamble). پارامترها عبارتند از: .RS .TP \w'\fInum\fP'u+3n .I i قالب DVI. نگارش استاندارد \*(Te\& دارای .IR "ID = 2" است، و \*(Te\&-\*(Xe\& دارای .IR "ID = 3" . .TP .I num صورت کسر ۱۰۰ نانومتر / واحد DVI. .TP .I den مخرج کسر ۱۰۰ نانومتر / واحد DVI. .TP .I mag ۱۰۰۰ × بزرگ‌نمایی (magnification). .TP .I k طول توضیح (comment). .TP .I x رشته توضیح. .RE .TP .I "248 post p[4] num[4] den[4] mag[4] l[4] u[4] s[2] t[2]" آغاز موخره (postamble). پارامترها عبارتند از: .RS .TP \w'\fInum\fP'u+3n .I p اشاره‌گر به آخرین bop. .TP .I "num, den, mag" تکرار مقادیر موجود در دیباچه. .TP .I l مجموع ارتفاع و عمق بلندترین صفحه، بر حسب واحدهای DVI. .TP .I u عرض پهن‌ترین صفحه، بر حسب واحدهای DVI. .TP .I s بیشینه عمق پشته (stack) مورد نیاز برای پردازش این فایل DVI. .TP .I t تعداد کل صفحات موجود (دستورهای .IR bop ). .RE .TP .I "249 post_post q[4] i[1] 223 .\|.\|. 223" پایان موخره (postamble). پارامترها عبارتند از: .RS .TP \w'\fI223\fP'u+3n .I q آفست بایتی از ابتدای فایل DVI تا دستور .I post که موخره را آغاز کرده است. .TP .I i شناسه قالب DVI، مشابه آنچه در دیباچه آمده است. .TP .I 223 دست‌کم چهار بایت .IR 223 . .RE .TP .I "250" تعریف‌نشده. .TP .I .\|.\|. .TP .I "255" تعریف‌نشده. .\"====================================================================== .SH "شرح دستورات DTL (DTL COMMAND DESCRIPTION)" یک فایل DTL در هر سطر شامل یک دستور است و هر سطر حداکثر می‌تواند ۱۰۲۴ نویسه داشته باشد. هر دستور شامل یک نام نمادین برای عملیات است که در پی آن صفر یا چند مقدار پارامتر می‌آید. شرح مقادیر پارامترها در اینجا تکرار نشده است؛ آن‌ها را می‌توان در بخش پیشین یافت. .TP \w'\fIw0,_w1,_w2,_w3,_w4\fP'u+3n variety این دستور نام نوع فایل DTL را مشخص می‌کند؛ این دستور معادلی در فایل DVI ندارد. .TP .I (text) مجموعه‌ای از دستورهای set_char، برای متون اسکی (ASCII) قابل چاپ. .TP .I \e( پرانتز باز لفظی ASCII در (text). .TP .I \e) پرانتز بسته لفظی ASCII در (text). .TP .I \e\e بک‌اسلش لفظی ASCII در (text). .TP .I \e" علامت نقل‌قول جفتی (double quote) لفظی ASCII در (text). .TP .I \eXY دستور set_char برای نویسه‌ای با کد هگزادسیمال XY، نه درون پرانتز، بلکه به صورت مستقل برای خوانایی بهتر. .TP .I "s1, s2, s2, s3" دستور Set، با کدهای نویسه (charcodes) ۱، ۲، ۳ یا ۴ بایتی. .TP .I sr .IR set_rule . .TP .I "p1, p2, p2, p3" دستور Put، با کدهای نویسه (charcodes) ۱، ۲، ۳ یا ۴ بایتی. .TP .I pr .IR put_rule . .TP .I nop .I nop (بدون عملیات). .TP .I bop .I bop (شروع صفحه). .TP .I eop .I eop (پایان صفحه). .TP .I [ Push (قرار دادن در پشته). .TP .I ] Pop (برداشتن از پشته). .TP .I "r1, r2, r3, r4" دستور Right، با آرگومان ۱، ۲، ۳ یا ۴ بایتی. .TP .I "w0, w1, w2, w3, w4" همانند DVI. .TP .I "x0, x1, x2, x3, x4" همانند DVI. .TP .I "d1, d2, d3, d4" دستور Down، با آرگومان ۱، ۲، ۳ یا ۴ بایتی. .TP .I "y0, y1, y2, y3, y4" همانند DVI. .TP .I "z0, z1, z2, z3, z4" همانند DVI. .TP .I fn .I fnt_num (تنظیم فونت فعلی به شماره فونت در بازه 0 تا 63). .TP .I "f1, f2, f3, f4" .I fnt (تنظیم فونت فعلی به شماره فونت ۱، ۲، ۳ یا ۴ بایتی). .TP .I special .I xxx (دستورهای special با طول رشته ۱، ۲، ۳ یا ۴ بایتی). .TP .I fd .I fnt_def (اختصاص یک شماره به یک فونت نام‌گذاری‌شده). .TP .I pre دیباچه (Preamble)..TP .I post .I post (آغاز پسایند). .TP .I post_post .I post_post (پایان پسایند). .TP .I opcode دستور DVI تعریف‌نشده (250 تا 255). .\"====================================================================== .SH "نمونه فایل DTL (SAMPLE DTL FILE)" فایل ۲ خطی \*(Te\& زیر .RS .nf Hello. \ebye .fi .RE هنگامی که با دستورهای زیر پردازش شود .RS .nf tex hello.tex dv2dt hello.dvi hello.dtl .fi .RE این فایل DTL را تولید می‌کند: .RS .nf variety sequences-6 pre 2 25400000 473628672 1000 27 ' TeX output 1995.03.02:2334' bop 1 0 0 0 0 0 0 0 0 0 -1 [ d3 -917504 ] d4 42152922 [ d4 -41497562 [ r3 1310720 fd1 0 11374260171 655360 655360 0 5 '' 'cmr10' fn0 (Hello.) ] ] d3 1572864 [ r4 15229091 (1) ] eop post 42 25400000 473628672 1000 43725786 30785863 2 1 fd1 0 11374260171 655360 655360 0 5 'cmr10' post_post 152 2 223 223 223 223 .fi .RE دستور .RS .nf dt2dv hello.dtl hello.dvi .fi .RE فایل DVI اصلی را بازسازی خواهد کرد. .\"====================================================================== .SH "همچنین ببینید (SEE ALSO)" .BR dt2dv (1), .BR dvitype (1), .BR tex (1). .\"====================================================================== .SH "فایل‌ها (FILES)" .TP \w'\fI*.dvi\fP'u+3n .I *.dvi فایل باینری DVI متعلق به \*(Te\&. .TP .I *.dtl نمایش متنی یک فایل DVI متعلق به \*(Te\& در قالب .IR "DVI Text Language" . .\"====================================================================== .SH "نویسندگان (AUTHORS)" برنامه‌های .B dv2dt و .BR dt2dv (1) توسط فرد زیر نوشته شده‌اند: .RS .nf Geoffrey Tobin Department of Electronic Engineering La Trobe University Bundoora, Victoria 3083 Australia Tel: +61 3 479 3736 FAX: +61 3 479 3025 Email: .fi .RE .PP این صفحه‌های راهنما در اصل توسط فرد زیر نوشته شده‌اند: .RS .nf Nelson H. F. Beebe, Ph.D. Center for Scientific Computing Department of Mathematics University of Utah Salt Lake City, UT 84112 Tel: +1 801 581 5254 FAX: +1 801 581 4148 Email: .fi .RE .\"==============================[The End]==============================