\clearpage % Rozdziały zaczynamy od nowej strony. \section{Code listings} \lipsum[10] % Fragment kodu źródłowego programu % \addmargin pozwala na wcięcie kodu od lewej (tu: 8mm). % Wcięcie służy do tego, aby numery linii nie wystawały poza lewy margines. % Druga liczba oznacza wcięcie od prawej. \begin{addmargin}[8mm]{0mm} \begin{lstlisting}[ language=HTML, numbers=left, firstnumber=1, caption={\emph{Hello world} w HTML}, aboveskip=10pt ] Hello world! Hello world! \end{lstlisting} \end{addmargin} \lipsum[11] % Dla dłuższych numerów linii potrzebne jest większe wcięcie. \begin{addmargin}[12mm]{0mm} \begin{lstlisting}[ language=C++, numbers=left, firstnumber=147, caption={Generowanie sekwencji Collatza w języku C++}, aboveskip=10pt ] class Collatz { private: unsigned current_val_; void update_val() { if( current_val_ % 2 == 0 ) current_val_ /= 2; else current_val_ = current_val_ * 3 + 1; } public: explicit Collatz(unsigned initial_value) : current_val_(initial_value) {} void print_sequence() { unsigned i = 1; while( current_val_ > 1 ) { std::cout << "val " << i << " = " << current_val_ << std::endl; update_val(); ++i; } } }; int main() { // prints Collatz seqence, starting from 194375 Collatz seq(194375); seq.print_sequence(); return 0; } \end{lstlisting} \end{addmargin} \lipsum[12]