Attach matlab code in latex

  1. Hello!

    Im writing a technical report with "article" as documentclass in Latex.

    I want to attach my matlab code in the appendix.
    If I copy and paste the text it wont look like the matlab code but it will look like a report..

    What command should I use so the text just looks like it is ?

    Danne
     
  2. jcsd
  3. cristo

    cristo 8,412
    Staff Emeritus
    Science Advisor

    Enter the matlab code in a "verbatim" environment. (I.e. \begin{verbatim}..code..\end{verbatim})
     
  4. robphy

    robphy 4,424
    Science Advisor
    Homework Helper
    Gold Member

  5. I second the use of the listings package. I put the following in my document preamble whenever I need to include MATLAB code in a LaTeX document:
    Code (Text):
    \usepackage{listings}
    \usepackage[usenames,dvipsnames]{color}
    % This is the color used for MATLAB comments below
    \definecolor{MyDarkGreen}{rgb}{0.0,0.4,0.0}

    % For faster processing, load Matlab syntax for listings
    \lstloadlanguages{Matlab}%
    \lstset{language=Matlab,                        % Use MATLAB
            frame=single,                           % Single frame around code
            basicstyle=\small\ttfamily,             % Use small true type font
            keywordstyle=[1]\color{Blue}\bf,        % MATLAB functions bold and blue
            keywordstyle=[2]\color{Purple},         % MATLAB function arguments purple
            keywordstyle=[3]\color{Blue}\underbar,  % User functions underlined and blue
            identifierstyle=,                       % Nothing special about identifiers
                                                    % Comments small dark green courier
            commentstyle=\usefont{T1}{pcr}{m}{sl}\color{MyDarkGreen}\small,
            stringstyle=\color{Purple},             % Strings are purple
            showstringspaces=false,                 % Don't put marks in string spaces
            tabsize=5,                              % 5 spaces per tab
            %
            %%% Put standard MATLAB functions not included in the default
            %%% language here
            morekeywords={xlim,ylim,var,alpha,factorial,poissrnd,normpdf,normcdf},
            %
            %%% Put MATLAB function parameters here
            morekeywords=[2]{on, off, interp},
            %
            %%% Put user defined functions here
            morekeywords=[3]{FindESS, homework_example},
            %
            morecomment=[l][\color{Blue}]{...},     % Line continuation (...) like blue comment
            numbers=left,                           % Line numbers on left
            firstnumber=1,                          % Line numbers start with line 1
            numberstyle=\tiny\color{Blue},          % Line numbers are blue
            stepnumber=5                            % Line numbers go in steps of 5
            }

    % Includes a MATLAB script.
    % The first parameter is the label, which also is the name of the script
    %   without the .m.
    % The second parameter is the optional caption.
    \newcommand{\matlabscript}[2]
      {\begin{itemize}\item[]\lstinputlisting[caption=#2,label=#1]{#1.m}\end{itemize}}
    These settings are based on those used in a LaTeX homework template by Ted Pavlic.
     
  6. I used mcode.sty for this, and it did a fine job for me.
     
Know someone interested in this topic? Share a link to this question via email, Google+, Twitter, or Facebook

Have something to add?