Lumaktaw sa nilalaman

listings sa Scissor LaTeX

Bahagyang gumagana ang listings package sa Scissor LaTeX: pinapanatili ng lstlisting ang code nang eksakto gaya ng pagkakatipa at kinukulayan ito kapag ibinigay mo ang language= sa environment, at gumagana ang \lstinline; hindi pinapansin ang \lstset, line numbers, frames, captions at labels, at nilalaktawan ang \lstinputlisting.

Ano ang ginagawa ng package

Tina-typeset ng listings ang source code. Pinapanatili ng lstlisting environment ang line breaks at spaces, at gamit ang language=Python (o C, Java, SQL ...) ay inilalagay nito sa iba't ibang style ang keywords, comments at strings. Nagdadagdag ang options ng line numbers, frames, captions at kulay, bawat listing man o para sa buong dokumento gamit ang \lstset. Ang \lstinline ang inline na anyo, at binabasa ng \lstinputlisting ang code mula sa isang file.

Ano ang gumagana dito

FeatureSa Scissor LaTeXMga tala
\begin{lstlisting} ... \end{lstlisting}GumaganaMonospaced, eksakto gaya ng pagkakatipa.
[language=Python] sa environmentGumaganaSyntax colours mula sa isang nakatakdang scheme.
[language={[Sharp]C}] at iba pang dialectGumaganaBinabasa ang dialect sa brackets kasama ang pangalan.
\lstinline|code|, \lstinline{code}GumaganaMonospaced, walang kulay.
numbers=left, frame=single, basicstyle, keywordstyle, backgroundcolorNilalaktawanHindi pinapansin, walang mensahe.
caption=, label=NilalaktawanWalang caption na ipinipi-print, at "??" ang ipinapakita ng \ref sa label.
\lstset{...}, \lstdefinestyle, style=NilalaktawanHindi pinapansin, kasama ang language= na itinakda roon.
\lstinputlisting{file}Hindi suportadoNilalaktawan na may mensahe.
\lstlistoflistings, \lstnewenvironmentHindi suportadoNilalaktawan na may mensahe.

Hindi case-sensitive ang mga pangalan ng language. May kulay para sa karaniwang languages gaya ng Python, C, C++, C#, Java, JavaScript, Rust, Go, R, MATLAB, SQL, Bash, HTML at TeX. Simpleng monospaced code nang walang mensahe ang ibinibigay ng pangalang hindi kinikilala, gaya ng Fortran.

Mga halimbawa

Ibigay ang language sa bawat listing:

lstlisting na may language=Python

LaTeXPreamble: \usepackage{listings}Buksan sa editor (magbubukas sa bagong tab)
\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}
Na-typeset ng Scissor LaTeX: lstlisting na may language=Python

Hindi ginagamit ang language na itinakda gamit ang \lstset, kaya walang kulay ang listing na ito. Hindi rin pinapansin ang layout options gaya ng numbers at frame:

Hindi pinapansin ang \lstset

\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}

Tumatanggap ng kahit anong delimiter ang inline code gamit ang \lstinline, gaya ng \verb:

\lstinline sa isang pangungusap

LaTeXPreamble: \usepackage{listings}Buksan sa editor (magbubukas sa bagong tab)
The loop \lstinline|for i in range(44):| runs 44 times, and
\lstinline{total += i} adds up the numbers.
Na-typeset ng Scissor LaTeX: \lstinline sa isang pangungusap

Listing na may caption sa loob ng isang figure

LaTeXPreamble: \usepackage{listings}Buksan sa editor (magbubukas sa bagong tab)
\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.
Na-typeset ng Scissor LaTeX: Listing na may caption sa loob ng isang figure

Compatibility

  • Mula sa isang TeX installation papunta rito: ipinapakita ang code ng bawat lstlisting. Ilipat ang language= mula sa \lstset papunta sa bawat listing para magkaroon ng kulay, at i-paste sa dokumento ang code mula sa \lstinputlisting files.
  • Mula rito papunta sa isang TeX installation: nagko-compile doon ang mga dokumento nang walang binabago, at ilalapat na ang options mo.

Nasa CTAN ang buong manual: ctan.org/pkg/listings. Tingnan din ang Code listings sa LaTeX at minted.

Mga tanong at sagot

Bakit walang kulay ang listings ko?

Malamang na itinakda ang language gamit ang \lstset, na hindi pinapansin dito. Isulat ang [language=Python] (o ang language mo) pagkatapos ng \begin{lstlisting}.

Puwede ba akong magpakita ng line numbers?

Hindi pa. Tinatanggap at hindi pinapansin ang numbers=left.

Bawat halimbawa sa page na ito ay tina-typeset ng Scissor LaTeX kapag binubuo ang site. Huling na-update noong 2026-11-07.