Archive

Posts Tagged ‘beamer’

Introduction to Scala – Presentation draft

July 4th, 2009 No comments

This is a draft of my “Introduction to Scala” presentation, to be used at the BEKK “fagdag” in September. The presentation is written using LaTeX and Beamer. Feel free to comment on errors or improvements :)

The presentation is available on scribd.com:

Cannot view the presentation? The whole file can be downloaded as PDF here:

Note! I will update the presentation when I find errors or make other changes.

LaTeX Listings for Scala

June 30th, 2009 No comments

To get LaTeX Listings to work for Scala I ended up with the following definition in my .tex file:

\usepackage{listings}

% "define" Scala
\lstdefinelanguage{scala}{
  morekeywords={abstract,case,catch,class,def,%
    do,else,extends,false,final,finally,%
    for,if,implicit,import,match,mixin,%
    new,null,object,override,package,%
    private,protected,requires,return,sealed,%
    super,this,throw,trait,true,try,%
    type,val,var,while,with,yield},
  otherkeywords={=>,<-,<\%,<:,>:,\#,@},
  sensitive=true,
  morecomment=[l]{//},
  morecomment=[n]{/*}{*/},
  morestring=[b]",
  morestring=[b]',
  morestring=[b]"""
}

NOTE! After writing this I came across this page (with a downloadable style file), which is probably preferred to adding the definition to every single .tex document.

To add a nice IntelliJ-like color/look & feel and a border I added the following configuration:

\usepackage{color}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}

% Default settings for code listings
\lstset{frame=tb,
  language=scala,
  aboveskip=3mm,
  belowskip=3mm,
  showstringspaces=false,
  columns=flexible,
  basicstyle={\small\ttfamily},
  numbers=none,
  numberstyle=\tiny\color{gray},
  keywordstyle=\color{blue},
  commentstyle=\color{dkgreen},
  stringstyle=\color{mauve},
  frame=single,
  breaklines=true,
  breakatwhitespace=true
  tabsize=3
}

Using the listings is then straightforward:

\begin{lstlisting}
val t = "hello" // a string
val x = 42 // an int
\end{lstlisting}

Resulting in the following pretty formatted code example in a Beamer presentation:
LaTeX Beamer Scala Listing