github - markdown شرح




تقديم اللاتكس في README.md على جيثب (5)

Readme2Tex

لقد كنت أعمل على برنامج نصي يقوم بأتمتة الجزء الأكبر من عملية الحصول على مجموعة مطبوعة من LaTeX بشكل جيد في عملية تخفيض أسعار بنكهة Github: https://github.com/leegao/readme2tex

هناك بعض التحديات مع تقديم LaTeX لـ Github. أولاً ، تجريد التخفيضات بنكهة جيثب معظم العلامات ومعظم السمات. هذا يعني عدم وجود مكتبات قائمة على Javascript (مثل Mathjax) أو أي تصميم CSS.

يبدو أن الحل الطبيعي يتمثل في تضمين صور المعادلات المترجمة مسبقًا. ومع ذلك ، ستدرك قريبًا أن LaTeX يفعل أكثر من مجرد تحويل الصيغ المغلقة بالدولار إلى صور.

ببساطة تضمين الصور من المترجمين عبر الإنترنت يعطي هذا المظهر غير الطبيعي حقًا في المستند. في الواقع ، أود أن أزعم أنه أكثر قابلية للقراءة في كلامك الرياضي اليومي x ^ 2 من الوثاب .

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

على سبيل المثال ، فيما يلي مقتطف من ملف .md فيما يتعلق ببعض الخصائص التعدادية readme2tex التعبيرات العادية التي تستخدم readme2tex :

كما قد تتوقع ، يتم تحديد مجموعة المعادلات في الجزء العلوي من خلال البدء فقط في بيئة align* المقابلة

**Theorem**: The translation $[\![e]\!]$ given by
\begin{align*}
...
\end{align*}
...

لاحظ أنه بينما تعمل المعادلات المضمّنة ($ ... $) بالنص ، يتم عرض معادلات العرض (المعادلات المحددة بواسطة \begin{ENV}...\end{ENV} أو $$...$$ ). هذا يجعل من السهل على الأشخاص الذين اعتادوا بالفعل على تطبيق LaTeX الحفاظ على إنتاجيتهم.

إذا كان هذا يبدو وكأنه شيء يمكن أن يساعد ، تأكد من التحقق من ذلك. https://github.com/leegao/readme2tex

هل هناك أي طريقة لتقديم LaTex في README.md في مستودع GitHub؟ لقد غوغل ذلك وبحثت في تجاوز سعة المكدس ولكن لا يبدو أن أي من الإجابات ذات الصلة ممكنة.


أقوم باختبار بعض الحلول التي اقترحها الآخرون وأود أن أوصي بإنشاء TeXify واقترح في تعليق بواسطة agurodriguez ووصفه توم هال - أود تطوير إجابته وإعطاء سبب لماذا هذا حل جيد جدًا:

  • TeXify هو غلاف https://github.com/leegao/readme2tex (ذكر في الإجابة لي ). لاستخدام Readme2Tex ، يجب عليك تثبيت الكثير من البرامج في جهازك المحلي (python ، latex ، ...) - ولكن TeXify هو مكون إضافي لـ github ، لذلك لا تحتاج إلى تثبيت أي شيء في جهازك المحلي - ما عليك سوى التثبيت عبر الإنترنت والذي البرنامج المساعد في حساب github الخاص بك عن طريق الضغط على TeXify واحد واختيار المستودعات التي سيكون TeXify لها حق الوصول للقراءة / الكتابة لتحليل صيغ تكس الخاصة بك وإنشاء صور.
  • عندما تقوم في *.tex.md بإنشاء أو تحديث ملف *.tex.md ، سيكتشف TeXify التغييرات ويقوم بإنشاء ملف *.md حيث سيتم تبادل صيغ اللاتكس عن طريق الصور المحفوظة في دليل النص في إعادة الشراء. لذلك إذا قمت بإنشاء ملف README.tex.md ، فإن TeXify سينشئ README.md بالصور بدلاً من صيغ tex. حتى يتم تحليل صيغ تكس وتوليد الوثائق تلقائيًا على كل التزام ودفع :)
  • نظرًا لأن كل صيغك قد تغيرت إلى صور في دليل tex وأن ملف README.md يستخدم ارتباطات لتلك الصور ، يمكنك إلغاء تثبيت TeXify وستظل جميع المستندات القديمة تعمل :). *.tex.md دليل tex وملفات *.tex.md على المستودع حتى تتمكن من الوصول إلى صيغ وصور اللاتكس الأصلية الخاصة بك (يمكنك أيضًا تخزين صور الوثائق الأخرى "المصنوعة يدويًا" بأمان في دليل tex - لن يلمسها TeXify) .
  • يمكنك استخدام بناء جملة المعادلات اللاتكس مباشرة في ملف README.tex.md (دون فقدان بناء جملة markm.) وهو مفيد جدًا . اقترح Julii في إجابته استخدام روابط خاصة (مع الصيغ) للخدمة الخارجية على سبيل المثال. http://latex.codecogs.com/gif.latex?s%3D%5Ctext%20%7B%20sensor%20reading%20%7D وهو أمر جيد ومع ذلك به بعض العيوب: الصيغ الموجودة في الروابط ليست سهلة (سهلة الاستخدام) قراءة وتحديث ، وإذا كانت هناك مشكلة في خدمة الجهة الخارجية هذه ، فستتوقف الوثائق القديمة عن العمل ... في TeXify ، ستعمل وثائقك القديمة دائمًا حتى إذا قمت بإلغاء تثبيت هذا البرنامج المساعد (لأن جميع صورك التي تم إنشاؤها من صيغ اللاتكس هي البقاء في الريبو في دليل tex ).
  • اقترح https://gist.github.com/cyhsutw/d5983d166fb70ff651f027b2aa56ee4e Jiang في إجابته ، استخدام https://gist.github.com/cyhsutw/d5983d166fb70ff651f027b2aa56ee4e وهو لطيف أيضًا ولكن به بعض السلبيات: لا يمكنك استخدام الصيغ مباشرةً في ملف README.md ، تحتاج إلى إنشاء رابط إلى ملف آخر * .ipynb في الريبو الخاص بك والذي يحتوي على مادة لاتكس (MathJax) الصيغ. تنسيق الملف * .ipynb هو JSON وهو غير سهل الصيانة (على سبيل المثال ، لا يُظهر Gist خطأً مفصلاً برقم السطر في ملف * .ipynb عندما تنسى وضع فاصلة في المكان المناسب ...).

فيما يلي رابط لبعض الريبو الخاص بي حيث يمكنني استخدام TeXify للوثائق التي تم إنشاؤها من ملف README.tex.md .


بالنسبة إلى عمليات الاستقصاء القصيرة والرياضيات الهائلة ، يمكنك استخدام لغة HTML المضمنة للحصول على مادة اللاتكس الخاصة بك في برامج الترميز ثم تضمين الصورة الناتجة. هنا مثال:

- <img src="https://latex.codecogs.com/gif.latex?O_t=\text { Onset event at time bin } t " /> 
- <img src="https://latex.codecogs.com/gif.latex?s=\text { sensor reading }  " /> 
- <img src="https://latex.codecogs.com/gif.latex?P(s | O_t )=\text { Probability of a sensor reading value when sleep onset is observed at a time bin } t " />

والتي يجب أن تؤدي إلى شيء مثل التالي

تحديث: هذا يعمل بشكل كبير في الكسوف ولكن ليس في جيثب لسوء الحظ. العمل الوحيد هو التالي:

شارك في معادلة اللاتكس وانتقل إلى http://www.codecogs.com/latex/eqneditor.php ، في الجزء السفلي من المنطقة التي تظهر فيها المعادلة معروضة هناك قائمة منسدلة صغيرة ، واختر عنوان URL المشفر ، ثم الصقه في جيثب تخفيض السعر في الطريقة التالية:

![equation](http://latex.codecogs.com/gif.latex?O_t%3D%5Ctext%20%7B%20Onset%20event%20at%20time%20bin%20%7D%20t)
![equation](http://latex.codecogs.com/gif.latex?s%3D%5Ctext%20%7B%20sensor%20reading%20%7D) 
![equation](http://latex.codecogs.com/gif.latex?P%28s%20%7C%20O_t%20%29%3D%5Ctext%20%7B%20Probability%20of%20a%20sensor%20reading%20value%20when%20sleep%20onset%20is%20observed%20at%20a%20time%20bin%20%7D%20t)

خدعتي هي استخدام Jupyter Notebook.

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

إليك نموذج لملف دفتر الملاحظات: https://gist.github.com/cyhsutw/d5983d166fb70ff651f027b2aa56ee4e


يمكن للمرء أيضًا استخدام هذا المحرر عبر الإنترنت: https://www.codecogs.com/latex/eqneditor.php الذي ينشئ ملفات SVG أثناء الطيران. يمكنك وضع رابط في وثيقتك مثل هذا ![](https://latex.codecogs.com/svg.latex?y%3Dx%5E2) مما ينتج عنه: .





markdown