انتقل إلى المحتوى

minted في Scissor LaTeX

تعمل حزمة minted جزئيًا في Scissor LaTeX: يعمل \begin{minted}{python} و\mintinline دون Python أو -shell-escape، مع تلوين للصياغة من مخطط ألوان ثابت؛ أما خيارات مثل linenos و\setminted و\usemintedstyle وتسمية listing و\mint و\inputminted فغير مدعومة.

ماذا تفعل الحزمة

تلوّن minted الشيفرة المصدرية بمكتبة Pygments. تكتب \begin{minted}{python} ... \end{minted}، أو \mintinline{python}{code} داخل جملة. وتغيّر خيارات مثل linenos وframe=lines التخطيط، ويحدّدها \setminted للمستند كله، ويختار \usemintedstyle سمة ألوان. في تثبيت TeX، تحتاج minted إلى Python مع Pygments، ويجب أن يُترجَم المستند باستخدام -shell-escape.

ما الذي يعمل هنا

الميزةفي Scissor LaTeXملاحظات
\begin{minted}{lang} ... \end{minted}يعململوّنة، دون Python أو shell escape.
\mintinline{lang}{code}يعملبخط ثابت العرض، دون ألوان.
الخيارات: [linenos, frame=lines, bgcolor=...]يُحذفتُتجاهل دون أي رسالة.
\setminted{...} و\usemintedstyle{...}يُحذفيُتجاهلان دون أي رسالة؛ والألوان ثابتة.
البيئة listing مع \captionجزئيًاتُعرض الشيفرة وتُطبع التسمية نصًا عاديًا، دون "Listing 1"؛ ويُظهر \ref إليها "??".
\mint{lang}|code|غير مدعوميُتخطّى مع رسالة؛ وتُطبع اللغة والشيفرة نصًا عاديًا.
\inputminted{lang}{file}غير مدعوميُتخطّى مع رسالة.
\newminted و\newmintinlineغير مدعوميُتخطّيان مع رسالة، وتُطبع الوسائط.

أسماء اللغات هي نفسها المستخدمة في listings: Python وC وC++ وJava وJavaScript وRust وGo وR وMATLAB وSQL وBash وHTML وTeX وغيرها كثير، بالأحرف الكبيرة أو الصغيرة.

أمثلة

كتلة minted مع لغة:

minted مع JavaScript

\begin{minted}{javascript}
// greet a list of people
const people = ["Erika", "Hans", "John"];
for (const name of people) {
  console.log(`Hello, ${name}!`);
}
\end{minted}
نضّده Scissor LaTeX: minted مع JavaScript

تُقبل الخيارات وتُتجاهل، لذا لا تظهر في هذه الكتلة هنا أرقام أسطر ولا إطار:

linenos وframe يُتجاهلان

\begin{minted}[linenos, frame=lines]{rust}
fn main() {
    let total: u32 = (1..=8).sum();
    println!("{}", total + 8); // 44
}
\end{minted}
نضّده Scissor LaTeX: linenos وframe يُتجاهلان

لتسمية مرقّمة، استخدم figure بدلًا من البيئة listing الخاصة بـ minted. هنا تكون التسمية "Listing 1"، ويعطي \ref الرقم:

كتلة minted ذات تسمية داخل figure

\begin{figure}[h]
\begin{minted}{python}
print(sum(range(44)))
\end{minted}
\caption{Adding the numbers below 44}
\label{lst:sum}
\end{figure}
Listing~\ref{lst:sum} prints 946.
نضّده Scissor LaTeX: كتلة minted ذات تسمية داخل figure

التوافق

  • من تثبيت TeX إلى هنا: تُعرض كل كتلة minted بالألوان. لا تُطبَّق الخيارات والأنماط؛ استبدل \mint بـ \mintinline، والصق الشيفرة من ملفات \inputminted في المستند.
  • من هنا إلى تثبيت TeX: تُترجَم كتل minted هناك عندما تتوفر Python وPygments و-shell-escape. وتحمل figure المحيطة بكتلة minted هناك التسمية "Figure 1".

الدليل الكامل موجود على CTAN: ctan.org/pkg/minted. راجع أيضًا قوائم الشيفرة في LaTeX.

أسئلة وأجوبة

هل تعمل minted دون shell escape؟

هنا، نعم. يلوّن Scissor LaTeX كتل minted بنفسه، فلا حاجة إلى Python ولا إلى -shell-escape. أما في تثبيت TeX فما زال كلاهما مطلوبًا.

هل أستخدم minted أم listings؟

كلتاهما تعمل بالطريقة نفسها هنا: تُقرأ اللغة وتُتجاهل الخيارات الأخرى. وإن كان على المستند أن يُترجَم في مكان آخر دون shell escape أيضًا، فإن listings هي الخيار الأسلم.

كل مثال في هذه الصفحة ينضّده Scissor LaTeX عند بناء الموقع. آخر تحديث: 2026-11-07.