Langsung ke konten

Listing kode di LaTeX

Letakkan kode di lingkungan verbatim, lstlisting, atau minted, atau pakai \verb|...| di dalam baris; Scissor LaTeX mencetaknya dengan huruf monospace persis seperti yang diketik dan mewarnai sintaksnya jika Anda menyebutkan bahasanya.

verbatim

Di dalam verbatim, tidak ada yang ditafsirkan: garis miring terbalik, kurung kurawal, $, dan % dicetak apa adanya, dan pergantian baris serta spasi dipertahankan. Ini cara paling sederhana untuk menampilkan kode atau keluaran terminal.

Blok verbatim

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

Kode di dalam baris: \verb

\verb menampilkan potongan kode pendek di dalam kalimat. Karakter tepat setelah \verb adalah pembatasnya; pilih karakter yang tidak ada di dalam kode, seperti | atau +.

Kode di 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.
Ditata oleh Scissor LaTeX: Kode di dalam baris dengan \verb dan \texttt

\texttt{...} hanya mengubah font: karakter khusus seperti _ dan % tetap perlu di-escape di sana, sedangkan \verb menerimanya apa adanya.

listings: lstlisting dengan bahasa

Paket listings menyediakan lstlisting. Dengan language=... kodenya mendapat pewarnaan sintaks.

lstlisting dengan language=Python

LaTeXPreambul: \usepackage{listings}Buka di editor (terbuka di tab baru)
\begin{lstlisting}[language=Python]
def total(xs):
    """Add up the numbers in xs."""
    return sum(xs)

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

\lstinline|kode| adalah bentuk di dalam baris, seperti \verb.

minted

minted menerima bahasa sebagai argumen. Di instalasi TeX paket ini membutuhkan Python dan opsi -shell-escape; di Scissor LaTeX paket ini berfungsi tanpa keduanya.

minted dengan sebuah bahasa

LaTeXPreambul: \usepackage{minted}Buka di editor (terbuka di tab baru)
\begin{minted}{rust}
fn main() {
    let answer = 40 + 4;
    println!("{}", answer);
}
\end{minted}
Inline: \mintinline{rust}{let x = 44;}
Ditata oleh Scissor LaTeX: minted dengan sebuah bahasa

Apa yang dibaca

PerintahDi Scissor LaTeXCatatan
verbatim, verbatim*Berfungsi
\verb, \verb*Berfungsi
lstlistingSebagianlanguage= dibaca; semua opsi lain (numbers, caption, frame, basicstyle, firstline ...) diabaikan.
\lstinlineBerfungsiTanpa pewarnaan sintaks di dalam baris.
\lstset{...}DilewatiBahasa yang diatur di sini tidak dipakai; berikan language= pada setiap listing.
mintedSebagianBahasanya dibaca; opsi seperti linenos dan frame diabaikan.
\mintinline{lang}{code}BerfungsiTanpa pewarnaan sintaks di dalam baris.
Verbatim, BVerbatim (fancyvrb)SebagianDitampilkan sebagai verbatim; opsinya diabaikan.
\lstinputlisting{file}, \inputminted{lang}{file}Tidak didukungDilewati dengan pesan; tempel kodenya ke dalam dokumen.
\lstnewenvironment, \newmintedTidak didukung

Pewarnaan sintaks tersedia untuk bahasa-bahasa umum, di 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 membedakan huruf besar dan kecil, jadi Python dan python sama saja. Nama yang tidak dikenali menghasilkan kode monospace biasa.

Kode dari file

\lstinputlisting dan \inputminted membaca kode dari file lain di instalasi TeX. Scissor LaTeX melewatinya dan memberitahukannya di tab Masalah:

\lstinputlisting dilewati

LaTeXPreambul: \usepackage{listings}Buka di editor (terbuka di tab baru)
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

Apa yang berbeda dari instalasi TeX

Lihat listings dan minted untuk halaman paketnya. Manual lengkapnya ada di CTAN: listings, minted, dan fancyvrb.

Tanya jawab

Bagaimana cara menambahkan blok kode di LaTeX?

Bungkus kodenya dalam \begin{verbatim} ... \end{verbatim}, atau dalam lstlisting dengan [language=Python] untuk pewarnaan sintaks.

Apakah minted berfungsi tanpa shell escape?

Di Scissor LaTeX, ya: lingkungan minted diwarnai tanpa Python atau -shell-escape. Di instalasi TeX, minted tetap membutuhkan keduanya.

Mengapa nomor baris listing saya tidak muncul?

Scissor LaTeX mengabaikan numbers=left dan opsi tata letak lain dari listings. Hanya bahasanya yang dibaca.

Setiap contoh di halaman ini ditata oleh Scissor LaTeX saat situs dibuat. Terakhir diperbarui 2026-11-07.