Skip to main content
توضح هذه المقالة كيفية استخدام الحزمة minted لتنسيق الشيفرة المصدرية للغات البرمجة وتلوينها داخل مستند LaTeX، بدءًا بمثال:
ينتج هذا المثال المخرجات التالية:

مثال يعرض مخرجات الحزمة minted

هناك أمران مهمان هنا. في الديباجة (preamble) يتم استيراد الحزمة بكتابة
ثم يحدّد الوسمان \begin{minted}{python} و \end{minted} بيئةً تطبع النص حرفيًا بخطوط أحادية المسافة، كما تطبّق الألوان على التعليقات والكلمات المفتاحية والدوال. والمعامل python هو لغة البرمجة المكتوبة بها الشيفرة المصدرية. تدعم minted أكثر من 150 لغة برمجة وترميز بالإضافة إلى ملفات الإعداد، راجع الدليل المرجعي للاطلاع على قائمة اللغات المدعومة. ملاحظة: لكي تعمل minted مع توزيعة LaTeX المحلية لديك، يجب تثبيت برنامج إضافي يسمى Pygments. ويمكن لـ Overleaf أن يوفّر عليك عناء تثبيته والحاجة إلى تشغيل أوامر خاصة لترجمة مستندك — ففي Overleaf، تعمل المستندات التي تستخدم minted “مباشرةً دون إعداد”.

الاستخدام الأساسي

كما هو موضح في المثال التالي، يمكن إعداد البيئة minted لتعديل العرض المرئي للشيفرة المنضّدة. وهنا تستخدم البيئة minted عدة معاملات مفصولة بفواصل بالصيغة key=value:
ينتج هذا المثال المخرجات التالية:

مثال على تطبيق التنسيق على الشيفرة المنضّدة بواسطة الحزمة minted

المعاملات المستخدمة في هذا المثال هي:
  • frame=lines: يرسم خطين، أحدهما في أعلى الشيفرة والآخر في أسفلها لتأطيرها. ومن القيم الممكنة الأخرى leftline و topline و bottomline و single.
  • framesep=2mm: تُعيَّن المسافة الفاصلة للإطار إلى 2mm. ويمكن استخدام وحدات طول أخرى.
  • baselinestretch=1.2: يُعيَّن تباعد أسطر الشيفرة إلى 1.2.
  • bgcolor=LightGray: يُعيَّن لون الخلفية إلى LightGray. تحتاج إلى استيراد الحزمة xcolor لكي يعمل ذلك. راجع استخدام الألوان في LaTeX لمعرفة المزيد حول التعامل مع الألوان.
  • fontsize=\footnotesize: يُعيَّن حجم الخط إلى footnotesize. ويمكن تعيين أي حجم خط آخر.
  • linenos: يفعّل أرقام الأسطر.
من الخيارات الأخرى التي قد تكون مفيدة:
  • mathescape: يفعّل الوضع الرياضي في تعليقات الشيفرة.
  • rulecolor: يغيّر لون الإطار.
  • showspaces: يفعّل حرفًا خاصًا لإظهار المسافات.

تضمين الشيفرة من ملف

عادةً ما تُخزَّن الشيفرة في ملف مصدري، لذا فإن وجود أمر يستورد الشيفرة تلقائيًا من ملف أمر مفيد جدًا، كما هو موضح في المثال التالي:
ينتج هذا المثال المخرجات التالية: استخدام minted لاستيراد ملف شيفرة يستورد الأمر \inputminted{octave}{BitXorMatrix.m} الشيفرة من الملف BitXorMatrix.m، ويخبر المعامل octave نظام LaTeX بلغة البرمجة الخاصة بالشيفرة. ويمكن أن يأخذ هذا الأمر معاملين إضافيين لاستيراد جزء من الملف فقط؛ فعلى سبيل المثال، لاستيراد الشيفرة من السطر 2 إلى السطر 12، يصبح الأمر:

شيفرة من سطر واحد

إذا كنت بحاجة إلى إدخال سطر واحد فقط من الشيفرة، فإن الأمر \mint، الذي تُعرض صيغته في المثال التالي، سيفي بالغرض.
ينتج هذا المثال المخرجات التالية: مثال على شيفرة من سطر واحد باستخدام minted يحدد المعامل الموجود بين الأقواس المعقوفة لغة البرمجة (لغة الترميز html في هذه الحالة)، بينما يُحدَّد النص الفعلي المراد تنسيقه بالحرف ’|’.

مشكلات مع Overleaf ذاتي الاستضافة

إذا كنت تستخدم الترجمة المعزولة (sandbox compile) وكذلك خادم overleaf لنشر overleaf، فقد لا تعمل minted بشكل جيد. للاطلاع على معلومات مفصلة، راجع: issues/131. ستحتاج إلى تفعيل ملف تعريف تعليمات arm وبعض استدعاءات النظام لكي تعمل minted.
آخر تعديل في ٤ أكتوبر ٢٠٢٦