% !TeX root = manual.tex
\usepackage{listings} 

\definecolor{srcback}{rgb}{1,1,0.9}

\lstset{%
language=C++, % choose the language of the code
basicstyle=\footnotesize, % the size of the fonts that are used for the code
numbers=left, % where to put the line-numbers
numberstyle=\footnotesize, % the size of the fonts that are used for the line-numbers
stepnumber=1, % the step between two line-numbers. If it is 1 each line will be numbered
numbersep=6pt, % how far the line-numbers are from the code
backgroundcolor=\color{srcback}, % choose the background color. 
showspaces=false, % show spaces adding particular underscores
showstringspaces=false, % underline spaces within strings
showtabs=false, % show tabs within strings adding particular underscores
tabsize=2, % sets default tabsize to 2 spaces
captionpos=b, % sets the caption-position to bottom
breaklines=true, % sets automatic line breaking
breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
frame=single, % adds a frame around the code
framexleftmargin=0mm, frame=shadowbox, rulesepcolor=\color{gray},
escapeinside={\%*}{*)} % if you want to add a comment within your code
}

\lstnewenvironment{bash}
{\lstset{language=bash}}
{}

%define a listing language
\lstdefinelanguage[mccode]{c}[ANSI]{c}{
  morekeywords=[1]{
    DECLARE, DEFINE, END, FINALLY, INITIALIZE, MCDISPLAY, SAVE, SHARE,
    TRACE, DEFINITION, PARAMETERS, POLARISATION, SETTING,
    OUTPUT, INSTRUMENT, include,
    ABSOLUTE,AT,COMPONENT,EXTEND,GROUP,PREVIOUS,NEXT,MYSELF,RELATIVE,ROTATED,WHEN,JUMP,ITERATE,SPLIT,COPY,
    RESTORE_NEUTRON,RESTORE_XRAY
 }}    

\lstnewenvironment{mcstas}
{\lstset{ %
language=C++, %
morekeywords={ABSOLUTE,AT,C,COMPONENT,COPY,DECLARE,DEFINE,DEFINITION}, %
morekeywords={END,ERR,EXTEND,FINALLY,GROUP,I,INITIALIZE,INSTRUMENT}, %
morekeywords={ITERATE,JUMP,MCDISPLAY,MYSELF,NEXT,OUTPUT,PARAMETERS}, %
morekeywords={PI,PREVIOUS,RELATIVE,REMOVABLE,ROTATED,SAVE,SCATTERED}, %
morekeywords={SETTING,SHARE,SPLIT,TRACE,WHEN} %
}}
{}

\lstnewenvironment{matlab}
{\lstset{language=matlab}}
{}
