\documentclass[a4paper, 12pt]{article} \usepackage{cmap} % attempt to fix search with ligatures problem. \usepackage{graphicx} \usepackage[a4paper, portrait, left=20mm, right=20mm, top=30mm, bottom=30mm]{geometry} \usepackage[bookmarks, colorlinks=false]{hyperref} \usepackage{paralist} \usepackage{pslatex} \usepackage{float} \usepackage{tabularx} \usepackage{hhline} \usepackage[usenames]{xcolor} \usepackage{pdfpages} \usepackage[T1]{fontenc} % might fix copy-pasting issues \usepackage{textcomp} \usepackage{listings} % PDF tex graphics extensions \DeclareGraphicsExtensions{.jpg,.jpeg,.pdf,.png,.mps} % font size for code \def\thesize{11truept} % relax the justification/hyphenation wrapping settings \tolerance=800 \emergencystretch=15mm % kill the paragraph indenting \setlength{\parindent}{0 mm} \setlength{\parskip}{0.7\baselineskip} % create the fonts for code highlighting \newfont{\codefont}{pcrr at \thesize} \newfont{\keywordfont}{pcrr at \thesize} \newcommand{\commentfont}{\slshape} \newcommand{\commentsize}{\small} % define the colors for code highlighting (based on Eclipse colors) %\definecolor{KeywordColor}{rgb}{0.5,0,0.33} %\definecolor{CommentColor}{rgb}{0.25,0.5,0.37} %\definecolor{StringColor}{rgb}{0.16,0,1} % define the colors for code highlighting (based on NetBeans colors) \definecolor{KeywordColor}{rgb}{0.0,0,0.9} \definecolor{CommentColor}{rgb}{0.39,0.39,0.39} \definecolor{StringColor}{rgb}{0.41,0.24.0} % set up pretty printing environment to use above fonts and colours, and set some other things \lstset{ language=Java, basicstyle=\codefont, keywordstyle=\color{KeywordColor}\keywordfont, commentstyle=\color{CommentColor}\commentfont, stringstyle=\color{StringColor}\tt, showstringspaces=false, tabsize=3, showtabs=false, columns=fullflexible, flexiblecolumns=true, fontadjust=true, aboveskip=5pt, belowskip=5pt } \lstdefinelanguage{JavaScript}{ keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break, this}, sensitive=false, comment=[l]{//}, morecomment=[s]{/*}{*/}, morestring=[b]', morestring=[b]" } % centre command that won't add any vertical space before or after \newcommand{\centre}[1]{\hfill#1\hfill} % command for figures with captions - first param is scale. \newcommand{\captionedfig}[3] { \begin{figure}[H] \begin{center} \includegraphics[scale=#1,draft=false]{#2} \\ #3 \vspace{-25pt} \end{center} \end{figure} } % command for figures - first param is scale. \newcommand{\fig}[2] { \begin{figure}[H] \begin{center} \includegraphics[scale=#1,draft=false]{#2} \end{center} \end{figure} } % command for figures rotated 90 degrees right - first param is scale. \newcommand{\rotatedfig}[2] { \begin{figure}[H] \begin{center} \includegraphics[scale=#1,draft=false, angle=270]{#2} \end{center} \end{figure} } % new indent command that doesn't rely on \parindent \renewcommand{\indent}{\hspace*{5 mm}} % command for typesetting inline code \newcommand{\code}[2][language=java]{\mbox{\lstinline[#1]!#2!}} % make \emph do italics (just in case other environments make it do something else) \renewcommand{\emph}[1]{\textit{#1}} % a simpler way of getting a right arrow \newcommand{\ra}[0]{$\rightarrow$~} % a command for padding out a page \newcommand{\pad}[0]{\vspace{\stretch{1}}} % environment for typesetting code blocks \lstnewenvironment{codeblock}[1][] {\small \lstset{#1}} {\normalsize} % command for adding a placeholder for information to be entered at a later date \newcommand{\fixme}[1]{\textcolor{red}{\textbf{TO DO:~ }#1}} \newcommand{\todo}[1]{\fixme{#1}} % fix the extra spacing that itemize/enumerate has when you put have an blank % line prior to the environment. \setlength{\pltopsep}{0.2\baselineskip} \setlength{\plpartopsep}{-0.2\baselineskip} \setlength{\plitemsep}{0.2\baselineskip} \setlength{\plparsep}{0.4\baselineskip} \renewenvironment{itemize}% {\begin{compactitem}}% {\end{compactitem}} \renewenvironment{enumerate}% {\begin{compactenum}}% {\end{compactenum}}