Λίστες κώδικα σε 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.Το \texttt{...} αλλάζει μόνο τη γραμματοσειρά: ειδικοί χαρακτήρες όπως _ και % χρειάζονται και εκεί διαφυγή, ενώ το \verb τους δέχεται όπως είναι.
listings: lstlisting με γλώσσα
Το πακέτο listings σας δίνει το lstlisting. Με language=... ο κώδικας παίρνει χρώματα σύνταξης.
lstlisting με language=Python
\begin{lstlisting}[language=Python]
def total(xs):
"""Add up the numbers in xs."""
return sum(xs)
print(total([40, 4])) # 44
\end{lstlisting}Το \lstinline|code| είναι η μορφή μέσα στη γραμμή, όπως το \verb.
minted
Το minted δέχεται τη γλώσσα ως όρισμα. Σε μια εγκατάσταση TeX χρειάζεται Python και την επιλογή -shell-escape· στο Scissor LaTeX λειτουργεί χωρίς κανένα από τα δύο.
minted με γλώσσα
\begin{minted}{rust}
fn main() {
let answer = 40 + 4;
println!("{}", answer);
}
\end{minted}
Inline: \mintinline{rust}{let x = 44;}Τι διαβάζεται
| Εντολή | Στο 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 παραλείπεται
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.