Μετάβαση στο περιεχόμενο

Το 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

LaTeXΠροοίμιο: \usepackage{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}
Στοιχειοθέτηση από το Scissor LaTeX: minted με JavaScript

Οι επιλογές γίνονται δεκτές και αγνοούνται, οπότε εδώ αυτό το μπλοκ δεν έχει αριθμούς γραμμών ούτε πλαίσιο:

Τα linenos και frame αγνοούνται

LaTeXΠροοίμιο: \usepackage{minted}Άνοιγμα στον επεξεργαστή (ανοίγει σε νέα καρτέλα)
\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

LaTeXΠροοίμιο: \usepackage{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.
Στοιχειοθέτηση από το 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.