Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Possible Duplicate:
Syntax Coloring in LaTeX

I want to add source code of my program in document but verbatim really bugs me. All that ugly fonts and stuff.

share|improve this question
    
I cannot vote to close but I'm pretty certain such questions have been addressed previously (although I cannot find a best dup candidate). –  chl Jun 27 '12 at 9:47
    
Is closing this question going to disable editing the answer which I marked as community wiki? I'm not sure if it is correct to mark this answer as community wiki though –  interlude Jun 27 '12 at 9:53
add comment

marked as duplicate by egreg, Claudio Fiandrino, David Carlisle, Yiannis Lazarides, Paulo Cereda Jun 27 '12 at 10:31

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

1 Answer

up vote 2 down vote accepted

I suggest using listings package.

For example

\documentclass[twocolumn,a4paper]{article}
\usepackage[utf8]{inputenc}

\usepackage[turkish]{babel}


\usepackage{listings}
\lstset{language=C++}
\lstset{breaklines=true}

\begin{document}

\newpage
\onecolumn

\begin{lstlisting}

 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <limits.h>
 #include <math.h>

 typedef struct word //struct to contain words  
 {
     char *string;
 } word;

 void print(int ** matrix, char str [], int n)
//this is a comment too long to fit on a line. So listings will break this line because I used \lstset{breaklines=true} But this is not default
 {
     printf("--- %s ---\n",str);

     int i,j;
     for(i=1; i<=n; i++)
     {
         for(j=1; j<=n; j++)
             if(matrix[i][j]!=INT_MAX)
                 printf("%3d ",matrix[i][j]);
             else(printf("%3s ","INF"));
         printf("\n");
     }

 }


 \end{lstlisting}
\end{document}

Produces this output with LaTeXExample with listings

As you can see \lstset{language=C++} defines the language in code. I prefer this approach because I think it is easier to read.

share|improve this answer
    
It's for reference actually. I repeatedly lost .tex file that contains this. –  interlude Jun 27 '12 at 9:47
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.