Jak mówili inni, pakiet listings
prawdopodobnie będzie robić co chcesz przy użyciu coś jak następuje:
\lstset{
language=C, % choose the language of the code
numbers=left, % where to put the line-numbers
stepnumber=1, % the step between two line-numbers.
numbersep=5pt, % how far the line-numbers are from the code
backgroundcolor=\color{white}, % choose the background color. You must add \usepackage{color}
showspaces=false, % show spaces adding particular underscores
showstringspaces=false, % underline spaces within strings
showtabs=false, % show tabs within strings adding particular underscores
tabsize=2, % sets default tabsize to 2 spaces
captionpos=b, % sets the caption-position to bottom
breaklines=true, % sets automatic line breaking
breakatwhitespace=true, % sets if automatic breaks should only happen at whitespace
title=\lstname, % show the filename of files included with \lstinputlisting;
}
\lstinputlisting{HelloWorld.c}
Mocniejszy alternatywą byłoby użyć pakietu minted
, choć będzie to zrobić znacznie więcej niż o to, o co pytasz, ponieważ używa/wymaga zainstalowania w twoim systemie figur, aby mógł w pełni tokenizować kod, który mu podałeś.
zobacz tex.stackexchange.com również spójrz na http://stackoverflow.com/questions/741985/latex-source-code-listing-like-in-professional-books – deinst
Prawdopodobnie lepszą odpowiedź można uzyskać na [stackach wymiennika TeX i LaTeX] (http://tex.stackexchange.com/). –