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}گزینهها پذیرفته و نادیده گرفته میشوند، پس این بلوک اینجا شمارهٔ سطر یا قاب ندارد:
linenos و frame نادیده گرفته میشوند
\begin{minted}[linenos, frame=lines]{rust}
fn main() {
let total: u32 = (1..=8).sum();
println!("{}", total + 8); // 44
}
\end{minted}برای زیرنویس شمارهدار، به جای محیط listing در minted از یک figure استفاده کنید. اینجا زیرنویس «Listing 1» خوانده میشود و \ref شماره را میدهد:
بلوک minted زیرنویسدار درون یک شکل
\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.سازگاری
- از یک نصب 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.