| 21 |      1 | \usepackage{listings}
 | 
|  |      2 | \usepackage{etoolbox}
 | 
|  |      3 | \setmonofont[Scale=.95]{Consolas}
 | 
|  |      4 | \newfontfamily{\consolas}{Consolas}
 | 
|  |      5 | 
 | 
|  |      6 | \definecolor{codered}{rgb}{0.6,0,0}            % for strings
 | 
|  |      7 | \definecolor{codegreen}{rgb}{0.25,0.5,0.35}    % comments
 | 
|  |      8 | \definecolor{codepurple}{rgb}{0.5,0,0.35}      % keywords
 | 
|  |      9 | \definecolor{codedocblue}{rgb}{0.25,0.35,0.75} % doc
 | 
|  |     10 | \definecolor{codeblue}{rgb}{0.25,0.35,0.75}    % types
 | 
|  |     11 | 
 | 
|  |     12 | \BeforeBeginEnvironment{lstlisting}{\par\noindent\begin{minipage}{\linewidth}}
 | 
|  |     13 | \AfterEndEnvironment{lstlisting}{\end{minipage}\par}
 | 
|  |     14 | 
 | 
|  |     15 | \lstdefinelanguage{Scala}{
 | 
|  |     16 |   morekeywords={abstract,case,catch,class,def,%
 | 
|  |     17 |     do,else,extends,false,final,finally,%
 | 
|  |     18 |     for,if,implicit,import,match,mixin,%
 | 
|  |     19 |     new,null,object,override,package,%
 | 
|  |     20 |     private,protected,requires,return,sealed,%
 | 
|  |     21 |     super,this,throw,trait,true,try,%
 | 
|  |     22 |     type,val,var,while,with,yield,write,read},%
 | 
|  |     23 |   otherkeywords={=>,<-,<\%,<:,>:,\#},%
 | 
|  |     24 |   sensitive=true,%
 | 
|  |     25 |   %directives={Int,Char,Rexp,String,Boolean,BigInt,Unit,List,Set},%
 | 
|  |     26 |   %moredelim=*[directive]:,%
 | 
|  |     27 |   morecomment=[l]{//},%
 | 
|  |     28 |   morecomment=[n]{/*}{*/},
 | 
|  |     29 |   morestring=[s]{"""}{"""},
 | 
|  |     30 |   morestring=[b]",
 | 
|  |     31 |   morestring=[b]',
 | 
|  |     32 | }[keywords,comments,strings]
 | 
|  |     33 | 
 | 
|  |     34 | \lstdefinelanguage{While}{
 | 
|  |     35 |   morekeywords={if,then,else,while,do,true,false,write,upto,read,for,skip},
 | 
|  |     36 |   morecomment=[l]{//},
 | 
|  |     37 |   morecomment=[n]{/*}{*/},
 | 
|  |     38 |   morestring=[b]",
 | 
|  |     39 |   otherkeywords={=,!=,:=,<,>,\%;*,/},
 | 
|  |     40 | }[keywords,comments,strings]
 | 
|  |     41 | 
 | 
| 123 |     42 | 
 | 
|  |     43 | \newcommand{\code}[1]{{\lstinline{#1}}}
 | 
|  |     44 | \newcommand{\pcode}[1]{\mbox{\lstset{language={},keywordstyle=\color{black}}\lstinline!#1!}}
 | 
|  |     45 | \newcommand{\scode}[1]{\mbox{\lstset{language={},basicstyle=\ttfamily\color{codegreen}}\lstinline!#1!}}
 | 
|  |     46 | \makeatother
 | 
|  |     47 | 
 | 
|  |     48 | %%\lstset{escapeinside={(*@}{@*)}}
 | 
|  |     49 | \lstset{escapeinside={/*@}{@*/}}
 | 
|  |     50 | 
 | 
|  |     51 | %% stripy code
 | 
|  |     52 | \usepackage{lstlinebgrd}
 | 
|  |     53 | \definecolor{capri}{rgb}{0.0, 0.75, 1.0}
 | 
|  |     54 | 
 | 
|  |     55 | 
 | 
| 21 |     56 | \lstdefinestyle{mystyle}
 | 
|  |     57 |        {basicstyle=\ttfamily,
 | 
|  |     58 | 	keywordstyle=\color{codepurple}\bfseries,
 | 
|  |     59 | 	stringstyle=\color{codegreen},
 | 
|  |     60 | 	commentstyle=\color{codegreen},
 | 
|  |     61 | 	morecomment=[s][\color{codedocblue}]{/**}{*/},
 | 
| 123 |     62 | 	numbers=none,
 | 
| 21 |     63 | 	numberstyle=\tiny\color{black},
 | 
|  |     64 | 	stepnumber=1,
 | 
|  |     65 | 	numbersep=10pt,
 | 
|  |     66 | 	tabsize=2,
 | 
|  |     67 | 	showspaces=false,
 | 
|  |     68 | 	showstringspaces=false,
 | 
|  |     69 |         xleftmargin=8mm,
 | 
|  |     70 |         emphstyle=\color{codeblue}\bfseries,
 | 
| 123 |     71 |         keepspaces,
 | 
|  |     72 |         linebackgroundcolor={\ifodd\value{lstnumber}\color{capri!3}\fi}
 | 
| 21 |     73 | }
 | 
|  |     74 | 
 | 
|  |     75 | \lstset{language=Scala,
 | 
|  |     76 |         style=mystyle}
 |