Посмотрите пакет listings. Например, я делал так:
Код:
\usepackage{listings}
\lstloadlanguages{C, [ANSI]C++} % Загружаемые языки
\lstset{% Настройка листингов
extendedchars = true,%
fontadjust = true,%
commentstyle = \small\color{gray},%
stringstyle =\color{black},%
basicstyle = \ttfamily,%
language = [ANSI]C++,%
belowcaptionskip = 5pt,%
numbers = none,%
numberstyle = \ttfamily,%
numbersep = 5pt,%
showstringspaces = false,%
tabsize = 2,%
breaklines = true,%
breakatwhitespace = true,%
keywordstyle = \color{black}%
}