Scissor LaTeX'te listings
listings paketi Scissor LaTeX'te kısmen çalışır: lstlisting kodu tam yazıldığı gibi korur ve ortamda language= verdiğinizde renklendirir, \lstinline da çalışır; \lstset, satır numaraları, çerçeveler, başlıklar ve etiketler yok sayılır, \lstinputlisting ise atlanır.
Paket ne yapar
listings kaynak kodu dizer. lstlisting ortamı satır sonlarını ve boşlukları korur; language=Python (ya da C, Java, SQL ...) ile anahtar sözcükleri, yorumları ve dizeleri farklı stillerde dizer. Seçenekler, tek tek listeler için ya da \lstset ile belgenin tamamı için satır numaraları, çerçeveler, başlıklar ve renkler ekler. \lstinline satır içi biçimdir, \lstinputlisting de kodu bir dosyadan okur.
Burada neler çalışır
| Özellik | Scissor LaTeX'te | Notlar |
|---|---|---|
\begin{lstlisting} ... \end{lstlisting} | Çalışır | Eş aralıklı, tam yazıldığı gibi. |
Ortamda [language=Python] | Çalışır | Sabit bir şemadan sözdizimi renkleri. |
[language={[Sharp]C}] ve diğer lehçeler | Çalışır | Köşeli parantezdeki lehçe adla birlikte okunur. |
\lstinline|code|, \lstinline{code} | Çalışır | Eş aralıklı, renksiz. |
numbers=left, frame=single, basicstyle, keywordstyle, backgroundcolor | Atlanır | İleti olmadan yok sayılır. |
caption=, label= | Atlanır | Başlık yazdırılmaz ve etikete yapılan bir \ref "??" gösterir. |
\lstset{...}, \lstdefinestyle, style= | Atlanır | Orada ayarlanan bir language= dahil yok sayılır. |
\lstinputlisting{file} | Desteklenmez | Bir iletiyle atlanır. |
\lstlistoflistings, \lstnewenvironment | Desteklenmez | Bir iletiyle atlanır. |
Dil adlarında büyük-küçük harf fark etmez. Python, C, C++, C#, Java, JavaScript, Rust, Go, R, MATLAB, SQL, Bash, HTML ve TeX gibi yaygın diller için renkler vardır. Fortran gibi tanınmayan bir ad, ileti olmadan düz eş aralıklı kod verir.
Örnekler
Dili her listede verin:
language=Python ile lstlisting
\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}\lstset ile ayarlanan bir dil kullanılmaz, bu yüzden bu listede renk yoktur. numbers ve frame gibi düzen seçenekleri de yok sayılır:
\lstset yok sayılır
\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}\lstinline ile satır içi kod, \verb gibi herhangi bir sınırlayıcı alır:
Bir cümlede \lstinline
The loop \lstinline|for i in range(44):| runs 44 times, and
\lstinline{total += i} adds up the numbers.Bir şeklin içinde başlıklı bir liste
\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.Uyumluluk
- Bir TeX kurulumundan buraya: her
lstlistingortamının kodu gösterilir. Renkler içinlanguage=değerini\lstsetiçinden her listeye taşıyın ve\lstinputlistingdosyalarındaki kodu belgeye yapıştırın. - Buradan bir TeX kurulumuna: belgeler orada değişiklik yapmadan derlenir ve seçenekleriniz bu durumda uygulanır.
Tam kılavuz CTAN'dadır: ctan.org/pkg/listings. Ayrıca bkz. LaTeX'te kod listeleri ve minted.
Sorular ve yanıtlar
Listelerim neden renklendirilmiyor?
Dil büyük olasılıkla burada yok sayılan \lstset ile ayarlanmıştır. \begin{lstlisting} komutundan sonra [language=Python] (ya da kendi dilinizi) yazın.
Satır numaralarını gösterebilir miyim?
Henüz değil. numbers=left kabul edilir ve yok sayılır.
Bu sayfadaki her örnek, site oluşturulurken Scissor LaTeX tarafından dizilir. Son güncelleme: 2026-11-07.