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

Λίστες κώδικα σε LaTeX

Βάλτε τον κώδικα σε ένα περιβάλλον verbatim, lstlisting ή minted, ή χρησιμοποιήστε \verb|...| μέσα στη γραμμή· το Scissor LaTeX τον στοιχειοθετεί με γραμματοσειρά σταθερού πλάτους ακριβώς όπως πληκτρολογήθηκε και χρωματίζει τη σύνταξη όταν δηλώνετε τη γλώσσα.

verbatim

Μέσα στο verbatim τίποτα δεν ερμηνεύεται: οι ανάποδες κάθετοι, τα άγκιστρα, το $ και το % τυπώνονται όπως είναι, και οι αλλαγές γραμμής και τα κενά διατηρούνται. Είναι ο απλούστερος τρόπος να δείξετε κώδικα ή έξοδο τερματικού.

Ένα μπλοκ verbatim

\begin{verbatim}
for i in range(44):
    print(i)   # $ and \textbf stay as typed
\end{verbatim}

Κώδικας μέσα στη γραμμή: \verb

Το \verb δείχνει ένα σύντομο κομμάτι κώδικα μέσα σε μια πρόταση. Ο χαρακτήρας αμέσως μετά το \verb είναι ο οριοθέτης· διαλέξτε έναν που δεν υπάρχει στον κώδικα, όπως | ή +.

Κώδικας μέσα στη γραμμή με \verb και \texttt

Call \verb|total(xs)| to add the list, or type \verb+x_1 = 44+.
For plain words in a monospaced font, \texttt{main.tex} is enough.
Στοιχειοθέτηση από το Scissor LaTeX: Κώδικας μέσα στη γραμμή με \verb και \texttt

Το \texttt{...} αλλάζει μόνο τη γραμματοσειρά: ειδικοί χαρακτήρες όπως _ και % χρειάζονται και εκεί διαφυγή, ενώ το \verb τους δέχεται όπως είναι.

listings: lstlisting με γλώσσα

Το πακέτο listings σας δίνει το lstlisting. Με language=... ο κώδικας παίρνει χρώματα σύνταξης.

lstlisting με language=Python

LaTeXΠροοίμιο: \usepackage{listings}Άνοιγμα στον επεξεργαστή (ανοίγει σε νέα καρτέλα)
\begin{lstlisting}[language=Python]
def total(xs):
    """Add up the numbers in xs."""
    return sum(xs)

print(total([40, 4]))  # 44
\end{lstlisting}
Στοιχειοθέτηση από το Scissor LaTeX: lstlisting με language=Python

Το \lstinline|code| είναι η μορφή μέσα στη γραμμή, όπως το \verb.

minted

Το minted δέχεται τη γλώσσα ως όρισμα. Σε μια εγκατάσταση TeX χρειάζεται Python και την επιλογή -shell-escape· στο Scissor LaTeX λειτουργεί χωρίς κανένα από τα δύο.

minted με γλώσσα

LaTeXΠροοίμιο: \usepackage{minted}Άνοιγμα στον επεξεργαστή (ανοίγει σε νέα καρτέλα)
\begin{minted}{rust}
fn main() {
    let answer = 40 + 4;
    println!("{}", answer);
}
\end{minted}
Inline: \mintinline{rust}{let x = 44;}
Στοιχειοθέτηση από το Scissor LaTeX: minted με γλώσσα

Τι διαβάζεται

ΕντολήΣτο Scissor LaTeXΣημειώσεις
verbatim, verbatim*Λειτουργεί
\verb, \verb*Λειτουργεί
lstlistingΕν μέρειΤο language= διαβάζεται· κάθε άλλη επιλογή (numbers, caption, frame, basicstyle, firstline ...) αγνοείται.
\lstinlineΛειτουργείΧωρίς χρώματα σύνταξης μέσα στη γραμμή.
\lstset{...}ΠαραλείπεταιΜια γλώσσα που ορίζεται εδώ δεν χρησιμοποιείται· δώστε language= σε κάθε λίστα κώδικα.
mintedΕν μέρειΗ γλώσσα διαβάζεται· επιλογές όπως linenos και frame αγνοούνται.
\mintinline{lang}{code}ΛειτουργείΧωρίς χρώματα σύνταξης μέσα στη γραμμή.
Verbatim, BVerbatim (fancyvrb)Εν μέρειΕμφανίζονται ως verbatim· οι επιλογές αγνοούνται.
\lstinputlisting{file}, \inputminted{lang}{file}Δεν υποστηρίζεταιΠαραλείπονται με μήνυμα· επικολλήστε τον κώδικα στο έγγραφο.
\lstnewenvironment, \newmintedΔεν υποστηρίζεται

Χρώματα σύνταξης υπάρχουν για τις συνηθισμένες γλώσσες, ανάμεσά τους Python, C, C++, Java, JavaScript, TypeScript, Rust, Go, Ruby, R, Julia, MATLAB, SQL, Bash, HTML, CSS, JSON, YAML, TeX και LaTeX. Τα ονόματα γλωσσών δεν κάνουν διάκριση πεζών-κεφαλαίων, οπότε τα Python και python είναι το ίδιο. Ένα όνομα που δεν αναγνωρίζεται δίνει απλό κώδικα σταθερού πλάτους.

Κώδικας από αρχείο

Τα \lstinputlisting και \inputminted διαβάζουν κώδικα από άλλο αρχείο σε μια εγκατάσταση TeX. Το Scissor LaTeX τα παραλείπει και το αναφέρει στην καρτέλα Προβλήματα:

Το \lstinputlisting παραλείπεται

LaTeXΠροοίμιο: \usepackage{listings}Άνοιγμα στον επεξεργαστή (ανοίγει σε νέα καρτέλα)
The script below is not shown:
\lstinputlisting[language=Python]{scripts/total.py}
Paste the code into an lstlisting environment instead.

Καρτέλα Προβλήματα: 1 included file is not part of this conversion

Τι διαφέρει από μια εγκατάσταση TeX

Δείτε τις σελίδες των πακέτων listings και minted. Τα πλήρη εγχειρίδια βρίσκονται στο CTAN: listings, minted και fancyvrb.

Ερωτήσεις και απαντήσεις

Πώς προσθέτω ένα μπλοκ κώδικα σε LaTeX;

Περικλείστε τον κώδικα σε \begin{verbatim} ... \end{verbatim} ή σε lstlisting με [language=Python] για χρώματα σύνταξης.

Λειτουργεί το minted χωρίς shell escape;

Στο Scissor LaTeX, ναι: τα περιβάλλοντα minted χρωματίζονται χωρίς Python και χωρίς -shell-escape. Σε μια εγκατάσταση TeX το minted εξακολουθεί να χρειάζεται και τα δύο.

Γιατί λείπουν οι αριθμοί γραμμών από τη λίστα κώδικά μου;

Το Scissor LaTeX αγνοεί το numbers=left και τις άλλες επιλογές διάταξης του listings. Διαβάζεται μόνο η γλώσσα.

Κάθε παράδειγμα σε αυτή τη σελίδα στοιχειοθετείται από το Scissor LaTeX κατά τη δημιουργία του ιστότοπου. Τελευταία ενημέρωση: 2026-11-07.