\engines{formatex}

أربعة محركات. واجهة API واحدة.

pdfLaTeX و XeLaTeX و LuaLaTeX و latexmk — لكل محرك نقاط قوة مميزة. اختر الأداة المناسبة لكل مستند. بدّل بمعامل واحد.

\engine{pdflatex}

01

pdfLaTeX

حصان العمل

سريع وموثوق ومتوافق مع كل شيء.

pdfLaTeX هو المحرك الافتراضي لسبب وجيه: فهو يتمتع بأوسع دعم للحزم في منظومة TeX وأسرع أزمنة التجميع وعقود من الاختبار على ملايين الأوراق الأكاديمية. وإذا كان مستندك لا يتطلب خطوطًا مخصصة من النظام ولا نصًا من اليمين إلى اليسار، فإن pdfLaTeX هو الخيار الصحيح في الغالب.

السرعة المعتادة

80–200ms

الأسرع

الجولات

1 (2–3 مع المراجع)

دعم الخطوط

Type1 وOTF عبر pdffonts — دون خطوط النظام

\begin{example}

latex
\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. وأسرع دورة إعادة بناء أثناء التطوير.

الحزم الشائعة

amsmath / amssymbTikZ + pgfplotsgeometryhyperrefbiblatexlistings / mintedalgorithm2ebeamer

تجنّبه إذا...

  • —تحتاج إلى خط مخصص من النظام (OTF/TTF مثبّت على جهازك)
  • —يحتوي مستندك على العربية أو العبرية أو غيرها من الكتابات من اليمين إلى اليسار
  • —تحتاج إلى إدخال Unicode أصلي دون حلول التفافية للترميز

\usepackage{formatex-api}

json
{
  "latex": "\\documentclass{article}...",
  "engine": "pdflatex"
}

\engine{xelatex}

02

XeLaTeX

مصمّم الحروف

Unicode أصلي. خطوط النظام. OpenType.

صُمّم XeLaTeX من الأساس لاحتضان الطباعة الحديثة. يقرأ إدخال UTF-8 مباشرةً، ويحمّل أي خط مثبّت على النظام عبر fontspec، ويتيح الميزات الكاملة لـ OpenType: الحروف المتصلة والأحرف الاستهلالية الصغيرة والبدائل الأسلوبية وغيرها. وهو المحرك الأمثل للمستندات متعددة اللغات والتنضيد المهتم بالتصميم.

السرعة المعتادة

150–350ms

سريع

الجولات

1 (2 مع قائمة المراجع)

دعم الخطوط

أي خط OpenType أو TrueType في النظام عبر fontspec

\begin{example}

latex
\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: الحروف المتصلة والواصلات الاختيارية والمجموعات الأسلوبية وأزواج التقارب.

الحزم الشائعة

fontspecpolyglossiaunicode-mathbidi (RTL)xeCJKmicrotypehyperrefbiblatex

تجنّبه إذا...

  • —تستخدم خطوط TeX القياسية فقط — pdfLaTeX أسرع
  • —السرعة القصوى للتجميع حاسمة
  • —تحتاج إلى برمجة Lua (استخدم LuaLaTeX بدلًا منه)

\usepackage{formatex-api}

json
{
  "latex": "\\documentclass{article}...",
  "engine": "xelatex"
}

\engine{lualatex}

03

LuaLaTeX

المبرمج

برمجة Lua داخل مستندك.

يضمّن LuaLaTeX مفسّر Lua 5.3 كاملًا داخل محرك التنضيد نفسه. يمكنك كتابة شيفرة Lua تتحكم في أحشاء TeX وتولّد المحتوى برمجيًا وتمرّ على هياكل البيانات وتبني جداول ديناميكية وقت التجميع — كل ذلك داخل ملف .tex واحد. كما يشارك قدرات الخطوط مع XeLaTeX عبر fontspec.

السرعة المعتادة

200–500ms

متوسط

الجولات

1–3 عادةً

دعم الخطوط

مثل XeLaTeX — OpenType كاملة عبر fontspec

\begin{example}

latex
\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. تقارب مخصص وتحكم في الحروف وتجاوز لقواعد تقطيع الكلمات.

  • التقارير الديناميكية

    ضمّن منطق العمل في المستند نفسه. شروط وحسابات ومخرجات منسّقة.

الحزم الشائعة

luacodefontspecluacolorluamplibluatexja (CJK)unicode-mathmicrotypepgfplots

تجنّبه إذا...

  • —لا تحتاج إلى برمجة Lua — يقدّم XeLaTeX ميزات الخطوط نفسها بكلفة أقل
  • —تحتاج إلى أوسع توافق ممكن مع الحزم (استخدم pdfLaTeX)
  • —سرعة التجميع حاسمة

\usepackage{formatex-api}

json
{
  "latex": "\\documentclass{article}...",
  "engine": "lualatex"
}

\engine{latexmk}

04

latexmk

المنسّق

تجميع تلقائي متعدد الجولات. كل مرجع محلول.

latexmk ليس محرك TeX — بل نظام بناء ذكي يلفّ pdfLaTeX ويشغّله بقدر ما يلزم من المرات لحلّ جميع المراجع الأمامية والاقتباسات وبنود فهرس المحتويات والفهارس. وعندما تحدد latexmk، تستخدم FormaTeX محرك pdfLaTeX كمشغّل أساسي وتتولى منطق الجولات تلقائيًا.

السرعة المعتادة

400ms–3s

متغيّر

الجولات

يُكتشف تلقائيًا (غالبًا 2–4)

دعم الخطوط

مثل pdfLaTeX (يشغّل latexmk محرك pdfLaTeX افتراضيًا)

\begin{example}

latex
\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 بعد كل جولة للتأكد من اكتماله.

الحزم الشائعة

biblatex + bibernatbib + BibTeXmakeindexglossarieshyperref (with backrefs)cleverefacronymminitoc

تجنّبه إذا...

  • —مستندك بلا اقتباسات ولا قائمة مراجع ولا إحالات متقاطعة — pdfLaTeX أسرع بمقدار 3 إلى 5 مرات
  • —تعمل على مسودات استكشافية — استخدم pdfLaTeX للتكرار السريع، ثم انتقل إلى latexmk للبناء النهائي
  • —تحتاج إلى خطوط مخصصة من النظام — يشغّل latexmk محرك pdfLaTeX افتراضيًا

\usepackage{formatex-api}

json
{
  "latex": "\\documentclass{article}...",
  "engine": "latexmk"
}

\begin{tabular}

مقارنة سريعة

المحركات الأربعة متاحة في كل خطة. لا حاجة إلى أي إعداد.

الميزةpdfLaTeXXeLaTeXLuaLaTeXlatexmk
السرعة المعتادة80–200ms150–350ms200–500ms400ms–3s
جولات التجميع111تلقائي (2–4)
إدخال Unicodeجزئينعمنعمموروث
خطوط النظام (OTF/TTF)لانعمنعملا
برمجة Luaلالانعملا
قائمة المراجع التلقائيةلالالانعم
توافق الحزمالأعلىعالٍعالٍpdflatex

\DeclareMathOperator{choose}

أي محرك؟

أجب عن هذه الأسئلة بالترتيب. توقف عندما تجد ما يناسبك.

01

هل يحتوي مستندك على اقتباسات أو قائمة مراجع؟

نعم →استخدم latexmk
02

هل تحتاج إلى خط مخصص من النظام أو نص من اليمين إلى اليسار / متعدد اللغات؟

نعم →استخدم XeLaTeX
03

هل تحتاج إلى برمجة Lua أو محتوى مُولَّد برمجيًا؟

نعم →استخدم LuaLaTeX
04

مستند عادي — رياضيات وجداول وأشكال؟

نعم →استخدم pdfLaTeX

\note

في التطبيق العملي

معظم أحمال الإنتاج تستخدم pdfLaTeX في 80% من المستندات. أضف XeLaTeX عند ظهور متطلبات الخطوط. احتفظ بـ latexmk للأوراق البحثية الكثيفة بالاستشهادات.

افتراضياً استخدم pdfLaTeX

إذا كنت تنشئ مستندات برمجية (فواتير، شهادات، تقارير) بدون خطوط مخصصة، يوفر pdfLaTeX أسرع وقت بدء تشغيل.

بدّل المحركات لكل طلب

معامل المحرك لكل تجميع. يمكن لمفتاح API واحد تشغيل pdfLaTeX و XeLaTeX و latexmk لأنواع مستندات مختلفة في آنٍ واحد.

المستخدمون الأكاديميون: استخدموا latexmk

الأوراق البحثية ذات الاستشهادات تحتاج دائماً تقريباً إلى مرات تشغيل متعددة. latexmk يتولى هذا تلقائياً — لا حاجة لعدّ المرات يدوياً.

LuaLaTeX لمخرجات الذكاء الاصطناعي

إذا كان نموذج اللغة الكبير لديك يُنشئ LaTeX مع منطق Lua مضمّن، فإن LuaLaTeX يتعامل معه بنظافة. بيئة تشغيل Lua معزولة على جانبنا.

\begin{document}

أربعة محركات. مفتاح API واحد.

بدون تهيئة. بدون تثبيت TeX Live. بدّل المحركات بمعامل واحد.