\engines{formatex}
pdfLaTeX و XeLaTeX و LuaLaTeX و latexmk — لكل محرك نقاط قوة مميزة. اختر الأداة المناسبة لكل مستند. بدّل بمعامل واحد.
\engine{pdflatex}
حصان العمل
سريع وموثوق ومتوافق مع كل شيء.
pdfLaTeX هو المحرك الافتراضي لسبب وجيه: فهو يتمتع بأوسع دعم للحزم في منظومة TeX وأسرع أزمنة التجميع وعقود من الاختبار على ملايين الأوراق الأكاديمية. وإذا كان مستندك لا يتطلب خطوطًا مخصصة من النظام ولا نصًا من اليمين إلى اليسار، فإن pdfLaTeX هو الخيار الصحيح في الغالب.
السرعة المعتادة
80–200ms
الأسرع
الجولات
1 (2–3 مع المراجع)
دعم الخطوط
Type1 وOTF عبر pdffonts — دون خطوط النظام
\begin{example}
\documentclass{article}
\usepackage{amsmath}
\usepackage{geometry}
\begin{document}
\section{Euler's Identity}
One of the most beautiful results in mathematics:
\[ e^{i\pi} + 1 = 0 \]
\section{Series Expansion}
\[
\sum_{n=0}^{\infty} \frac{x^n}{n!} = e^x
\]
\end{document}حالات الاستخدام
الأوراق الأكاديمية
قوالب IEEE وACM وSpringer كلها تستهدف pdfLaTeX. ومعظم أنظمة تقديم أوراق المؤتمرات تتوقعه.
المستندات الكثيفة بالرياضيات
amsmath وamssymb وamsthm — دعم كامل. معادلات معقدة وبيئات النظريات والبراهين.
التقارير التقنية
حزم CTAN القياسية وعرض مستقر ومخرجات يمكن التنبؤ بها عبر إصدارات TeX Live.
العروض التقديمية
تعمل فئة Beamer بأفضل شكل مع pdfLaTeX. وأسرع دورة إعادة بناء أثناء التطوير.
الحزم الشائعة
تجنّبه إذا...
\usepackage{formatex-api}
{
"latex": "\\documentclass{article}...",
"engine": "pdflatex"
}\engine{xelatex}
مصمّم الحروف
Unicode أصلي. خطوط النظام. OpenType.
صُمّم XeLaTeX من الأساس لاحتضان الطباعة الحديثة. يقرأ إدخال UTF-8 مباشرةً، ويحمّل أي خط مثبّت على النظام عبر fontspec، ويتيح الميزات الكاملة لـ OpenType: الحروف المتصلة والأحرف الاستهلالية الصغيرة والبدائل الأسلوبية وغيرها. وهو المحرك الأمثل للمستندات متعددة اللغات والتنضيد المهتم بالتصميم.
السرعة المعتادة
150–350ms
سريع
الجولات
1 (2 مع قائمة المراجع)
دعم الخطوط
أي خط OpenType أو TrueType في النظام عبر fontspec
\begin{example}
\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainfont{Noto Serif}[
Ligatures = TeX,
Numbers = OldStyle
]
\setmainlanguage{english}
\setotherlanguage{arabic}
\begin{document}
English paragraph with old-style numerals: 1234.
\begin{Arabic}
هذا نص باللغة العربية مع ترقيم صحيح.
\end{Arabic}
\end{document}حالات الاستخدام
المستندات متعددة اللغات
تدعم polyglossia أكثر من 80 لغة. اخلط العربية والإنجليزية في مستند واحد مع تبديل صحيح بين RTL وLTR.
طباعة الهوية البصرية
استخدم أي خط OTF/TTF عبر fontspec. خطوط الشركات والخطوط التحريرية والهوية البصرية.
الأوراق اللغوية
رموز IPA ورموز الصوتيات في Unicode وكتابات مخصصة — تُعالج كلها أصليًا من المصدر.
ملفات PDF المتقنة التصميم
وصول كامل إلى ميزات OpenType: الحروف المتصلة والواصلات الاختيارية والمجموعات الأسلوبية وأزواج التقارب.
الحزم الشائعة
تجنّبه إذا...
\usepackage{formatex-api}
{
"latex": "\\documentclass{article}...",
"engine": "xelatex"
}\engine{lualatex}
المبرمج
برمجة Lua داخل مستندك.
يضمّن LuaLaTeX مفسّر Lua 5.3 كاملًا داخل محرك التنضيد نفسه. يمكنك كتابة شيفرة Lua تتحكم في أحشاء TeX وتولّد المحتوى برمجيًا وتمرّ على هياكل البيانات وتبني جداول ديناميكية وقت التجميع — كل ذلك داخل ملف .tex واحد. كما يشارك قدرات الخطوط مع XeLaTeX عبر fontspec.
السرعة المعتادة
200–500ms
متوسط
الجولات
1–3 عادةً
دعم الخطوط
مثل XeLaTeX — OpenType كاملة عبر fontspec
\begin{example}
\documentclass{article}
\usepackage{luacode}
\usepackage{booktabs}
\begin{document}
\begin{luacode*}
local items = {
{ "January", "\$12,400" },
{ "February", "\$15,830" },
{ "March", "\$9,220" },
}
tex.print("\\begin{tabular}{lr}")
tex.print("\\toprule Month & Revenue \\\\ \\midrule")
for _, row in ipairs(items) do
tex.print(row[1] .. " & " .. row[2] .. " \\\\")
end
tex.print("\\bottomrule \\end{tabular}")
\end{luacode*}
\end{document}حالات الاستخدام
المستندات المعتمدة على البيانات
مرّ على المصفوفات وابنِ الجداول من البيانات واحسب القيم — كل ذلك بـ Lua وقت التجميع. دون سكربتات خارجية.
المحتوى المُولَّد برمجيًا
ولّد هياكل متكررة (مثل جداول من 50 صفًا وأشكال بارامترية) دون نسخ ولصق شيفرة LaTeX.
الطباعة المتقدمة
الوصول إلى أحشاء TeX منخفضة المستوى عبر Lua. تقارب مخصص وتحكم في الحروف وتجاوز لقواعد تقطيع الكلمات.
التقارير الديناميكية
ضمّن منطق العمل في المستند نفسه. شروط وحسابات ومخرجات منسّقة.
الحزم الشائعة
تجنّبه إذا...
\usepackage{formatex-api}
{
"latex": "\\documentclass{article}...",
"engine": "lualatex"
}\engine{latexmk}
المنسّق
تجميع تلقائي متعدد الجولات. كل مرجع محلول.
latexmk ليس محرك TeX — بل نظام بناء ذكي يلفّ pdfLaTeX ويشغّله بقدر ما يلزم من المرات لحلّ جميع المراجع الأمامية والاقتباسات وبنود فهرس المحتويات والفهارس. وعندما تحدد latexmk، تستخدم FormaTeX محرك pdfLaTeX كمشغّل أساسي وتتولى منطق الجولات تلقائيًا.
السرعة المعتادة
400ms–3s
متغيّر
الجولات
يُكتشف تلقائيًا (غالبًا 2–4)
دعم الخطوط
مثل pdfLaTeX (يشغّل latexmk محرك pdfLaTeX افتراضيًا)
\begin{example}
\documentclass{article}
\usepackage[backend=biber, style=ieee]{biblatex}
\usepackage{hyperref}
\addbibresource{references.bib}
\begin{document}
\section{Related Work}
Neural scaling laws were studied by \cite{kaplan2020scaling}.
The attention mechanism was introduced in \cite{vaswani2017attention}.
See \autoref{sec:method} for our approach.
\section{Method}\label{sec:method}
...
\printbibliography
\end{document}حالات الاستخدام
الأوراق الأكاديمية ذات الاقتباسات
تتطلب قوائم مراجع BibTeX وBiber جولتين على الأقل. ويتولى latexmk ذلك تلقائيًا.
الكتب والرسائل العلمية
فهرس المحتويات وقائمة الأشكال والفهارس والمسارد — تُحل كلها عبر عدة جولات.
المستندات ذات الإحالات المتقاطعة
تحتاج \ref و\pageref و\eqref و\autoref كلها إلى جولة ثانية. ويكتشف latexmk ذلك ويعيد التشغيل عند الحاجة.
المستندات ذات أزواج \label/\ref
أي مستند فيه مراجع داخلية. يفحص latexmk ملف .aux بعد كل جولة للتأكد من اكتماله.
الحزم الشائعة
تجنّبه إذا...
\usepackage{formatex-api}
{
"latex": "\\documentclass{article}...",
"engine": "latexmk"
}\begin{tabular}
المحركات الأربعة متاحة في كل خطة. لا حاجة إلى أي إعداد.
| الميزة | pdfLaTeX | XeLaTeX | LuaLaTeX | latexmk |
|---|---|---|---|---|
| السرعة المعتادة | 80–200ms | 150–350ms | 200–500ms | 400ms–3s |
| جولات التجميع | 1 | 1 | 1 | تلقائي (2–4) |
| إدخال Unicode | جزئي | نعم | نعم | موروث |
| خطوط النظام (OTF/TTF) | لا | نعم | نعم | لا |
| برمجة Lua | لا | لا | نعم | لا |
| قائمة المراجع التلقائية | لا | لا | لا | نعم |
| توافق الحزم | الأعلى | عالٍ | عالٍ | pdflatex |
\DeclareMathOperator{choose}
أجب عن هذه الأسئلة بالترتيب. توقف عندما تجد ما يناسبك.
هل يحتوي مستندك على اقتباسات أو قائمة مراجع؟
هل تحتاج إلى خط مخصص من النظام أو نص من اليمين إلى اليسار / متعدد اللغات؟
هل تحتاج إلى برمجة Lua أو محتوى مُولَّد برمجيًا؟
مستند عادي — رياضيات وجداول وأشكال؟
\note
معظم أحمال الإنتاج تستخدم pdfLaTeX في 80% من المستندات. أضف XeLaTeX عند ظهور متطلبات الخطوط. احتفظ بـ latexmk للأوراق البحثية الكثيفة بالاستشهادات.
افتراضياً استخدم pdfLaTeX
إذا كنت تنشئ مستندات برمجية (فواتير، شهادات، تقارير) بدون خطوط مخصصة، يوفر pdfLaTeX أسرع وقت بدء تشغيل.
بدّل المحركات لكل طلب
معامل المحرك لكل تجميع. يمكن لمفتاح API واحد تشغيل pdfLaTeX و XeLaTeX و latexmk لأنواع مستندات مختلفة في آنٍ واحد.
المستخدمون الأكاديميون: استخدموا latexmk
الأوراق البحثية ذات الاستشهادات تحتاج دائماً تقريباً إلى مرات تشغيل متعددة. latexmk يتولى هذا تلقائياً — لا حاجة لعدّ المرات يدوياً.
LuaLaTeX لمخرجات الذكاء الاصطناعي
إذا كان نموذج اللغة الكبير لديك يُنشئ LaTeX مع منطق Lua مضمّن، فإن LuaLaTeX يتعامل معه بنظافة. بيئة تشغيل Lua معزولة على جانبنا.
\begin{document}
بدون تهيئة. بدون تثبيت TeX Live. بدّل المحركات بمعامل واحد.