ETEX(1) General Commands Manual ETEX(1)

etex - نگارش گسترش‌یافته TeX (ساده)

etex [options] [&format] [file|\commands]

اجرای حروف‌چین e-TeX بر روی file، که به‌طور پیش‌فرض file.dvi را ایجاد می‌کند. اگر آرگومان file هیچ پسوندی نداشته باشد، «.tex» به آن افزوده خواهد شد. به‌جای نام فایل، می‌توان مجموعه‌ای از دستورهای e-TeX را وارد کرد که نخستینِ آن‌ها باید با یک بک‌اسلش (\) آغاز شود. با یک آرگومان &format برنامه e-TeX از مجموعه متفاوتی از دستورهای از پیش کامپایل‌شده استفاده می‌کند که در format.fmt قرار دارند؛ معمولاً بهتر است به‌جای آن از گزینه -fmt format استفاده شود.

برنامه e-TeX نخستین دستاورد ملموس از یک پروژه پژوهش و توسعه بین‌المللی به‌نام «پروژه NTS» است که در سال ۱۹۹۲ تحت حمایت DANTE e.V. پایه‌گذاری شد. اهداف این پروژه، تداوم و توسعه روح و فلسفه TeX در عین احترام به خواسته Knuth مبنی بر دست‌نخورده (منجمد) ماندن TeX است.

برنامه e-TeX می‌تواند در دو حالت مختلف به کار رود: در compatibility mode انتظار می‌رود کاملاً با TeX استاندارد قابل تعویض باشد. در extended mode چندین دستور اولیه (primitive) جدید افزوده شده‌اند که (در میان موارد دیگر) حروف‌چینی دوجهته را تسهیل می‌کنند.

یک قالب در حالت extended mode با قرار دادن یک ستاره (*) در ابتدای نام فایل منبعِ قالب تولید می‌شود.

مدیریت آرگومان‌های خط فرمان توسط e-TeX مشابه سایر برنامه‌های TeX در پیاده‌سازی web2c است.

این نسخه از e-TeX گزینه‌های خط فرمان زیر را می‌پذیرد.

استفاده از format به‌عنوان نام قالب مورد استفاده، به‌جای نامی که e-TeX با آن فراخوانی شده یا خط %&.
فعال‌سازی افزونه‌های encTeX. این گزینه تنها در ترکیب با -ini مؤثر است. برای مستندات افزونه‌های encTeX به http://www.olsak.net/enctex.html مراجعه کنید.
فعال‌سازی افزونه‌های e-TeX. این گزینه تنها در ترکیب با -ini مؤثر است.
چاپ پیام‌های خطا در قالب file:line:error، مشابه شیوه‌ای که بسیاری از کامپایلرها آن‌ها را قالب‌بندی می‌کنند.
غیرفعال‌سازی چاپ پیام‌های خطا به شیوه file:line:error.
این نام قدیمی گزینه -file-line-error است.
خروج با یک کد خطا در صورت برخورد با خطا هنگام پردازش.
چاپ پیام راهنما و خروج.
شروع در حالت INI، که برای ذخیره و ایجاد خروجی قالب‌ها (dump formats) به کار می‌رود. حالت INI می‌تواند برای حروف‌چینی استفاده شود، اما هیچ قالبی از پیش بارگذاری نشده است و ممکن است مقداردهی‌های اولیه اساسی مانند تنظیم catcodeها لازم باشد.
تنظیم حالت تعامل (interaction mode). این حالت می‌تواند یکی از موارد batchmode، nonstopmode، scrollmode و errorstopmode باشد. مفهوم این حالت‌ها همانند دستورهای \ متناظر آن‌ها است.
ارسال خروجی DVI به یک سوکت علاوه بر فایل خروجی معمول. در دسترس بودن این گزینه به انتخاب نصاب بستگی دارد.
همانند -ipc، همچنین سرور را در طرف دیگر نیز راه‌اندازی می‌کند. در دسترس بودن این گزینه به انتخاب نصاب بستگی دارد.
استفاده از name برای نام کار (job name)، به‌جای استخراج آن از نام فایل ورودی.
تنظیم پرچم‌های اشکال‌زدایی جستجوی مسیر بر اساس ماسک بیتی (bitmask). برای جزئیات به دفترچه راهنمای Kpathsea مراجعه کنید.
فعال‌سازی mktexfmt، که در آن fmt باید tex یا tfm باشد.
فعال‌سازی افزونه‌های MLTeX. تنها در ترکیب با -ini مؤثر است.
غیرفعال‌سازی mktexfmt، که در آن fmt باید tex یا tfm باشد.
استفاده از string برای توضیح فایل DVI به‌جای درج تاریخ.
نوشتن فایل‌های خروجی در directory به‌جای دایرکتوری جاری. فایل‌های ورودی ابتدا در directory و سپس در طول مسیر جستجوی عادی بررسی می‌شوند.
اگر خط نخست فایل ورودی اصلی با %& آغاز شود، آن را برای یافتن نام dump یا گزینه -translate-file تجزیه می‌کند.
غیرفعال‌سازی تجزیه خط نخست فایل ورودی اصلی..TP -progname name وانمود کردن به این‌که برنامهٔ name است. این کار هم بر قالب استفاده‌شده و هم بر مسیرهای جستجو اثر می‌گذارد.
فعال‌سازی ثبت‌کنندهٔ نام فایل. این گزینه ردپایی از فایل‌های بازشده برای ورودی و خروجی را در فایلی با پسوند .fls بر جای می‌گذارد.
فعال‌سازی ساختار \write18{command}. آرگومان command می‌تواند هر دستور شلی باشد. این ساختار معمولاً به دلایل امنیتی غیرمجاز است.
غیرفعال‌سازی ساختار \write18{command}، حتی اگر در فایل texmf.cnf فعال شده باشد.
درج source specialها در فایل DVI.
درج source specialها در مکان‌های معینی از فایل DVI. آرگومان where فهرستی از مقادیر جداشده با کاما است: cr، display، hbox، math، par، parent یا vbox.
استفاده از جدول ترجمهٔ tcxname برای تنظیم نگاشت نویسه‌های ورودی و نگاشت مجدد نویسه‌های خروجی.
مشابه -translate-file با این تفاوت که یک خط حاوی %& می‌تواند این تنظیم را نادیده بگیرد و جایگزین کند.
نمایش اطلاعات نسخه و خروج.

برای جزئیات دقیق درباره نحوهٔ استفاده از متغیرهای محیطی، مستندات کتابخانهٔ Kpathsearch (گره «Path specifications») را ببینید. از ابزار kpsewhich می‌توان برای پرس‌وجوی مقادیر متغیرها استفاده کرد.

یک نکتهٔ مهم: در بیشتر قالب‌های e-TeX، نمی‌توانید از نویسهٔ ~ در نام فایلی که مستقیماً به e-TeX می‌دهید استفاده کنید، زیرا ~ یک نویسهٔ فعال است و بنابراین بسط می‌یابد، نه این‌که بخشی از نام فایل به شمار آید. برنامه‌های دیگر، مانند Metafont این مشکل را ندارند.

به‌طور معمول، e-TeX فایل‌های خروجی خود را در دایرکتوری جاری قرار می‌دهد. اگر هر یک از فایل‌های خروجی در آنجا قابل باز شدن نباشد، تلاش می‌کند آن را در دایرکتوری مشخص‌شده در متغیر محیطی TEXMFOUTPUT باز کند. هیچ مقدار پیش‌فرضی برای این متغیر وجود ندارد. برای مثال، اگر دستور etex paper را وارد کنید و دایرکتوری جاری قابل نوشتن نباشد، چنانچه TEXMFOUTPUT دارای مقدار /tmp باشد، e-TeX تلاش می‌کند فایل /tmp/paper.log (و در صورت تولید هرگونه خروجی، /tmp/paper.dvi) را ایجاد کند. همچنین TEXMFOUTPUT برای فایل‌های ورودی نیز بررسی می‌شود، زیرا TeX اغلب فایل‌هایی تولید می‌کند که باید پس از آن خوانده شوند؛ برای ورودی، هیچ پسوندی (مانند «.tex») به‌طور پیش‌فرض اضافه نمی‌شود و نام ورودی صرفاً همان‌طور که داده شده بررسی می‌شود.
مسیر جستجو برای فایل‌های \input و \openin. این مقدار باید با «.» شروع شود تا فایل‌های کاربر پیش از فایل‌های سیستمی پیدا شوند. یک بخش خالی در مسیر، با مسیرهای تعریف‌شده در فایل texmf.cnf جایگزین خواهد شد. برای مثال، تنظیم TEXINPUTS روی ".:/home/user/tex:" دایرکتوری جاری و «/home/user/tex» را به ابتدای مسیر جستجوی استاندارد اضافه می‌کند.
مسیر جستجو برای فایل‌های قالب (format).
مسیر جستجو برای رشته‌های درونی etex.
الگوی دستور برای جابه‌جایی به ویرایشگر. مقدار پیش‌فرض، که معمولاً vi است، هنگام کامپایل e-TeX تنظیم می‌شود.
مسیر جستجو برای فایل‌های متریک قلم (.tfm). محل فایل‌های ذکرشده در زیر از سیستمی به سیستم دیگر متفاوت است. برای یافتن محل آن‌ها از ابزار kpsewhich استفاده کنید.
فایل متنی حاوی رشته‌های داخلی e-TeX.
تعاریف نگاشت نام فایل.
*.tfm
فایل‌های متریک برای قلم‌های e-TeX.
*.fmt
فایل‌های قالب (.fmt) از پیش پردازش‌شدهٔ e-TeX.

از نسخهٔ 1.40 به بعد، pdfTeX افزونه‌های e-TeX را در بر دارد، بنابراین در این نصب، eTeX ممکن است تنها یک پیوند نمادین به pdfTeX باشد. به pdftex(1) مراجعه کنید. این صفحهٔ راهنما قرار نیست جامع باشد. مستندات کامل برای این نسخه از e-TeX را می‌توان در کتابچهٔ راهنمای info با عنوان Web2C: A TeX implementation یافت.

این نسخه از e-TeX چندین افزونهٔ اختیاری را پیاده‌سازی می‌کند. در واقع، بسیاری از این افزونه‌ها تا حدی کم یا زیاد با تعریف e-TeX در تضاد هستند. هنگامی که چنین افزونه‌هایی فعال باشند، اعلان چاپ‌شده هنگام شروع e-TeX تغییر می‌یابد تا به جای e-TeX عبارت e-TeXk را چاپ کند.

این نسخه از e-TeX در به دام انداختن سرریز محاسباتی هنگام جمع یا تفریق ابعاد ناموفق است. مواردی که این رخ می‌دهد نادر است، اما در صورت وقوع، فایل DVI تولیدشده نامعتبر خواهد بود.

pdftex(1), tex(1), mf(1).

برنامهٔ e-TeX توسط Peter Breitenlohner و تیم NTS توسعه داده شد؛ Peter بعداً توسعهٔ آن را خارج از تیم ادامه داد.

سامانهٔ TeX توسط Donald E. Knuth طراحی شد، که آن را با استفاده از سامانهٔ Web خود برای برنامه‌های Pascal پیاده‌سازی کرد. این برنامه در Stanford توسط Howard Trickey، و در Cornell توسط Pavel Curtis به Unix پورت شد. نسخه‌ای که اکنون همراه با توزیع Unix TeX ارائه می‌شود، توسط سامانهٔ Web به C (web2c) تولید شده است که در اصل توسط Tomas Rokicki و Tim Morgan نوشته شده بود.

افزونه‌های encTeX توسط Petr Olsak نوشته شده‌اند.

1 March 2011 Web2C 2015