.TH LUATEX 1 "14 February 2026" "Web2C 2026" .\"===================================================================== .if t .ds TX \fRT\\h'-0.10m'\\v'0.17v'E\\v'-0.17v'\\h'-0.06m'X\fP .if n .ds TX TeX .\"===================================================================== .SH "نام (NAME)" luatex, dviluatex, luahbtex, luajithbtex, luajittex, texlua, texluac, texluajit, texluajitc \- ابزار TeX گسترش‌یافته با Lua به‌عنوان زبان اسکریپت‌نویسی تعبیه‌شده .SH "خلاصه دستور (SYNOPSIS)" .B luatex .RB [ --lua=\fIluafile\fP ] \h'.25' .RI [ options ] .RI [ \fB&\fPformat ] \h'.25' [ \fIfile\fP [ \fImore-input\fP ] \h'.5'|\h'.5' [ \fB\e\fP\fImore-input\fP ] .\"===================================================================== .SH "توضیحات (DESCRIPTION)" حروف‌چین Lua\*(TX را روی .IR file [.tex] اجرا می‌کند که معمولاً .IR file\fB.pdf\fP را ایجاد می‌نماید. اگر آرگومان فایل پسوندی نداشته باشد، «.tex» به آن افزوده خواهد شد. برای جزئیات تجزیه خط فرمان، با استثنائاتی که در اینجا شرح داده شده است، .BR tex (1) را ببینید. .PP ابزار Lua\*(TX در ابتدا به‌عنوان نسخه‌ای گسترش‌یافته از pdf\*(TX با \fBlua\fP(1) به‌عنوان زبان اسکریپت‌نویسی تعبیه‌شده، پشتیبانی از قلم‌های Unicode و OpenType/TrueType، افزونه‌های e-\*(TX و Omega، و همچنین یک کتابخانه داخلی یکپارچه از MetaPost آغاز به کار کرد. این ابزار می‌تواند خروجی pdf یا dvi تولید کند. برای اطلاعات بیشتر درباره Lua\*(TX، به https://www.luatex.org مراجعه کنید؛ یا می‌توانید راهنمای Lua\*(TX را با استفاده از ابزار texdoc مطالعه نمایید (\fBtexdoc luatex\fR). .PP تمام ورودی و خروجی متنی در Lua\*(TX به‌طور بومی به‌صورت متن Unicode خوانده می‌شود، اگرچه فیلترها پشتیبانی از هرگونه کدگذاری (encoding) را ممکن می‌سازند. هشدار: صرف اینکه هر نویسه Unicode بتواند در ورودی شناسایی شود به این معنی نیست که امکان حروف‌چینی آن در خروجی وجود دارد؛ شما همچنان باید قلم‌های لازم را بارگذاری کنید. .PP اگر این برنامه با نام \fBtexlua\fR فراخوانی شود، به‌عنوان یک مفسر Lua عمل می‌کند. اگر با نام \fBtexluac\fR فراخوانی شود، به‌عنوان کامپایلر بایت‌کد Lua عمل می‌کند. .PP به‌طور پیش‌فرض، \fBluatex\fP خروجی pdf تولید می‌کند و \fBdviluatex\fP خروجی dvi تولید می‌نماید؛ در غیر این صورت، هر دو فایل اجرایی در محدوده قالب خروجی رفتار کاملاً یکسانی دارند. هر دو نوع می‌توانند برای تولید خروجی dvi یا pdf پیکربندی شوند. .PP در حالت pdf، ابزار Lua\*(TX می‌تواند به‌صورت بومی قالب‌های گرافیکی pdf، jpg، jbig2 و png را مدیریت کند، اما از گرافیک‌های PostScript یا Encapsulated PostScript (eps) پشتیبانی نمی‌کند؛ .BR pdftex (1) را ببینید. در یک مورد خاص، فایل‌های PostScript خروجی MetaPost می‌توانند مستقیماً از طریق ماکروهای \fIsupp-pdf.tex\fP و \fIsupp-pdf.mkii\fP مدیریت شوند. .PP برنامه‌های استاندارد \fBluatex\fP از Lua 5.3 که توسط PUC-Rio توسعه یافته استفاده می‌کنند؛ گونه‌های \fBjit\fP مانند \fBluajittex\fP دارای LuaJIT برای کامپایل درجا (just-in-time) هستند که توسط Mike Pall توسعه یافته است. .PP گونه \fBluahbtex\fP شامل موتور HarfBuzz برای شکل‌دهی گلیف‌ها (glyph shaping) است. با این حال HarfBuzz همچنان باید به‌طور صریح در سطح \*(TX فعال شود. .PP به‌طور پیش‌فرض، Lua\*(TX هیچ دستور اولیه‌ای (primitives) فراتر از موارد موجود در \*(TX3 ارائه نمی‌دهد. تمام دستورات اولیه گسترش‌یافته باید در زمان اجرا با استفاده از \edirectlua فعال شوند؛ به راهنمای Lua\*(TX و فایل‌های ساخت قالب موجود، مانند luatex.ini مراجعه کنید. .\"===================================================================== .SH "گزینه‌ها (OPTIONS)" برای گزینه‌های متداول خط فرمان \*(TX و نحوه مدیریت آن‌ها، .BR tex (1) را ببینید. .PP هنگامی که فایل اجرایی Lua\*(TX شروع به کار می‌کند، به‌دنبال گزینه خط فرمان \fB--lua\fR می‌گردد. اگر گزینه \fB--lua\fR وجود نداشته باشد، خط فرمان مشابه با pdf\*(TX سنتی و Aleph تفسیر می‌شود. اما اگر این گزینه وجود داشته باشد، Lua\*(TX وارد یک حالت جایگزین برای تجزیه خط فرمان می‌شود که ارتباطی با برنامه‌های استاندارد Web2C ندارد. بنابراین وجود \fB--lua\fR تمامی گزینه‌های دیگر را غیرقابل‌اطمینان می‌کند، زیرا فایل راه‌اندازی Lua می‌تواند جستجوی پیش‌فرض فایل‌ها از طریق Kpathsea را غیرفعال کرده و/یا توابعی را به‌عنوان قلاب (hook) در بازخوان‌های (callbacks) گوناگون قرار دهد. .TP .BI "--lua=" luafile فایل راه‌اندازی Lua. فایل‌های اجرایی Lua\*(TX یک فایل راه‌اندازی پیش‌فرض (luatex-core.lua) را به‌صورت تعبیه‌شده در خود دارند؛ اگر از این گزینه استفاده شود، \fIluafile\fP به جای آن استفاده خواهد شد. فایل راه‌اندازی Lua مسئول برقراری محدودیت‌های امنیتی، رفتار جستجوی مسیر و سایر تنظیمات سطح پایین است، بنابراین هنگام استفاده از یک فایل سفارشی باید دقت بالایی به خرج دهید وگرنه به احتمال زیاد موتور متوقف خواهد شد (crash). اگر از این گزینه استفاده شود، باید همان فایل را هم هنگام ایجاد قالب (format dumping) و هم هنگام حروف‌چینی سند ارائه دهید. این گزینه توسط Con\*(TXt استفاده می‌شود. .PP دو گزینه زیر رفتار فایل اجرایی را تغییر می‌دهند: .TP .B --luaonly اجرای Lua\*(TX به‌عنوان یک مفسر Lua. در این حالت، مقدار \fIarg[0]\fR در Lua روی نام اسکریپت پیداشده تنظیم می‌شود، گزینه‌های پیشین در اندیس‌های منفی و باقی خط فرمان در اندیس‌های مثبت قرار می‌گیرند، درست همانند مفسر Lua. ابزار Lua\*(TX بلافاصله پس از اجرای اسکریپت مشخص‌شده Lua خارج خواهد شد. .TP .BI --luaconly اجرای Lua\*(TX به‌عنوان یک کامپایلر بایت‌کد Lua. در این حالت، Lua\*(TX کاملاً شبیه به \fBluac\fR از توزیع مستقل Lua عمل می‌کند، به‌جز اینکه فاقد سوئیچ \fB-l\fR است و سوئیچ \fB--luaconly\fR را می‌پذیرد و نادیده می‌گیرد. .TP .B --safer بیشتر توابع Lua را که اقدام به تغییر فایل و اجرای برنامه می‌کنند غیرفعال می‌سازد. این گزینه به‌طور پیش‌فرض غیرفعال است زیرا فرایند پردازش اکثر اسناد را با مشکل روبه‌رو می‌کند. .TP .B --luadebug ماژول استاندارد \fIdebug\fP در Lua را فعال می‌کند که به‌طور پیش‌فرض به دلایل امنیتی غیرفعال است. این گزینه هنگامی که قابلیت shell-escape نامحدود فعال باشد، به‌طور ضمنی فعال می‌شود. .TP .B --[no-]socket ماژول \fIsocket\fP در Lua را فعال می‌کند که به اسناد \*(TX امکان ایجاد درخواست‌های دلخواه شبکه را می‌دهد و به‌طور پیش‌فرض به دلایل امنیتی غیرفعال است. این گزینه هنگامی که shell escape نامحدود فعال باشد، به‌طور ضمنی فعال می‌شود. .\"===================================================================== .SH "محیط (ENVIRONMENT)" .BR tex (1) و .BR pdftex (1) را ببینید. .SH "گزارش باگ‌ها (BUGS)" .BR tex (1) را ببینید. .\"===================================================================== .SH "همچنین ببینید (SEE ALSO)" .BR aleph (1), .BR etex (1), .BR lua (1), .BR mpost (1), .BR pdftex (1), .BR tex (1). .PP صفحه اصلی Lua\*(TX: https://luatex.org .br صفحه بسته در CTAN: https://ctan.org/pkg/luatex .br کتابچه راهنمای جامع Lua\*(TX: https://mirror.ctan.org/systems/doc/luatex/luatex.pdf .br راهنمای Web2c: https://tug.org/web2c .br راهنمای Kpathsea: https://tug.org/kpathsea .PP مقاله‌های متعددی درباره Lua\*(TX در \fITUGboat\fP منتشر شده است: https://tug.org/TUGboat/Contents .\"===================================================================== .SH "نویسندگان (AUTHORS)" سیستم \*(TX توسط Donald E. Knuth ایجاد شد. نویسندگان اصلی بهبودهای صورت‌گرفته در Lua\*(TX عبارتند از Taco Hoekwater، Hartmut Henkel، Hans Hagen و Luigi Scarso، همراه با کمک‌های Martin Schr\[:o]der، Karel Skoup\['y] و H\[`a]n The Th\[`a]nh. .\" the double accent 0x1EBF in Thanh's name is not easily available. .PP گزارش‌های باگ: dev-luatex@ntg.nl .br فهرست گفتگوی عمومی برای مسائل اختصاصی Lua\*(TX: https://lists.tug.org/luatex .br فهرست گفتگوی عمومی برای تمامی موارد پیرامون \*(TX: https://lists.tug.org/texhax