dtxgen(1) DekDoc scripts dtxgen(1)

dtxgen - تولید قالب برای پرونده‌های خوداستخراج‌کنندهٔ dtx. در LaTeX

dtxgen [options] basename.[sty,cls]

-h,--help

چاپ راهنمای کوتاه و خروج
-H,--Help
چاپ مستندات کامل از طریق less و خروج
-V
چاپ نسخه و خروج
-s,--short=X
تنظیم توضیح کوتاه و یک‌خطی بسته روی X
-v,--version=X
تنظیم نسخهٔ اولیه روی X.
پیش‌فرض: 1.00
-d,--date=X
تنظیم تاریخ نسخهٔ اولیه روی X.
پیش‌فرض: تاریخ جاری
-m,--mail=X
تنظیم نشانی رایانامهٔ شما روی X.
پیش‌فرض: $EMAIL
-n,--name=X
تنظیم نام شما روی X.
پیش‌فرض: $NAME
-c,--class=X
(تنها برای بسته‌های کلاس) تنظیم کلاسی که باید از پیش بارگذاری شود روی X.
پیش‌فرض: article
-f,--format=X
تنظیم قالب latex مورد استفاده برای کامپایل روی X.
پیش‌فرض: pdflatex
-b,--body=X
سبک یا کلاس موجود X برای استفاده به جای پیش‌نمایش
-i,--history
جایگزینی بخش استاندارد Change History با بخشی ساده‌تر.

برنامهٔ dtxgen یک قالب برای پرونده‌های dtx. خوداستخراج‌کننده، بر اساس مدل شرح داده شده توسط Joseph Wright در (www.texdev.net20091006a-model-dtx-file) ایجاد می‌کند. این برنامه برای کسانی که قصد ایجاد یک پروندهٔ منبع مستندسازی‌شدهٔ لاتک (.dtx یا Documented LaTeX Source) جدید دارند مفید است.

مثال کاربرد:


dtxgen -n 'your name' -m 'your@email.ad' myclass.cls

این اسکریپت متغیرهایی مانند:

‣
نام و نشانی رایانامهٔ نویسنده،
‣
توضیحی کوتاه دربارهٔ کلاس یا بسته‌ای که از پروندهٔ dtx. تولید می‌شود،
‣
یک تاریخ

را از متغیرهای محیطی یا از گزینه‌های خط فرمان دریافت کرده و در کنار موارد دیگر، قالبی برای پروندهٔ dtx. به همراه چند مثال کمینه ایجاد می‌کند. البته کاربر باید آن مثال‌ها را با کار واقعی خود جایگزین کند، اما تاریخ‌ها، نام پایه (basename)، نام نویسنده و نشانی رایانامه از پیش در جای خود قرار دارند و بسته به این که در آرگومان از پسوند cls. یا sty. استفاده کرده باشید، قالب‌بندی آن متناسب با پروندهٔ منبع یک کلاس یا بسته انجام می‌شود.

اگر در محیط خود نام و نشانی رایانامه‌تان را در متغیرهای NAME و EMAIL تعریف کرده باشید، می‌توانید به سادگی دستور زیر را اجرا کنید:


dtxgen myclass.cls

و در نهایت پنج پرونده دریافت خواهید کرد: myclass.dtx، myclass.cls، myclass.pdf، README.md و Makefile.

دستور dtxgen گزینه‌های زیر را تشخیص می‌دهد:

-h,--help

اطلاعات راهنما را چاپ کرده و خارج می‌شود.
-H,--Help
مستندات کامل را از طریق less چاپ کرده و خارج می‌شود.
-V
نسخهٔ اسکریپت را چاپ کرده و خارج می‌شود.
-s,--short=X توضیحی کوتاه و یک‌خطی برای کلاس یا بسته. به‌طور پیش‌فرض، رشتهٔ /A new LaTeX class/ یا /A new LaTeX package/ استفاده خواهد شد.

-n,--name=X نام شما (نام کوچک و به دنبال آن نام خانوادگی). همچنین، می‌توانید یک مقدار پیش‌فرض در متغیر محیطی |NAME| تنظیم کنید؛ اگر چنین کنید و همچنان از این گزینه استفاده نمایید، مقدار این گزینه اولویت خواهد داشت.

-m,--mail=X نشانی رایانامهٔ شما. همچنین، می‌توانید یک مقدار پیش‌فرض در متغیر محیطی |EMAIL| تنظیم کنید؛ اگر چنین کنید و همچنان از این گزینه استفاده نمایید، مقدار این گزینه اولویت خواهد داشت.

-c,--class=X تنها برای قالب‌های کلاس: یک |

-v,--version=X تنظیم نسخهٔ اولیه؛ به‌طور پیش‌فرض از 1.00 استفاده خواهد شد.

-d,--date=X تنظیم تاریخ نسخهٔ اولیه. به‌طور پیش‌فرض، از تاریخ جاری استفاده خواهد شد. تاریخ باید در قالب |yyyymmdd| وارد شود، هرچند به شیوهٔ LaTeX ذخیره خواهد شد: |yyyy/mm/dd|.

-f,--format=X قالب Latex مورد استفاده برای کامپایل. پیش‌فرض pdflatex است، اما ممکن است به قالب دیگری مانند xelatex یا lualatex نیاز داشته باشید.

-i,--history

ایجاد بخش History به جای بخش استاندارد Change History. بخش استاندارد Change History امکان گزارش‌های بسیار مفصل را فراهم می‌کند، اما بیشتر افراد خود را به نکات کلی دربارهٔ تغییرات میان نسخه‌ها محدود می‌کنند که در یک بخش از سند ظاهر می‌شود. گزینهٔ --history یک بخش تاریخچهٔ سرراست فراهم می‌کند که در محیط longtable قالب‌بندی شده است.

از Makefile می‌توان برای کامپایل نسخه‌های جدید کار خود استفاده کرد؛ این پرونده شامل هدف‌های (target) زیر است:

all

(پیش‌فرض) تولید پروندهٔ سبک یا کلاس،
مستندات pdf و یک پروندهٔ README.md.
distclean
حذف تمام پرونده‌هایی که امکان تولید مجدد آن‌ها وجود دارد،
clean
مشابه قبلی، به جز پروندهٔ سبک یا کلاس،
مستندات pdf و یک پروندهٔ README.md.
inst
نصب در درخت TeX کاربر،
install
نصب در درخت TeX محلی (از sudo استفاده می‌کند)
zip
تولید یک پروندهٔ zip آماده برای بارگذاری در CTAN

Wybo Dekker (wybodekker@me.com)

تحت مجوز عمومی همگانی گنو (GNU General Public License) منتشر شده است (www.gnu.orgcopyleftgpl.html)

July 31, 2025 dtxgen version 1.09