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}สำหรับคำบรรยายที่มีหมายเลข ให้ใช้ figure แทนสภาพแวดล้อม listing ของ minted ที่นี่คำบรรยายจะเป็น "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