| DV2DT(1) | General Commands Manual | DV2DT(1) |
نام (NAME)
dv2dt - تبدیل یک فایل باینری TeX DVI به نمایش متنی DTL
خلاصه دستور (SYNOPSIS)
dv2dt input-DVI-file output-DTL-file
اگر نام فایلها ذکر نشود، stdin و stdout پیشفرض در نظر گرفته میشوند.
توضیحات (DESCRIPTION)
دستور dv2dt یک فایل باینری DVI متعلق به TeX را به یک فایل متنی قابل ویرایش با ساختار DTL (DVI Text Language) تبدیل میکند. ابزار مکمل dt2dv(1) میتواند فایل DTL خروجی را مجدداً به یک فایل باینری DVI تبدیل نماید.
شرح دستورات DVI (DVI COMMAND DESCRIPTION)
فایلهای DVI متعلق به TeX حاوی توصیفی باینری و فشرده از صفحات حروفچینیشده بهصورت جریانی از بایتهای کد عملیات (opcode) هستند که بلافاصله پس از هر کدام، صفر یا چند بایت پارامتر قرار دارد. قالب فایلهای DVI بهطور کامل در کتاب دونالد ای. کنوت (Donald E. Knuth) با عنوان TeX: The Program، Addison-Wesley (1986)، شابک 0-201-13437-3، و همچنین در کد مبدأ برنامهٔ dvitype(1) توصیف شده است.
برای سهولت، خلاصهای از دستورات DVI در اینجا ارائه شده است. در فهرست زیر، بایتهای کد عملیات بهصورت مقادیر دهدهی بدون علامت، بههمراه نام نمادین آنها (که درون فایل DVI وجود ندارد) و توصیفی کوتاه آورده شدهاند. نمادی مانند b[+n] بدین معناست که پس از بایت کد عملیات، یک پارامتر b قرار دارد که از n بایت استفاده میکند و علامتدار است. بدون علامت مثبت، پارامتر بدون علامت محسوب میشود. مقادیر عددی صحیح علامتدار همواره در حساب مکمل دو (two’s complement) نمایش داده میشوند که همان سیستم مورد استفاده در اکثر رایانههای امروزی، از جمله تمام رایانههای شخصی و ایستگاههای کاری است.
- 0 set_char_0
- قرار دادن نویسهٔ ۰ از قلم جاری.
- ...
- 127 set_char_127
- قرار دادن نویسهٔ ۱۲۷ از قلم جاری.
- 128 set1 c[1]
- قرار دادن نویسهٔ ۱-بایتی بدون علامت (uchar) با شمارهٔ c.
- 129 set2 c[2]
- قرار دادن نویسهٔ ۲-بایتی بدون علامت با شمارهٔ c.
- 130 set3 c[3]
- قرار دادن نویسهٔ ۳-بایتی بدون علامت با شمارهٔ c.
- 131 set4 c[+4]
- قرار دادن نویسهٔ ۴-بایتی علامتدار (schar) با شمارهٔ c.
- 132 set_rule a[+4] b[+4]
- قرار دادن خط (rule) با ارتفاع a و عرض b.
- 133 put1 c[1]
- گذاشتن نویسهٔ ۱-بایتی بدون علامت c.
- 134 put2 c[2]
- گذاشتن نویسهٔ ۲-بایتی بدون علامت c.
- 135 put3 c[3]
- گذاشتن نویسهٔ ۳-بایتی بدون علامت c.
- 136 put4 c[+4]
- گذاشتن نویسهٔ ۴-بایتی علامتدار c.
- 137 put_rule a[+4] b[+4]
- گذاشتن خط با ارتفاع a و عرض b.
- 138 nop
- بدون عملیات (کاری انجام نده).
- 139 bop c0[+4] ... c9[+4] p[+4]
- شروع صفحه. پارامترهای c0 ... c9 شمارندههای صفحه در TeX هستند؛ یعنی محتوای ثباتهای شمارندهٔ TeX \count0 ... \count9. پارامتر p آفست بایتی بایتِ کد عملیات bop پیشین از ابتدای فایل DVI است. در اولین دستور از این دست در فایل، مقدار پارامتر p = -1 است.
- 140 eop
- پایان صفحه.
- 141 push
- انتقال (h,v,w,x,y,z) به پشته (push).
- 142 pop
- برداشتن (h,v,w,x,y,z) از پشته (pop).
- 143 right1 b[+1]
- حرکت به راست به میزان b واحد.
- 144 right2 b[+2]
- حرکت به راست به میزان b واحد.
- 145 right3 b[+3]
- حرکت به راست به میزان b واحد.
- 146 right4 b[+4]
- حرکت به راست به میزان b واحد..TP 147 w0 حرکت به راست به اندازهٔ w واحد.
- 148 w1 b[+1]
- حرکت به راست به اندازهٔ b واحد، و تنظیم w = b.
- 149 w2 b[+2]
- حرکت به راست به اندازهٔ b واحد، و تنظیم w = b.
- 150 w3 b[+3]
- حرکت به راست به اندازهٔ b واحد، و تنظیم w = b.
- 151 w4 b[+4]
- حرکت به راست به اندازهٔ b واحد، و تنظیم w = b.
- 152 x0
- حرکت به راست به اندازهٔ x واحد.
- 153 x1 b[+1]
- حرکت به راست به اندازهٔ b واحد، و تنظیم x = b.
- 154 x2 b[+2]
- حرکت به راست به اندازهٔ b واحد، و تنظیم x = b.
- 155 x3 b[+3]
- حرکت به راست به اندازهٔ b واحد، و تنظیم x = b.
- 156 x4 b[+4]
- حرکت به راست به اندازهٔ b واحد، و تنظیم x = b.
- 157 down1 a[+1]
- حرکت به پایین به اندازهٔ a واحد.
- 158 down2 a[+2]
- حرکت به پایین به اندازهٔ a واحد.
- 159 down3 a[+3]
- حرکت به پایین به اندازهٔ a واحد.
- 160 down4 a[+4]
- حرکت به پایین به اندازهٔ a واحد.
- 161 y0
- حرکت به راست به اندازهٔ y واحد.
- 162 y1 a[+1]
- حرکت به راست به اندازهٔ a واحد، و تنظیم y = a.
- 163 y2 a[+2]
- حرکت به راست به اندازهٔ a واحد، و تنظیم y = a.
- 164 y3 a[+3]
- حرکت به راست به اندازهٔ a واحد، و تنظیم y = a.
- 165 y4 a[+4]
- حرکت به راست به اندازهٔ a واحد، و تنظیم y = a.
- 166 z0
- حرکت به راست به اندازهٔ z واحد.
- 167 z1 a[+1]
- حرکت به راست به اندازهٔ a واحد، و تنظیم z = a.
- 168 z2 a[+2]
- حرکت به راست به اندازهٔ a واحد، و تنظیم z = a.
- 169 z3 a[+3]
- حرکت به راست به اندازهٔ a واحد، و تنظیم z = a.
- 170 z4 a[+4]
- حرکت به راست به اندازهٔ a واحد، و تنظیم z = a.
- 171 fnt_num_0
- تنظیم شماره قلم جاری (f) = 0.
- ...
- 234 fnt_num_63
- تنظیم f = 63.
- 235 fnt1 k[1]
- تنظیم f = k.
- 236 fnt2 k[2]
- تنظیم f = k.
- 237 fnt3 k[3]
- تنظیم f = k.
- 238 fnt4 k[+4]
- تنظیم f = k.
- 239 xxx1 k[1] x[k]
- رشتهٔ ویژهٔ x با k بایت.
- 240 xxx2 k[2] x[k]
- رشتهٔ ویژهٔ x با k بایت.
- 241 xxx3 k[3] x[k]
- رشتهٔ ویژهٔ x با k بایت.
- 242 xxx4 k[4] x[k]
- رشتهٔ ویژهٔ x با k بایت (بدون علامت).
- 243 fnt_def1 k[1] c[4] s[4] d[4] a[1] l[1] n[a+l]
- تعریف قلم k. پارامترها عبارتند از:
- 244 fnt_def2 k[2] c[4] s[4] d[4] a[1] l[1] n[a+l]
- تعریف فونت k.
- 245 fnt_def3 k[3] c[4] s[4] d[4] a[1] l[1] n[a+l]
- تعریف فونت k.
- 246 fnt_def4 k[+4] c[4] s[4] d[4] a[1] l[1] n[a+l]
- تعریف فونت k.
- 247 pre i[1] num[4] den[4] mag[4] k[1] x[k]
- آغاز دیباچه (preamble). پارامترها عبارتند از:
- 248 post p[4] num[4] den[4] mag[4] l[4] u[4] s[2] t[2]
- آغاز موخره (postamble). پارامترها عبارتند از:
- 249 post_post q[4] i[1] 223 ... 223
- پایان موخره (postamble). پارامترها عبارتند از:
- 250
- تعریفنشده.
- ...
- 255
- تعریفنشده.
شرح دستورات DTL (DTL COMMAND DESCRIPTION)
یک فایل DTL در هر سطر شامل یک دستور است و هر سطر حداکثر میتواند ۱۰۲۴ نویسه داشته باشد. هر دستور شامل یک نام نمادین برای عملیات است که در پی آن صفر یا چند مقدار پارامتر میآید. شرح مقادیر پارامترها در اینجا تکرار نشده است؛ آنها را میتوان در بخش پیشین یافت.
- variety <variety-name>
- این دستور نام نوع فایل DTL را مشخص میکند؛ این دستور معادلی در فایل DVI ندارد.
- (text)
- مجموعهای از دستورهای set_char، برای متون اسکی (ASCII) قابل چاپ.
- \(
- پرانتز باز لفظی ASCII در (text).
- \)
- پرانتز بسته لفظی ASCII در (text).
- \\
- بکاسلش لفظی ASCII در (text).
- \"
- علامت نقلقول جفتی (double quote) لفظی ASCII در (text).
- \XY
- دستور set_char برای نویسهای با کد هگزادسیمال XY، نه درون پرانتز، بلکه به صورت مستقل برای خوانایی بهتر.
- s1, s2, s2, s3
- دستور Set، با کدهای نویسه (charcodes) ۱، ۲، ۳ یا ۴ بایتی.
- sr
- set_rule.
- p1, p2, p2, p3
- دستور Put، با کدهای نویسه (charcodes) ۱، ۲، ۳ یا ۴ بایتی.
- pr
- put_rule.
- nop
- nop (بدون عملیات).
- bop
- bop (شروع صفحه).
- eop
- eop (پایان صفحه).
- [
- Push (قرار دادن در پشته).
- ]
- Pop (برداشتن از پشته).
- r1, r2, r3, r4
- دستور Right، با آرگومان ۱، ۲، ۳ یا ۴ بایتی.
- w0, w1, w2, w3, w4
- همانند DVI.
- x0, x1, x2, x3, x4
- همانند DVI.
- d1, d2, d3, d4
- دستور Down، با آرگومان ۱، ۲، ۳ یا ۴ بایتی.
- y0, y1, y2, y3, y4
- همانند DVI.
- z0, z1, z2, z3, z4
- همانند DVI.
- fn
- fnt_num (تنظیم فونت فعلی به شماره فونت در بازه 0 تا 63).
- f1, f2, f3, f4
- fnt (تنظیم فونت فعلی به شماره فونت ۱، ۲، ۳ یا ۴ بایتی).
- special
- xxx (دستورهای special با طول رشته ۱، ۲، ۳ یا ۴ بایتی).
- fd
- fnt_def (اختصاص یک شماره به یک فونت نامگذاریشده).
- pre
- دیباچه (Preamble)..TP post post (آغاز پسایند).
- post_post
- post_post (پایان پسایند).
- opcode
- دستور DVI تعریفنشده (250 تا 255).
نمونه فایل DTL (SAMPLE DTL FILE)
فایل ۲ خطی TeX زیر
Hello. \bye
tex hello.tex dv2dt hello.dvi hello.dtl
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
dt2dv hello.dtl hello.dvi
همچنین ببینید (SEE ALSO)
فایلها (FILES)
- *.dvi
- فایل باینری DVI متعلق به TeX.
- *.dtl
- نمایش متنی یک فایل DVI متعلق به TeX در قالب DVI Text Language.
نویسندگان (AUTHORS)
برنامههای dv2dt و dt2dv(1) توسط فرد زیر نوشته شدهاند:
Geoffrey Tobin Department of Electronic Engineering La Trobe University Bundoora, Victoria 3083 Australia Tel: +61 3 479 3736 FAX: +61 3 479 3025 Email: <G.Tobin@ee.latrobe.edu.au>
این صفحههای راهنما در اصل توسط فرد زیر نوشته شدهاند:
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: <beebe@math.utah.edu>
| 08 March 1995 | Version 0.6.0 |