ما هي أفضل طريقة لتضمين LaTeX في صفحة ويب؟

StackOverflow https://stackoverflow.com/questions/116054

  •  02-07-2019
  •  | 
  •  

سؤال

أنا لا أسأل عن تحويل مستند LaTeX إلى html.

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

هل كانت مفيدة؟

المحلول

يمكن لـ MediaWiki أن يفعل ما تبحث عنه.يستخدم Texvc (http://en.wikipedia.org/wiki/Texvc) التي "تتحقق من التعبيرات الرياضية اللاتكس (AMS) وتحولها إلى رسومات HTML أو MATHML أو PNG." يبدو مثل ما تبحث عنه.

راجع مقالة ويكيبيديا حول كيفية التعامل مع المعادلات الرياضية هنا: http://en.wikipedia.org/wiki/Help:Formula.لديهم أيضًا مرجعًا شاملاً حول LaTeX وإيجابيات/سلبيات أنواع العرض المختلفة (PNG/MathML/HTML).

يستخدم MediaWiki مجموعة فرعية من Tex Markup ، بما في ذلك بعض الامتدادات من LaTex و AMS-Latex ، للصيغ الرياضية.يقوم بإنشاء صور PNG أو علامة HTML بسيطة ، اعتمادًا على تفضيلات المستخدم وتعقيد التعبير.في المستقبل ، نظرًا لأن المزيد من المتصفحات أكثر ذكاءً ، فستكون قادرة على توليد HTML المحسّن أو حتى Mathml في كثير من الحالات.(انظر Blahtex للحصول على معلومات حول العمل الحالي على إضافة دعم MATHML.)

بتعبير أدق ، تقوم MediaWiki بتصفية الترميز من خلال TexVC ، والتي بدورها تمرر الأوامر إلى Tex لتقديمها الفعلي.وبالتالي ، يتم دعم جزء محدود فقط من لغة تكس الكاملة ؛انظر أدناه للحصول على التفاصيل....

إيجابيات HTML

  • تتماشى صيغ HTML داخل الخط بشكل صحيح مع بقية نص HTML.
  • تتطابق خلفية الصيغة وحجم الخط والوجه مع بقية محتويات HTML وتحترم المظهر إعدادات CSS ومستعرض.
  • سيتم تحميل الصفحات التي تستخدم HTML بشكل أسرع.

إيجابيات تكس

  • يتفوق TeX لغويًا على HTML.في Tex ، "X" يعني "المتغير الرياضي X" ، في حين أن في HTML "X" يمكن أن يعني أي شيء.لقد فقدت المعلومات بشكل لا رجعة فيه.وهذا له فوائد متعددة:
    1. يمكن تحويل TeX إلى HTML، ولكن ليس العكس.هذا يعني أنه على جانب الخادم ، يمكننا دائمًا تحويل الصيغة ، بناءً على تعقيدها وموقعها داخل النص ، وتفضيلات المستخدم ، ونوع المتصفح ، إلخ.لذلك ، حيثما أمكن ، يمكن الاحتفاظ بجميع فوائد HTML ، مع فوائد Tex.صحيح أن الوضع الحالي ليس مثاليًا ، لكن هذا ليس سببًا جيدًا لإسقاط المعلومات/المحتويات.إنه سبب للمساعدة في تحسين الموقف.
    2. يمكن تحويل Tex إلى MATHML للمتصفحات التي تدعمها ، وبالتالي الحفاظ على دلالاتها والسماح لها بتقديمها كمتجه.
  • تم تصميم Tex خصيصًا لصيغ التنضيد ، لذلك الإدخال أسهل وأكثر طبيعية ، والإخراج أكثر جمالياً.
  • عند الكتابة في تكس ، لا يحتاج المحررين إلى القلق بشأن دعم المتصفح ، حيث يتم تقديمه إلى صورة بواسطة الخادم.من ناحية أخرى ، يمكن أن تكون صيغ HTML غير متسقة من نوايا المحرر (أو لا على الإطلاق) ، من خلال بعض المتصفحات أو الإصدارات القديمة من المتصفح.

نصائح أخرى

أنا أفضل ماثجاكس على الحلول التي تختار عرض الصور (مما يسبب مشاكل التعرج).

MathJax هو محرك عرض جافا سكريبت مفتوح المصدر للرياضيات.يستخدم CSS وWebfonts بدلاً من الصور أو الفلاش ويمكنه عرض LaTeX أو MathML.وبهذه الطريقة لن يكون لديك مشاكل مع التكبير/التصغير بل إنه متوافق مع قارئ الشاشة.

لقد قمت ذات مرة بتطوير مكون إضافي لـ jQuery يقوم في الواقع بما يلي: jsLaTeX

إليك أبسط مثال لكيفية استخدامه:

$(".latex").latex();


<div class="latex">  
    \int_{0}^{\pi}\frac{x^{4}\left(1-x\right)^{4}}{1+x^{2}}dx =\frac{22}{7}-\pi  
</div>

سيؤدي ما ورد أعلاه إلى إنشاء معادلة LaTeX التالية على صفحتك:

Equation

ال الصفحة التجريبية يحتوي البرنامج المساعد على المزيد من أمثلة التعليمات البرمجية والعروض التوضيحية.

إذا كنت تريد تضمين الرياضيات كصور، فيمكنك إلقاء نظرة عليها MathTran.

إذا كنت تفضل إدراج العمليات الحسابية في الصفحة بشكل أساسي كنص (باستخدام الصور عند الضرورة فقط)، jsMath قد يكون ما تبحث عنه.

تاريخيًا، كان عرض LaTeX واستخراج صورة هو أفضل رهان لك في الرياضيات عبر الأنظمة الأساسية والمتصفحات المختلفة.على نحو متزايد، أصبح MathML بديلاً معقولاً. هنا محول عبر الإنترنت يقوم بإصدار MathML من علامة Tex، والتي يمكنك بعد ذلك تضمينها في صفحة الويب الخاصة بك.أعلم أن المتصفحات المستندة إلى Gecko مثل Firefox وCamino تلعب بشكل جيد مع MathML، كما هو الحال مع Opera.لا يعمل IE خارج الصندوق، ولكن هناك مكونات إضافية متاحة (مثل هذا).

Texvc هو اكتشاف عظيم!يجب أن يعمل مخرج HTML الفانيليا بشكل جيد إذا كنت مهتمًا في الغالب بالأحرف المرتفعة/المنخفضة/المائلة/الرموز الشائعة، ولكن بالنسبة للأشياء الأكثر تعقيدًا، انتبه إلى أن المواقع الأكثر شيوعًا الموجهة نحو الرياضيات (على سبيل المثال. ولفرام) إنشاء صور، لذلك قد يكون هناك الكثير مما يمكنك فعله إذا كنت مهتمًا بالتوافق عبر المتصفحات :-(

قرأت جميع الإجابات هنا، وتفاجأت بأن أحداً لم يذكر التحويل من PDF إلى HTML.إذا كنت تستخدم pdf2htmlEX فإنه سوف إنشاء صفحات ويب مثالية من ملف pdf.كل ما عليك فعله هو تجميع ملف اللاتكس الخاص بك إلى ملف pdf (pdflatex).

بشكل افتراضي، يقوم بإنشاء ملف html واحد، مع محتويات ملف PDF الخاص بك المصنوعة من CSS وjavascript وhtml.لقد جربت الكثير من الأدوات لتحويل اللاتكس إلى html وهذا هو الحل إلى حد بعيد أفضل وأسهل حل وجدته.

بامكانك ان تحاول LaTexRenderer.لا أعرف إذا كان هذا هو الأفضل، لكنه يعمل.

لقد بدأت النظر في هذا الأمر بنفسي ويبدو أن الأمور قد تطورت.لقد صادفت هذا عرض المقارنة كاتيكس و ماثجاكس.


قصة طويلة قصيرة (حتى كتابة هذه السطور):

  • الكسور الموجودة داخل المصفوفة تصطدم ببعضها البعض في KaTeX، ولكن ليس MathJax (انظر "المنتج المتقاطع")
  • داخل رمز الجذر التربيعي (أو النوني)، يبدو أن الأسس والجذور التربيعية المتداخلة تتجه نحو السطر العلوي الأفقي (انظر "الكسور المتكررة" و"الجذر النوني".)
  • يحتوي MathJax على خط أكثر جرأة وأكبر قليلاً، بينما KaTeX أصغر حجمًا قليلاً.

ولكن ربما الأمر الأكثر أهمية هو أنني وجدت أن إجمالي معالجة MathJax للصفحة بلغ متوسطًا 1674 مللي ثانية لمدة ثلاثة أشواط.في المقابل، بلغ متوسط ​​KaTeX 128 مللي ثانية, ، وهو أمر أفضل من حيث الحجم!


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

  • يدعي موقع KaTeX الرئيسي أنه يدعم معظم، وليس كل، LaTeX.يسردون وظائفهم المدعومة هنا.يعبر MathJax عن بعض ما فيه محددات أيضًا.على الرغم من أنه من الصعب معرفة من خلال التصفح السريع لهؤلاء الذين حصلوا في النهاية على دعم "أفضل".تقول بعض المدونات التي مررت بها إن KaTeX يحظى بدعم أقل، لكن آخرين قالوا إن KaTeX قام بتحسين الدعم بشكل ملحوظ في السنوات الأخيرة.
  • يعلن موقع MathJax عن دعم MathML لكل من الإدخال والإخراج.بعض مشكلات KaTeX على جيثب موقع هنا و هنا تشير إلى أنها تدعم MathML للإخراج، ولكن ليس للإدخال (لا أعرف الكثير عن MathML، لكنه على الأقل يبدو مهمًا إذا كنت تريد مساعدة المستخدمين ذوي الإعاقات البصرية).
  • يعرض KaTeX بشكل متزامن, ، لذلك لا يعيد تدفق الصفحة (جزء مما يجعلها أسرع).ولكن في المقابل يقوم بقفل المتصفح مؤقتًا.
  • StackOverflow هو شريك لـ MathJax (انظر هنا).يتم استخدامه على بعض مواقع StackExchange، ولكن ليس على StackOverflow نفسه بسبب أداء وقت تحميل الصفحة.في المقابل، تم تطوير KaTeX بواسطة أكاديمية خان.

أود بالتأكيد أن أشجعك على النظر إلى MathML إذا كان ذلك يناسب ما تبحث عنه ولكن القليل من العمل معه جستكس يمكن أن يوفر لك كل ما تحتاجه.

يمكنك استخدام tex2gif.يأخذ مقتطف LaTeX، ويقوم بتشغيل LaTeX وينتج PNG (أو GIF).من السهل التضمين، من السهل الكتابة.إنه يعمل بالنسبة لي.

يمكنك أيضا التحقق tex2png.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top