# inserting MATLAB code in the appendix

Does anybody have a quick and easy way to insert a large MATLAB code into the appendix? I looked up a few methods like mcode.sty but it doesn't seem to be active anymore. I have a ton of equations in my code, so if I don't have to use the '\$' to denote equations, that would be best. If possible, if there's a way to keep all of MATLAB's "natural" coding colors (e.g. green for comments), that would be great.

-
 I used mcode for my thesis and it worked fine. Depending on what version of MATLAB you are using, it also has built-in tools for exporting the code with LaTeX markup already embedded. Look up "publish" in the MATLAB help browser. – craigim May 1 at 16:00

Here is the template I use for matlab code:

\documentclass{article}

\usepackage{listings}
\usepackage{color} %red, green, blue, yellow, cyan, magenta, black, white
\definecolor{mygreen}{RGB}{28,172,0} % color values Red, Green, Blue
\definecolor{mylilas}{RGB}{170,55,241}

\begin{document}

\lstset{language=Matlab,%
%basicstyle=\color{red},
breaklines=true,%
morekeywords={matlab2tikz},
keywordstyle=\color{blue},%
morekeywords=[2]{1}, keywordstyle=[2]{\color{black}},
identifierstyle=\color{black},%
stringstyle=\color{mylilas},
showstringspaces=false,%without this there will be a symbol in the places where there is a space
numbers=left,%
numberstyle={\tiny \color{black}},% size of the numbers
numbersep=9pt, % this defines how far the numbers are from the text
emph=[1]{for,end,break},emphstyle=[1]\color{red}, %some words to emphasise
%emph=[2]{word1,word2}, emphstyle=[2]{style},
}

\section*{Matlab Code}

\lstinputlisting{myfun.m}

\end{document}


This produced the following output (I didn't put my matlab file here but it should be clear from the output):

-
 worked like a charm! Thanks alot – suzu Oct 3 '12 at 16:21

The mcode package still supports Matlab code formatting, setting the default lstlisting environment (from listings) formatting to that of Matlab. It also provides \mcode{<code>} for inline Matlab code.

\documentclass{article}
% http://www.mathworks.com/matlabcentral/fileexchange/8015-m-code-latex-package
\usepackage[framed,numbered,autolinebreaks,useliterate]{mcode}
\begin{document}
\begin{lstlisting}
function y = myfun(aa, sigma, options)

sigma

y = aa .* pdf('logn', aa, -0.5*sigma^2, sigma)

%y = 1/(sigma.*sqrt(2.*pi)) .* exp((-((log(aa)+0.5*sigma.^2)).^2) ./ (2.*sigma.^2));
\end{lstlisting}
\end{document}


Similar reference: Inline MATLAB code

-
 Not fair. Now that I see your answer I am not quite so proud of my code anymore :( – Vivi Nov 5 '12 at 8:43