| MKJOBTEXMF(1) | User Contributed Perl Documentation | MKJOBTEXMF(1) |
نام (NAME)
mkjobtexmf - ساخت درخت texmf برای یک پردازش خاص
نسخه (VERSION)
2011-11-10 v0.8
خلاصه دستور (SYNOPSIS)
برنامه mkjobtexmf یک برنامه را اجرا میکند و تلاش مینماید نام پروندههای استفادهشده را بیابد. دو روش در دسترس است: گزینه "-recorder" در TeX (محیط Web2C) یا برنامه strace.
سپس یک دایرکتوری با ساختار درخت texmf تولید میکند. پروندههای یافتهشده را بررسی کرده و تلاش میکند آنها را در این درخت texmf مرتب کند.
این ابزار میتواند برای اهداف بایگانی یا افزایش سرعت اجراهای بعدی TeX به کار رود.
mkjobtexmf [options]
این حالت TeX را اجرا میکند که میتواند توسط گزینهها پیکربندی شود. هر دو روش برای به دست آوردن نام پروندههای استفادهشده در دسترس هستند.
mkjobtexmf [options] -- <cmd> [args]
حالت دوم به جای TeX، برنامه cmd را با آرگومانهای args اجرا میکند. در این حالت تنها برنامه strace به عنوان روش موجود در دسترس است.
گزینهها:
--jobname <name> نام پردازش (اجباری).
معمولاً همان پرونده TeX
بدون پسوند است
--texname <file> پرونده ورودی TeX. پیشفرض
نام پردازش با پسوند '.tex' است
--texopt <option> گزینهای برای اجرای TeX
--destdir <directory> دایرکتوری مقصد،
پیشفرض `<jobname>.mjt' است
--output افزودن پروندههای خروجی
--strace استفاده از strace بهجای گزینه
-recorder در TeX
--copy کپی کردن پروندهها بهجای ایجاد
پیوندهای نمادین
--flat نادیدهگرفتن مسیرها، عدم ساخت دایرکتوری
درون دایرکتوری مقصد
--(no)texhash اجرای texhash، استفاده از --notexhash برای MiKTeX
--exclude-ext <ext> مستثنی کردن پروندههای با پسوند <ext>
--cmd-tex <cmd> دستور کامپایلر TeX
--cmd-kpsewhich <cmd> دستور برای kpsewhich
--cmd-texhash <cmd> دستور برای texhash
--cmd-strace <cmd> دستور برای strace
--verbose خروجی با جزئیات کامل
--help پیام راهنمای کوتاه
--man مستندات کامل
--version چاپ نگارش برنامه
توضیحات (DESCRIPTION)
اجرای برنامه
ابتدا mkjobtexmf یک برنامه، معمولاً TeX، را اجرا میکند. کامپایلر TeX با گزینه "--cmd-tex" پیکربندی میشود. اگر پسوند نام پرونده با .tex تفاوت داشته باشد، میتوان از گزینه "--texname" استفاده کرد:
mkjobtexmf --jobname foo --texname foo.ltx
حتی موارد پیچیدهتر نیز امکانپذیر است:
mkjobtexmf --jobname foo --texname '\def\abc{...}\input{foo}'
اگر برنامهای غیر از TeX باید استفاده شود (dvips و...)، میتوان این برنامه را پس از "--" قرار داد:
mkjobtexmf --jobname foo -- dvips foo
ثبت پروندهها
دو روش برای دستیابی به نام پروندههای استفادهشده در دسترس است:
- ثبتکننده TeX
- برخی توزیعهای TeX (مانند Web2C) از گزینه -recorder برای کامپایلرهای TeX خود پشتیبانی میکنند. در این حالت کامپایلر TeX پروندهای با پسوند .fls تولید میکند که پروندههای ورودی و خروجیِ استفادهشده را ثبت مینماید.
- برنامه strace
- این برنامه
فراخوانهای
سیستمی و
سیگنالها
را ردگیری
میکند. در
اینجا برای
ثبت
پروندههای
استفادهشده
به کار
میرود.
تحلیل و پیوند/کپی پروندههای یافتهشده
دایرکتوری نتیجه jobname.mjt ایجاد میشود. در داخل آن، درخت TEXMF خروجی ساخته میشود. هر پروندهٔ یافتهشده در برابر فهرستی از مسیرهای درختهای TEXMF مقایسه میگردد. در صورت یافتن تطابق، پرونده به درخت TEXMF پیوند داده یا کپی میشود. فهرست مسیرها توسط برنامه kpsewhich تولید میگردد.
اگر پرونده نتواند به یک درخت TEXMF نگاشت شود و نام پرونده نسبی باشد، مستقیماً به داخل دایرکتوری نتیجه jobname.mjt پیوند داده یا کپی میشود. نامهای پرونده مطلق و همچنین مسیرهای حاوی پیوند به دایرکتوریهای والد پشتیبانی نمیشوند.
پیوندهای نمادین بهطور پیشفرض ایجاد میشوند. اگر گزینه "--copy" داده شود یا پیوند نمادین در دسترس نباشد، پروندهها کپی خواهند شد.
گزینهها (OPTIONS)
- --jobname=<jobname>
- نام پردازش است. `<jobname>.tex' بهعنوان مقدار پیشفرض پرونده TeX به کار میرود و <jobname> برای نامگذاری دایرکتوریها و پروندههای گوناگون استفاده میشود. بخش "فایلها (FILES)" را ببینید.
- --texname=<name>
- نام پرونده ورودی TeX، در صورتی که با <jobname>.tex تفاوت داشته باشد.
- --texopt=<opt>
- گزینه اضافی برای کامپایلر TeX؛ نمونهها عبارتند از "--ini" یا "--shell-escape". این گزینه میتواند بیش از یک بار مشخص شود.
- --destdir=<directory>
- نام دایرکتوری مقصدی را که نتیجه در آن جمعآوری میشود تعیین میکند. بهطور پیشفرض دایرکتوریای با نام پردازش و پسوند `.mjt' در دایرکتوری جاری تولید میگردد.
- --output
- پروندههای خروجی را نیز اضافه میکند.
- --strace
- استفاده از روش مبتنی بر برنامه strace؛ بخش "توضیحات (DESCRIPTION)" را ببینید.
- --copy
- پروندهها به جای ایجاد پیوند نمادین، کپی میشوند.
- --flat
- پروندهها
بدون اجزای
مسیر پیوند
یا کپی
میشوند.
دایرکتوری
مقصد شامل
فهرستی
یکدست از
پروندهها
یا پیوندها
بدون هیچ
دایرکتوریای
خواهد بود.
پروندههای `ls-R' و `aliases' نادیده گرفته میشوند.
- --exclude-ext=<ext>
- پروندههای
با پسوند
<ext> مستثنی
میشوند.
این گزینه
میتواند
چندین بار
مشخص شود یا
میتوان از
فهرستی از
پسوندها که
با کاما از
هم جدا
شدهاند
استفاده
کرد.
نمونهها:
--exclude-ext aux --exclude-ext log --exclude-ext toc
یکسان است با
--exclude-ext aux,log,toc
- --(no)texhash
- بهطور پیشفرض پرونده `ls-R' در درخت `texmf' تولید میشود، زیرا این همان پایگاهداده نام پروندهها است که ممکن است در TeX Live استفاده شود. از آنجا که MiKTeX از سازوکار متفاوتی استفاده میکند، دستور `texhash' آن پروندههای `ls-R' را تولید نکرده و "--notexhash" فراخوانی `texhash' را غیرفعال میسازد.
- --cmd-tex=<cmd>
- دستور مربوط به کامپایلر TeX. مقدار پیشفرض pdflatex است.
- --cmd-kpsewhich=<cmd>
- دستور برای kpsewhich.
- --cmd-texhash=<cmd>
- دستور برای بهروزرسانی پایگاهداده نام پروندهها در درخت texmf تولیدشده. مقدار پیشفرض texhash است.
- --cmd-strace=<cmd>
- دستور برای strace.
- --verbose
- نمایش پیامها با جزئیات کامل.
- --help
- نمایش پیام راهنما.
- --man
- چاپ صفحه راهنما.
- --version
- چاپ نسخه برنامه و خروج.
مثالها (EXAMPLES)
پرونده TeX با نام test.tex با استفاده از روش ثبتکننده TeX:
mkjobtexmf --jobname test
پرونده TeX با نام test.tex با استفاده از LaTeX:
mkjobtexmf --jobname test --cmd-tex latex
تولید قالب (Format):
mkjobtexmf --jobname test --texopt -ini --texname pdflatex.ini
نمونهای از نحوه استفاده از درخت جدید texmf (لینوکس/bash):
TEXMF=!!test.mjt/texmf pdflatex test
نمونه ایجاد بایگانی zip (لینوکس/bash):
(cd test.mjt && zip -9r ../test .)
نمونه ایجاد بایگانی tar:
tar cjhvf test.tar.bz2 -C test.mjt .
مسائل حلنشده، هشدارها و کارهای آینده (UNSOLVED ISSUES, CAVEATS, TODOS)
- نرمافزار آزمایشی
- گزینهها، مقادیر پیشفرض و نحوه عملکرد برنامه ممکن است در نگارشهای آینده تغییر کنند.
- texmf.cnf
- در حال حاضر روش با strace این پروندهها را ثبت میکند، اما ثبتکننده TeX این کار را انجام نمیدهد. پروندههای texmf.cnf برای تنظیمات متغیرها مفید هستند. از آنجا که تنها یک درخت TEXMF داریم، احتمالاً بخشهای مسیر باید بازنویسی شوند.
- تنظیمات در متغیرهای محیطی
- به هیچ وجه ذخیره نمیشوند.
- تداخلها
- برنامه از
یک
دایرکتوری
مقصد و
حداکثر یک
درخت TEXMF برای
نتیجه
استفاده
میکند. با
این حال
پروندههای
مبدأ
میتوانند
از
دایرکتوریها
و درختهای
TEXMF متفاوتی
بیایند.
بنابراین
تداخل
نامها
محتمل است.
برنامه از این راهبرد پیروی میکند که پروندههای موجود در دایرکتوری مقصد را حذف نکند. این موضوع امکان جمعآوری پروندهها از اجراهای گوناگون را فراهم میسازد. بنابراین تداخلها به این صورت حل میشوند که نخستین ورودی ایجادشده در دایرکتوری مقصد اولویت دارد.
- پرونده پیکربندی
- کاربر را از تایپ مکرر گزینههای مشابه بینیاز میکند.
- ثبت ناقص
- ایرادات در ثبت پروندههای TeX ممکن است به ثبت ناقص پرونده منجر شود (برای نمونه pdfTeX 1.40.3 پروندههای .pfb و .pk را ثبت نمیکند).
- ...
فایلها (FILES)
- <jobname>.mjt/
- دایرکتوریای که درخت texmf حاصل و پیوندهای نمادین در آن ذخیره میشوند. با گزینه "--destdir" قابل تغییر است.
- <jobname>.fls
- نام پرونده ثبتکننده TeX.
- <jobname>.strace
- پرونده گزارشی (لاگ) که نتیجه strace در آن ذخیره میشود.
نویسنده (AUTHOR)
Heiko Oberdiek, email: heiko.oberdiek at googlemail.com
حق نشر و مجوز (COPYRIGHT AND LICENSE)
حق نشر ۲۰۰۷، ۲۰۰۸، ۲۰۱۱ توسط Heiko Oberdiek.
این کتابخانه یک نرمافزار آزاد است؛ میتوانید آن را تحت همان شرایط پرل (مجوز هنری پرل/مجوز عمومی گنو GPL نگارش ۲) بازتوزیع کرده یا تغییر دهید.
تاریخچه (HISTORY)
- 2007/04/16 v0.1
- * نخستین نگارش آزمایشی.
- 2007/05/09 v0.2
- * رفع غلط املایی در نام گزینه.
- 2007/09/03 v0.3
- * گزینههای جدید: "--copy", "--flat", "--destdir"
- 2007/09/04 v0.4
- * رفع باگ در map_files_texmf.
- 2007/09/06 v0.5
- * افزودن پشتیبانی از `configure'. (با تشکر از Norbert Preining برای نوشتن نخستین نسخه پیکربندی.)
- 2008/04/05 v0.6
- * رفع اشکال جزئی در هدف `uninstall' در پرونده `Makefile.in'. (با تشکر از Karl Berry)
- 2008/06/28 v0.7
- * رفع اشکال برای گزینه ناشناخته `"--cmd-strace"'. (با تشکر از Juho Niemelä)
- 2011/11/10 v0.8
- * حذف دونقطه از مشخصات درایو هنگام ساخت دایرکتوریها.
- * گزینه "--(no)texhash" اضافه شد.
- * پشتیبانی نسبی از MiKTeX (با تشکر از Ulrike Fischer).
- * اصلاحات گوناگون در تولید مستندات.
- * گزینههای "--exclude-ext" و "--version" اضافه شدند.
| 2011-11-10 v0.8 | perl v5.8.1 |