\begin{comparison}

كيفية عرض معادلات LaTeX
على الويب

واجهات API على الخادم، أم JavaScript على العميل، أم نهج هجين؟ يقارن هذا الدليل كل الطرق الرئيسية لعرض معادلات LaTeX كصور أو HTML، لتختار الأنسب لموقعك أو وثائقك أو تطبيقك.

\section{نظرة عامة على الطرق}

ثلاثة نُهج لعرض معادلات LaTeX

تندرج كل أدوات عرض معادلات LaTeX ضمن ثلاث فئات. يعتمد الاختيار الصحيح على مكان عرض المعادلة، وعلى كون المحتوى ثابتًا أو ديناميكيًا، ومدى اهتمامك بدقة الطباعة.

العرض على الخادم

استدعاء API يعيد صورة (PNG أو SVG أو PDF)

ترسل شيفرة LaTeX إلى REST API وتتلقى صورة معروضة في الاستجابة. تُجمَّع المعادلة على الخادم باستخدام مُجمِّع TeX حقيقي، لذا تطابق المخرجات تمامًا ما تحصل عليه من تثبيت TeX Live محلي. والنتيجة أصل ثابت يمكنك تضمينه في أي مكان: صفحات HTML ورسائل البريد الإلكتروني وملفات Markdown ورسائل Slack والشرائح التقديمية.

أمثلة: FormaTeX API وCodeCogs وQuickLaTeX وi2svg

المزايا

  • مخرجات دقيقة حتى مستوى البكسل من مُجمِّع TeX حقيقي
  • لا حاجة إلى أي JavaScript على العميل
  • يعمل في رسائل البريد الإلكتروني وملفات PDF وMarkdown وأي HTML
  • عرض متسق عبر جميع المتصفحات والأجهزة

المقايضات

  • يتطلب طلب شبكة لكل معادلة
  • يعتمد زمن الاستجابة على سرعة استجابة الخادم
  • قد يتطلب مفتاح API للاستخدام في الإنتاج

العرض على العميل

مكتبة JavaScript تعرض المعادلات في المتصفح

تحلّل مكتبة JavaScript (MathJax أو KaTeX) صياغة LaTeX مباشرةً في المتصفح وتحوّلها إلى عقد HTML/CSS أو SVG في DOM. لا حاجة إلى رحلة ذهاب وإياب إلى الخادم بعد التحميل الأولي للصفحة. يناسب هذا النهج التطبيقات التفاعلية التي يُدخل فيها المستخدم المعادلات في الوقت الفعلي، مثل محررات المنتديات وواجهات الدفاتر وأدوات المعاينة المباشرة.

أمثلة: MathJax وKaTeX

المزايا

  • لا اعتماد على الخادم بعد تحميل حزمة JS
  • عرض فوري للمعادلات التي يكتبها المستخدم
  • مناسب لواجهات التحرير التفاعلية أو الفورية

المقايضات

  • يضيف وزن حزمة JavaScript (KaTeX نحو 28 KB مصغَّرة ومضغوطة، وMathJax نحو 100 KB فأكثر)
  • لا يغطي لغة LaTeX كاملة (وضع الرياضيات فقط)
  • قد يختلف العرض قليلًا بين المتصفحات
  • لا يمكن استخدامه في رسائل البريد الإلكتروني أو السياقات غير HTML

النهج الهجين

يعرض الخادم ويعرض العميل صورًا مخزنة مؤقتًا

تُجمَّع المعادلات على الخادم وقت البناء أو عند أول طلب، ثم تُخزَّن مؤقتًا كصور ثابتة وتُقدَّم من CDN. يحمّل العميل صورًا معروضة مسبقًا دون JavaScript ودون تجميع أثناء التشغيل. يجمع هذا بين جودة الطباعة في العرض على الخادم وأداء الأصول الثابتة. وهو النهج الموصى به لمواقع الوثائق والمدونات وأي صفحة لا تتغير فيها المعادلات بعد النشر.

أمثلة: FormaTeX API + ذاكرة CDN المؤقتة، المواقع الثابتة المبنية مسبقًا

المزايا

  • أفضل ما في العالمين: مخرجات بجودة TeX دون أي JavaScript على العميل
  • تُخزَّن المعادلات مؤقتًا وتُقدَّم بسرعة CDN
  • ملائم لمحركات البحث بفضل النص البديل على الصور

المقايضات

  • يتطلب خطوة تجميع وقت البناء أو عند أول طلب
  • غير مناسب للمعادلات التي يدخلها المستخدم أثناء التشغيل

\section{server-side}

مقارنة أدوات العرض على الخادم

أربع خدمات تجمّع LaTeX على الخادم وتعيد صورة أو رسمًا متجهيًا. لكل منها نطاق مختلف: بعضها يتعامل مع وضع الرياضيات فقط، وبعضها يشغّل تثبيت TeX Live كاملًا قادرًا على تجميع مستندات كاملة.

FormaTeX API

تجميع TeX Live كامل عبر REST API. يدعم مستندات LaTeX كاملة (وليس المعادلات فقط)، وثلاثة مُجمِّعات (pdfLaTeX وXeLaTeX وLuaLaTeX)، ومخرجات بصيغ PNG أو SVG أو PDF. مصمَّم للمطورين الذين يحتاجون إلى وصول برمجي إلى مُجمِّع TeX حقيقي دون إدارة بنية TeX Live التحتية.

CodeCogs

من أقدم خدمات تحويل LaTeX إلى صور. تبني عنوان URL يتضمن تعبير LaTeX الرياضي كمعامل استعلام، ويعيد الخادم صورة PNG أو GIF. سهلة الاستخدام للمعادلات المفردة في Markdown أو HTML. تقتصر على وضع الرياضيات ولا تدعم الحزم المخصصة أو تجميع المستندات.

QuickLaTeX

خدمة ويب مجانية تُستخدم أساسًا كإضافة لـ WordPress. تقبل LaTeX عبر نقطة نهاية POST وتعيد صور PNG. تدعم مجموعة محدودة من حزم LaTeX بخلاف الرياضيات الأساسية. مناسبة للمدونين ومستخدمي WordPress، لكنها تفتقر إلى REST API موثّقة للتكامل البرمجي.

i2svg

خدمة خفيفة تحوّل تعابير LaTeX الرياضية إلى SVG عبر معاملات URL. تتدرج مخرجات SVG بلا حدود، ما يجعلها مفيدة لتصاميم الويب المتجاوبة. لكنها تتعامل مع وضع الرياضيات فقط، وليس لها REST API، ولا تدعم الحزم المخصصة أو تجميع المستندات الكاملة.

الميزةFormaTeXCodeCogsQuickLaTeXi2svg
صيغ المخرجاتPNG وSVG وPDFPNG وGIF وSVGPNGSVG فقط
دعم LaTeX الكاملTeX Live كاملوضع الرياضيات فقطحزم محدودةوضع الرياضيات فقط
حزم مخصصةجميع حزم CTANلامجموعة فرعية محدودةلا
مُجمِّعات متعددةpdfLaTeX وXeLaTeX وLuaLaTeXpdfLaTeX فقطpdfLaTeX فقطلا شيء (قائم على JS)
REST APIنعم، موثّقةعبر URL فقطنقطة نهاية POSTعبر URL فقط
التحكم في DPI / الدقةقابل للضبطإعدادات مسبقة محدودةقابل للضبطمتجهي (بلا حدود)
حدود المعدل (الخطة المجانية)15 عملية تجميع مجانية/شهرغير واضحة / مقيَّدةغير واضحةغير محدود (استضافة ذاتية)
خطط API التجاريةابتداءً من $4.99 شهريًاتسعير مخصصمجاني فقطمفتوح المصدر

= قوي = كافٍ = غير مدعوم

\section{client-side}

أدوات العرض على العميل

MathJax وKaTeX مكتبتا JavaScript تعرضان ترميز LaTeX الرياضي مباشرةً في المتصفح. لا تجمّعان مستندات LaTeX كاملة، بل تتعاملان مع وضع الرياضيات فقط. وفي كثير من تطبيقات الويب، هذا بالضبط ما تحتاج إليه.

MathJax

أكثر أدوات عرض الرياضيات على العميل استخدامًا. يدعم MathJax مجموعة واسعة جدًا من أوامر LaTeX الرياضية، بما فيها امتدادات AMS، ويمكنه الإخراج بصيغة HTML/CSS أو SVG أو MathML. وهو أداة عرض الرياضيات الافتراضية في كثير من الويكيات ومنصات إدارة التعلم والمواقع العلمية.

الأنسب لـ

  • المواقع التي تحتاج إلى تغطية واسعة لرياضيات LaTeX
  • المنصات التي تستخدم MathJax بالفعل (تكلفة الانتقال صفر)
  • إمكانية الوصول: تعمل مخرجات MathML مع قارئات الشاشة
  • المعادلات المعقدة بما فيها البيئات متعددة الأسطر

احذر من

  • حجم الحزمة: نحو 100 KB فأكثر مصغَّرة ومضغوطة
  • تأخر العرض الأولي في الصفحات الكبيرة ذات المعادلات الكثيرة
  • قد يكون الضبط معقدًا في الإعدادات المتقدمة

KaTeX

بديل سريع وخفيف لـ MathJax أنشأته Khan Academy. يعرض KaTeX المعادلات بشكل متزامن، أي تظهر في إطار الرسم نفسه مع باقي الصفحة. يدعم مجموعة أصغر من رياضيات LaTeX مقارنةً بـ MathJax، لكنه يغطي الغالبية العظمى من حالات الاستخدام الشائعة.

الأنسب لـ

  • التطبيقات الحساسة للأداء (يعرض أسرع بعشر مرات من MathJax)
  • محررات المعاينة المباشرة حيث يهم زمن استجابة الكتابة
  • العرض على الخادم باستخدام Node.js (يمكن تشغيل KaTeX على الخادم)
  • حجم حزمة أصغر (نحو 28 KB مصغَّرة ومضغوطة)

احذر من

  • دعم LaTeX أضيق: بعض بيئات AMS غير متوفرة
  • لا مخرجات MathML (إمكانية الوصول محدودة)
  • تتطلب الماكرو المخصصة ضبطًا إضافيًا

متى تستخدم العرض على العميل بدلًا من API

العرض على العميل هو الخيار الصحيح عندما يُنشئ المستخدمون المعادلات أثناء التشغيل، أو عندما تحتاج إلى معاينة فورية أثناء التحرير، أو عندما تريد تجنّب تكاليف الخادم تمامًا. وهو يعمل جيدًا في تطبيقات الصفحة الواحدة والكتب الدراسية التفاعلية وأي واجهة يكتب فيها المستخدم LaTeX ويتوقع رؤية الناتج فورًا.

أما إذا كانت معادلاتك ثابتة (معروفة وقت البناء)، أو إذا كنت تحتاج إلى أكثر من وضع الرياضيات (مستندات كاملة أو حزم مخصصة أو رسومات TikZ)، أو إذا كنت تحتاج إلى تضمين المعادلات في سياقات غير HTML (رسائل البريد الإلكتروني وSlack وملفات PDF)، فإن أداة العرض على الخادم هي الخيار الوحيد. تتعامل أداة FormaTeX لتحويل المعادلات إلى صور مع كل هذه الحالات.

\section{مصفوفة القرار}

أي نهج يناسبك؟

تعتمد الإجابة على حالة استخدامك. فيما يلي مرجع سريع لأكثر السيناريوهات شيوعًا.

مدونة أو موقع وثائق بمعادلات مكتوبة مسبقًا

على الخادم (هجين مع ذاكرة CDN المؤقتة)

المعادلات معروفة وقت البناء. جمّعها مرة واحدة وخزّنها مؤقتًا إلى الأبد. دون أي JavaScript على العميل. أفضل أداء للصفحة وأفضل نتائج لمحركات البحث.

تطبيق ويب بمعادلات يدخلها المستخدم (مثل منتدى أو أداة للواجبات)

على العميل (KaTeX للسرعة وMathJax للتغطية)

يكتب المستخدمون المعادلات في الوقت الفعلي. يمنح العرض على العميل استجابة فورية دون انتظار رحلة ذهاب وإياب إلى الخادم.

نشرات البريد الإلكتروني أو روبوتات Slack/Discord

على الخادم (مخرجات صورة)

تزيل عملاء البريد الإلكتروني JavaScript تمامًا. تحتاج إلى صورة ثابتة. تعيد أداة العرض على الخادم مثل FormaTeX API صورة PNG يمكنك تضمينها مباشرةً في جسم الرسالة.

إنشاء ملفات PDF أكاديمية عبر خط CI/CD

API على الخادم (FormaTeX أو TeX Live مستضاف ذاتيًا)

ينتج تجميع TeX Live الكامل ملفات PDF بجودة النشر. تتولى FormaTeX API ذلك بطلب POST واحد، دون الحاجة إلى صورة Docker لـ TeX Live.

الشرائح التقديمية (reveal.js وGoogle Slides)

على الخادم (SVG أو PNG عالي DPI)

تتدرج معادلات SVG بشكل مثالي عند أي دقة. اعرضها على الخادم ونزّل الصورة وأدرجها في عرضك التقديمي.

دفتر بأسلوب Jupyter في المتصفح

على العميل (KaTeX أو MathJax)

تحتاج الدفاتر إلى عرض فوري أثناء كتابة المستخدمين. KaTeX أسرع للرياضيات الشائعة، بينما يغطي MathJax أوامر TeX الأقل شيوعًا.

قاعدة عامة

إذا كانت معادلاتك معروفة مسبقًا (وثائق ومقالات مدونات وتقارير مولَّدة)، فاستخدم أداة عرض على الخادم وخزّن المخرجات مؤقتًا. وإذا كان المستخدمون يكتبون المعادلات أثناء التشغيل (منتديات ودفاتر ومحررات مباشرة)، فاستخدم مكتبة على العميل . وإذا احتجت إلى الاثنين، يمنحك النهج الهجين صورًا بجودة TeX للمحتوى الثابت وعرضًا فوريًا على العميل للميزات التفاعلية.