Langkau ke kandungan

Penyenaraian kod dalam LaTeX

Letakkan kod dalam persekitaran verbatim, lstlisting atau minted, atau gunakan \verb|...| dalam baris; Scissor LaTeX mencetaknya dalam fon monospace tepat seperti yang ditaip dan mewarnakan sintaksnya apabila anda menamakan bahasanya.

verbatim

Di dalam verbatim, tiada apa yang ditafsirkan: garis condong ke belakang, kurungan kerinting, $ dan % dicetak seadanya, dan pemisah baris serta ruang dikekalkan. Ia cara paling mudah untuk menunjukkan kod atau output terminal.

Blok verbatim

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

Kod dalam baris: \verb

\verb menunjukkan sekeping kod pendek di dalam ayat. Aksara sejurus selepas \verb ialah pembatasnya; pilih aksara yang tiada dalam kod, seperti | atau +.

Kod dalam baris dengan \verb dan \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.
Disusun atur oleh Scissor LaTeX: Kod dalam baris dengan \verb dan \texttt

\texttt{...} hanya menukar fon: aksara khas seperti _ dan % masih perlu dilepaskan di situ, manakala \verb menerimanya seadanya.

listings: lstlisting dengan bahasa

Pakej listings memberikan anda lstlisting. Dengan language=..., kod itu mendapat warna sintaks.

lstlisting dengan language=Python

LaTeXMukadimah: \usepackage{listings}Buka dalam editor (dibuka dalam tab baharu)
\begin{lstlisting}[language=Python]
def total(xs):
    """Add up the numbers in xs."""
    return sum(xs)

print(total([40, 4]))  # 44
\end{lstlisting}
Disusun atur oleh Scissor LaTeX: lstlisting dengan language=Python

\lstinline|code| ialah bentuk dalam baris, seperti \verb.

minted

minted menerima bahasa sebagai argumen. Dalam pemasangan TeX ia memerlukan Python dan pilihan -shell-escape; dalam Scissor LaTeX ia berfungsi tanpa kedua-duanya.

minted dengan bahasa

LaTeXMukadimah: \usepackage{minted}Buka dalam editor (dibuka dalam tab baharu)
\begin{minted}{rust}
fn main() {
    let answer = 40 + 4;
    println!("{}", answer);
}
\end{minted}
Inline: \mintinline{rust}{let x = 44;}
Disusun atur oleh Scissor LaTeX: minted dengan bahasa

Apa yang dibaca

PerintahDalam Scissor LaTeXCatatan
verbatim, verbatim*Berfungsi
\verb, \verb*Berfungsi
lstlistingSebahagianlanguage= dibaca; setiap pilihan lain (numbers, caption, frame, basicstyle, firstline ...) diabaikan.
\lstinlineBerfungsiTiada warna sintaks dalam baris.
\lstset{...}DitinggalkanBahasa yang ditetapkan di sini tidak digunakan; berikan language= pada setiap penyenaraian.
mintedSebahagianBahasanya dibaca; pilihan seperti linenos dan frame diabaikan.
\mintinline{lang}{code}BerfungsiTiada warna sintaks dalam baris.
Verbatim, BVerbatim (fancyvrb)SebahagianDitunjukkan sebagai verbatim; pilihan diabaikan.
\lstinputlisting{file}, \inputminted{lang}{file}Tidak disokongDilangkau dengan mesej; tampal kod itu ke dalam dokumen.
\lstnewenvironment, \newmintedTidak disokong

Warna sintaks tersedia untuk bahasa yang biasa, antaranya Python, C, C++, Java, JavaScript, TypeScript, Rust, Go, Ruby, R, Julia, MATLAB, SQL, Bash, HTML, CSS, JSON, YAML, TeX dan LaTeX. Nama bahasa tidak peka huruf besar-kecil, jadi Python dan python adalah sama. Nama yang tidak dikenali memberikan kod monospace biasa.

Kod daripada fail

\lstinputlisting dan \inputminted membaca kod daripada fail lain dalam pemasangan TeX. Scissor LaTeX melangkaunya dan menyatakannya dalam tab Masalah:

\lstinputlisting dilangkau

LaTeXMukadimah: \usepackage{listings}Buka dalam editor (dibuka dalam tab baharu)
The script below is not shown:
\lstinputlisting[language=Python]{scripts/total.py}
Paste the code into an lstlisting environment instead.

Tab Masalah: 1 included file is not part of this conversion

Perbezaan daripada pemasangan TeX

Lihat listings dan minted untuk halaman pakejnya. Manual penuhnya ada di CTAN: listings, minted dan fancyvrb.

Soalan dan jawapan

Bagaimanakah saya menambah blok kod dalam LaTeX?

Balut kod itu dalam \begin{verbatim} ... \end{verbatim}, atau dalam lstlisting dengan [language=Python] untuk warna sintaks.

Adakah minted berfungsi tanpa shell escape?

Dalam Scissor LaTeX, ya: persekitaran minted diwarnakan tanpa Python atau -shell-escape. Dalam pemasangan TeX, minted masih memerlukan kedua-duanya.

Mengapakah nombor baris penyenaraian saya tiada?

Scissor LaTeX mengabaikan numbers=left dan pilihan susun atur listings yang lain. Hanya bahasanya dibaca.

Setiap contoh di halaman ini disusun atur oleh Scissor LaTeX semasa laman dibina. Kali terakhir dikemas kini 2026-11-07.