Το 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 με λεζάντα μέσα σε 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.Συμβατότητα
- Από μια εγκατάσταση 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.