TEXPROF(1) General Commands Manual TEXPROF(1)

texprof - پروفایلری برای فایل‌های منبع TeX

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

پروفایلر TeX را بر روی file اجرا می‌کند، که معمولاً موجب ایجاد file.dvi و file.tprof می‌گردد. اگر آرگومان file فاقد پسوند باشد، «.tex» به انتهای آن افزوده خواهد شد. به جای نام فایل، می‌توان فهرستی از دستورات TeX را ارائه داد که نخستین آن‌ها باید با یک بک‌اسلش آغاز شود. با یک آرگومان &format ، پروفایلر TeX از مجموعهٔ متفاوتی از دستورات از پیش کامپایل‌شدهٔ موجود در format.fmt استفاده می‌کند؛ هرچند معمولاً بهتر است به جای آن از گزینهٔ -fmt format استفاده شود.

پروفایلر TeX نسخه‌ای از TeX است که زمان مورد نیاز TeX را برای اجرای هر یک از خطوط ورودی یا ماکروها اندازه می‌گیرد. این برنامه داده‌های جمع‌آوری‌شده را در فایلی با پسوند .tprof می‌نویسد. برنامهٔ جداگانه‌ای به نام texprofile (ببینید: texprofile(1)) برای نمایش محتوای یک فایل .tprof به شکلی خوانا استفاده می‌شود.

کاربرد معمول پروفایلر TeX همراه با قالب‌های از پیش تولیدشده است. دستور texprof از قالبی معادل با plain TeX استفاده می‌کند و دستور latexprof از قالبی معادل با LaTeX بهره می‌برد. برای بررسی زمان‌بندی ماکروهای مختص pdftex یا pdflatex، می‌توانید از pdftexprof یا pdflatexprof استفاده کنید.

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

این نسخه از پروفایلر TeX گزینه‌های خط فرمان زیر را پشتیبانی می‌کند.

تجزیه string به عنوان یک خط پیکربندی texmf.cnf. دفترچه راهنمای Kpathsea را ببینید.
فعال‌سازی افزونه‌های e-TeX. این گزینه فقط در ترکیب با -ini مؤثر است. etex(1) را ببینید.
چاپ پیام‌های خطا در قالب file:line:error که مشابه شیوه قالب‌بندی بسیاری از کامپایلرها است.
غیرفعال‌سازی چاپ پیام‌های خطا در قالب file:line:error.
استفاده از format به عنوان نام فرمت مورد استفاده، به جای نامی که پروفایلر TeX با آن فراخوانی شده یا یک خط %&.
نمایش پیام راهنما و خروج.
شروع در حالت INI، که برای ذخیره رونوشت (dump) فرمت‌ها استفاده می‌شود. حالت INI می‌تواند برای حروف‌چینی استفاده شود، اما هیچ فرمتی از پیش بارگذاری نمی‌شود و ممکن است مقداردهی‌های اولیه اساسی مانند تنظیم catcodeها لازم باشد.
تنظیم حالت تعاملی. این حالت می‌تواند یکی از مقادیر batchmode، nonstopmode، scrollmode یا errorstopmode باشد. معنای این حالت‌ها مشابه دستورات (\commands) متناظر آن‌ها است.
استفاده از name برای نام کار (job name)، به جای استخراج آن از نام فایل ورودی.
تنظیم پرچم‌های اشکال‌زدایی جستجوی مسیر با توجه به bitmask. برای جزئیات به دفترچه راهنمای Kpathsea مراجعه کنید.
فعال‌سازی افزونه‌های LaTeX. این گزینه تنها در ترکیب با -ini مؤثر است. latex(1) را ببینید.
فعال‌سازی mktexfmt، که در آن fmt باید یکی از مقادیر tex، tfm، fmt یا pk باشد.
غیرفعال‌سازی mktexfmt، که در آن fmt باید یکی از مقادیر tex، tfm، fmt یا pk باشد.
نوشتن فایل‌های خروجی در directory به جای دایرکتوری جاری. جستجوی فایل‌های ورودی ابتدا در directory و سپس در امتداد مسیر جستجوی عادی انجام می‌شود.
اگر اولین خط از فایل ورودی اصلی با %& شروع شود، برای یافتن نام dump تجزیه می‌شود.
غیرفعال‌سازی تجزیه اولین خط از فایل ورودی اصلی.
فعال‌سازی شبیه‌سازی دستورات اولیه رایج pdftex. این گزینه به گزینه -ini نیاز دارد و متضمن گزینه -ltx است. pdftex(1) را ببینید.
فعال‌سازی تحلیل کارایی (profiling) به محض ورود TeX به حلقه اصلی. اگر از این گزینه استفاده نشود، تحلیل کارایی باید با استفاده از دستور اولیه \profileon فعال گردد. همچنین می‌توان تحلیل کارایی را با دستور اولیه \profileoff خاموش کرد.
عمل کردن در قالب برنامه name. این امر بر فرمت مورد استفاده و مسیرهای جستجو تأثیر می‌گذارد.
نمایش اطلاعات نسخه و خروج. برای جزئیات دقیق چگونگی استفاده از متغیرهای محیطی، به مستندات کتابخانهٔ Kpathsea (برای نمونه، گره «Path specifications») مراجعه کنید. از ابزار kpsewhich می‌توان برای پرس‌وجوی مقادیر متغیرها استفاده کرد.
به‌طور معمول، TeX فایل‌های خروجی خود را در دایرکتوری جاری قرار می‌دهد. اگر هر یک از فایل‌های خروجی در آنجا باز نشوند، تلاش می‌کند آن را در دایرکتوری مشخص‌شده در متغیر محیطی TEXMFOUTPUT باز کند. هیچ مقدار پیش‌فرضی برای این متغیر وجود ندارد. برای مثال، اگر دستور texprof paper را اجرا کنید و دایرکتوری جاری قابل نوشتن نباشد و متغیر TEXMFOUTPUT دارای مقدار /tmp باشد، TeX تلاش می‌کند فایل‌های /tmp/paper.log ، /tmp/paper.dvi ، و /tmp/paper.tprof را ایجاد کند. متغیر TEXMFOUTPUT برای فایل‌های ورودی نیز بررسی می‌شود، زیرا TeX اغلب فایل‌هایی تولید می‌کند که پس از آن باید خوانده شوند؛ برای ورودی، هیچ پسوندی (مانند «.tex») به‌طور پیش‌فرض افزوده نمی‌شود و نام ورودی صرفاً به همان صورتی که داده شده بررسی می‌شود.
مسیر جستجو برای فایل‌های \input و \openin. این مسیر معمولاً با «.» آغاز می‌شود تا فایل‌های کاربر پیش از فایل‌های سیستمی پیدا شوند. یک مؤلفهٔ خالی در مسیر با مسیرهای تعریف‌شده در فایل texmf.cnf جایگزین خواهد شد. برای مثال، TEXINPUTS را روی ".:/home/user/tex:" تنظیم کنید تا دایرکتوری جاری و «/home/user/tex» به ابتدای مسیر جستجوی استاندارد افزوده شوند.
مسیر جستجو برای فایل‌های format.
مسیر جستجو برای فایل‌های سنجهٔ قلم (.tfm).
اگر تنظیم شود، مقدار آن بر حسب ثانیه‌های مبدأ (epoch-seconds) در نظر گرفته شده و برای تاریخ ایجاد و به عنوان لحظهٔ مرجع برای دستورهای اولیه مرتبط با زمان در LaTeX استفاده خواهد شد. این متغیر برای ساخت‌های بازتولیدپذیر (reproducible builds) مفید است.
اگر روی مقدار "1" تنظیم شود، دستورهای اولیه مرتبط با زمان در TeX (\year، \month، \day، \time) نیز از مقدار SOURCE_DATE_EPOCH مقداردهی اولیه می‌شوند. در صورت وجود هرگونه جایگزین امکان‌پذیر، استفاده از این روش توصیه نمی‌شود.

متغیرهای محیطی بسیار بیشتری در رابطه با جستجوی مسیر ممکن است بررسی شوند. راهنمای Kpathsea را ببینید.

محل فایل‌های ذکرشده در زیر از سیستمی به سیستم دیگر متفاوت است. از ابزار kpsewhich برای یافتن محل آن‌ها استفاده کنید.

*.tfm
فایل‌های سنجه (metric) برای قلم‌های TeX.
*.fmt
فایل‌های format پیش‌پردازش‌شدهٔ TeX.
*.pk *.pfb
فایل‌های قلم مورد استفادهٔ TeX. این صفحهٔ راهنما جامع نیست. مستندات کامل برای پروفایلر TeX را می‌توان در texprof.pdf یافت. اطلاعات بیشتر را می‌توان در راهنمای Kpathsea library پیدا کرد.

این نسخه از پروفایلر TeX تمامی دستورهای اولیه‌ای (primitives) را که pdftex ارائه می‌دهد پیاده‌سازی نمی‌کند، و علاوه بر این، اثرهای جانبی یکسانی تولید نخواهد کرد.

پروفایلر TeX باید روی طیف گسترده‌ای از معماری‌های ماشین و سیستم‌عامل‌ها کامپایل شود. تابع مورد استفاده برای دریافت اطلاعات زمان‌بندی، مختص POSIX است.

سورس‌کدهای پروفایلر TeX در آدرس زیر میزبانی می‌شوند: https://github.com/ruckertm/HINT

texprofiler(1)، tex(1)، latex(1)، pdftex(1)، pdflatex(1) و kpsewhich(1).

نویسندهٔ اصلی پروفایلر TeX، Martin Ruckert است، همراه با افزونه‌های eTeX توسط Peter Breitenlohner، افزونه‌های LaTeX توسط Thierry Laronde، و کتابخانهٔ kpathsearch توسط Karl Berry.

TeX توسط Donald E. Knuth طراحی شده است، کسی که آن را با استفاده از سیستم Web خود برای برنامه‌های Pascal پیاده‌سازی کرد.

افراد بسیار بیشتری در این سامانه حروف‌چینی که امروزه به نام TeX شناخته می‌شود مشارکت کرده‌اند؛ بسیار بیشتر از آن که بتوان نام همهٔ آن‌ها را در اینجا آورد.

2 September 2024 Version 1.0