Scissor LaTeX-এ minted
Scissor LaTeX-এ minted প্যাকেজ আংশিকভাবে কাজ করে: \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-এর জন্য Pygments-সহ Python লাগে, আর ডকুমেন্টটি -shell-escape দিয়ে কম্পাইল করতে হয়।
এখানে কী কাজ করে
| ফিচার | Scissor LaTeX-এ | মন্তব্য |
|---|---|---|
\begin{minted}{lang} ... \end{minted} | কাজ করে | Python বা shell escape ছাড়াই রঙিন। |
\mintinline{lang}{code} | কাজ করে | মনোস্পেসড, রং ছাড়া। |
অপশন: [linenos, frame=lines, bgcolor=...] | বাদ পড়ে | কোনো বার্তা ছাড়াই উপেক্ষা করা হয়। |
\setminted{...}, \usemintedstyle{...} | বাদ পড়ে | কোনো বার্তা ছাড়াই উপেক্ষা করা হয়; রংগুলো নির্দিষ্ট। |
\caption-সহ listing এনভায়রনমেন্ট | আংশিক | কোড দেখানো হয় আর ক্যাপশনটি "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 ব্লক:
JavaScript-সহ minted
\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}নম্বরযুক্ত ক্যাপশনের জন্য minted-এর listing এনভায়রনমেন্টের বদলে একটি figure ব্যবহার করুন। এখানে ক্যাপশনে "Listing 1" লেখা থাকে, আর \ref নম্বরটি দেয়:
একটি figure-এর ভেতরে ক্যাপশনসহ 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 ইনস্টলেশনে: Python, Pygments আর
-shell-escapeথাকলে minted ব্লকগুলো সেখানে কম্পাইল হয়। সেখানে minted ব্লকের চারপাশের একটিfigure-এর ক্যাপশন হয় "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।