listings di Scissor LaTeX
Paket listings berfungsi sebagian di Scissor LaTeX: lstlisting mempertahankan kode persis seperti yang diketik dan mewarnainya jika Anda memberikan language= pada lingkungannya, dan \lstinline berfungsi; \lstset, nomor baris, bingkai, keterangan, dan label diabaikan, dan \lstinputlisting dilewati.
Apa yang dilakukan paket ini
listings menata kode sumber. Lingkungan lstlisting mempertahankan pemisah baris dan spasi, dan dengan language=Python (atau C, Java, SQL ...) ia mencetak kata kunci, komentar, dan string dengan gaya yang berbeda. Opsi menambahkan nomor baris, bingkai, keterangan, dan warna, baik per listing maupun untuk seluruh dokumen dengan \lstset. \lstinline adalah bentuk sebarisnya, dan \lstinputlisting membaca kode dari file.
Apa yang berfungsi di sini
| Fitur | Di Scissor LaTeX | Catatan |
|---|---|---|
\begin{lstlisting} ... \end{lstlisting} | Berfungsi | Monospasi, persis seperti yang diketik. |
[language=Python] pada lingkungan | Berfungsi | Warna sintaksis dari skema tetap. |
[language={[Sharp]C}] dan dialek lainnya | Berfungsi | Dialek dalam kurung siku dibaca bersama namanya. |
\lstinline|code|, \lstinline{code} | Berfungsi | Monospasi, tanpa warna. |
numbers=left, frame=single, basicstyle, keywordstyle, backgroundcolor | Dihilangkan | Diabaikan tanpa pesan. |
caption=, label= | Dihilangkan | Tidak ada keterangan yang dicetak, dan \ref ke labelnya menampilkan "??". |
\lstset{...}, \lstdefinestyle, style= | Dihilangkan | Diabaikan, termasuk language= yang diatur di sana. |
\lstinputlisting{file} | Tidak didukung | Dilewati dengan pesan. |
\lstlistoflistings, \lstnewenvironment | Tidak didukung | Dilewati dengan pesan. |
Nama bahasa tidak peka huruf besar-kecil. Warna tersedia untuk bahasa umum seperti Python, C, C++, C#, Java, JavaScript, Rust, Go, R, MATLAB, SQL, Bash, HTML, dan TeX. Nama yang tidak dikenali, seperti Fortran, menghasilkan kode monospasi biasa tanpa pesan.
Contoh
Berikan bahasanya pada setiap listing:
lstlisting dengan language=Python
\begin{lstlisting}[language=Python]
def mean(values):
# average of a list of numbers
return sum(values) / len(values)
print(mean([40, 44, 48]))
\end{lstlisting}Bahasa yang diatur dengan \lstset tidak dipakai, jadi listing ini tidak berwarna. Opsi tata letak seperti numbers dan frame juga diabaikan:
\lstset diabaikan
\documentclass{article}
\usepackage{listings}
\lstset{language=SQL, numbers=left, frame=single}
\begin{document}
\begin{lstlisting}
SELECT name FROM staff WHERE id = 44;
\end{lstlisting}
\begin{lstlisting}[language=SQL]
SELECT name FROM staff WHERE id = 44;
\end{lstlisting}
\end{document}Kode sebaris dengan \lstinline menerima pembatas apa pun, seperti \verb:
\lstinline dalam kalimat
The loop \lstinline|for i in range(44):| runs 44 times, and
\lstinline{total += i} adds up the numbers.Listing berketerangan di dalam figure
\begin{figure}[h]
\begin{lstlisting}[language=Python]
print(sum(range(44)))
\end{lstlisting}
\caption{Adding the numbers below 44}
\label{lst:sum}
\end{figure}
The code in Listing~\ref{lst:sum} prints 946.Kompatibilitas
- Dari instalasi TeX ke sini: kode setiap
lstlistingditampilkan. Pindahkanlanguage=dari\lstsetke setiap listing untuk mendapatkan warna, dan tempelkan kode dari file\lstinputlistingke dalam dokumen. - Dari sini ke instalasi TeX: dokumen bisa dikompilasi di sana tanpa perubahan, dan opsi Anda lalu berlaku.
Manual lengkapnya ada di CTAN: ctan.org/pkg/listings. Lihat juga Listing kode di LaTeX dan minted.
Tanya jawab
Mengapa listing saya tidak berwarna?
Bahasanya mungkin diatur dengan \lstset, yang diabaikan di sini. Tulis [language=Python] (atau bahasa Anda) setelah \begin{lstlisting}.
Bisakah saya menampilkan nomor baris?
Belum bisa. numbers=left diterima lalu diabaikan.
Setiap contoh di halaman ini ditata oleh Scissor LaTeX saat situs dibuat. Terakhir diperbarui 2026-11-07.