\documentclass{article}

% Defining colors by names
\usepackage{xcolor}
% Verbatim enviroment
\usepackage{fancyvrb}
% Verbatim enviroment for unformatted source code
\usepackage{listings}
% Better font for backslash
\usepackage[T1]{fontenc}
\usepackage{hyperref}
% Providing more features than usual tabular
\usepackage{longtable}

% NOTE: 
% Remember to use big letters for color codes
% Reference at http://tex.stackexchange.com/questions/18008/use-css-style-color-specifications-in-xcolor

% Identifiers
\newcommand{\id}[1]{\textcolor[HTML]{000000}{#1}}

% Strings
\newcommand{\str}[1]{\textcolor[HTML]{A31515}{#1}}

% Keywords
\newcommand{\kwd}[1]{\textcolor[HTML]{0000FF}{#1}}

% Comments
\newcommand{\com}[1]{\textcolor[HTML]{008000}{#1}}

% Operators
\newcommand{\ops}[1]{\textcolor[HTML]{000000}{#1}}

% Numbers
\newcommand{\num}[1]{\textcolor[HTML]{000000}{#1}}

% Line number
\newcommand{\lines}[1]{\textcolor[HTML]{96C2CD}{#1}}

% Types or modules
\newcommand{\ltyp}[1]{\textcolor[HTML]{2B91AF}{#1}}

% Functions
\newcommand{\lfun}[1]{\textcolor[HTML]{0000A0}{#1}}

% Patterns
\newcommand{\lpat}[1]{\textcolor[HTML]{800080}{#1}}

% Mutable vars
\newcommand{\lvar}[1]{\textbf{\textcolor[HTML]{000000}{#1}}}

% Printf
\newcommand{\lprf}[1]{\textcolor[HTML]{2B91AF}{#1}}

% Escaped characters
\newcommand{\lesc}[1]{\textcolor[HTML]{FF0080}{#1}}

% Inactive elements
\newcommand{\inact}[1]{\textcolor[HTML]{808080}{#1}}

% Preprocessors
\newcommand{\prep}[1]{\textcolor[HTML]{0000FF}{#1}}

% fsi output
\newcommand{\fsi}[1]{\textcolor[HTML]{808080}{#1}}

% Omitted parts
\newcommand{\omi}[1]{\textcolor[HTML]{808080}{#1}}


% Overriding color and style of line numbers
\renewcommand{\theFancyVerbLine}{
\lines{\small \arabic{FancyVerbLine}:}}

\lstset{%
  backgroundcolor=\color{gray!15},
  basicstyle=\ttfamily,
  breaklines=true,
  columns=fullflexible
}

\title{{page-title}}
\date{}

\begin{document}

\maketitle

{contents}

{tooltips}

\end{document}
