\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، ولا تدعم الحزم المخصصة أو تجميع المستندات الكاملة.
| الميزة | FormaTeX | CodeCogs | QuickLaTeX | i2svg |
|---|---|---|---|---|
| صيغ المخرجات | PNG وSVG وPDF | PNG وGIF وSVG | PNG | SVG فقط |
| دعم LaTeX الكامل | TeX Live كامل | وضع الرياضيات فقط | حزم محدودة | وضع الرياضيات فقط |
| حزم مخصصة | جميع حزم CTAN | لا | مجموعة فرعية محدودة | لا |
| مُجمِّعات متعددة | pdfLaTeX وXeLaTeX وLuaLaTeX | pdfLaTeX فقط | 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 للمحتوى الثابت وعرضًا فوريًا على العميل للميزات التفاعلية.
اعرض أول معادلة لك
تجمّع FormaTeX API أي شيفرة LaTeX إلى PNG أو SVG أو PDF. تتضمن الخطة المجانية 15 عملية تجميع مجانية شهريًا. لا حاجة إلى بطاقة ائتمان.
\section{أدلة ذات صلة}

