MATLAB How can I attach MATLAB code in LaTeX without it looking like a report?

AI Thread Summary
To include MATLAB code in a LaTeX document using the "article" class, the recommended approach is to utilize the "listings" package for better formatting. Users should add the necessary package in the document preamble with commands such as \usepackage{listings} and \usepackage[usenames,dvipsnames]{color}. Specific settings can be configured for MATLAB syntax highlighting, including defining colors for comments, keywords, and strings. The command \lstloadlanguages{Matlab} enables MATLAB language support, while \lstset allows customization of the code appearance, such as frame style, font size, and line numbering. A custom command, \matlabscript, can be created to easily include MATLAB scripts with captions in the document. This method ensures that the MATLAB code retains its formatting and readability, enhancing the overall presentation of the technical report.
ladil123
Messages
42
Reaction score
0
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 won't 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
 
Physics news on Phys.org
Enter the MATLAB code in a "verbatim" environment. (I.e. \begin{verbatim}..code..\end{verbatim})
 
I second the use of the http://www.ctan.org/tex-archive/help/Catalogue/entries/listings.html" package. I put the following in my document preamble whenever I need to include MATLAB code in a LaTeX document:
Code:
\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 http://links.tedpavlic.com/ascii/homework_new_tex.ascii" .
 
Last edited by a moderator:
I used http://www.mathworks.com/matlabcentral/files/8015/mcode.sty" for this, and it did a fine job for me.
 
Last edited by a moderator:

Similar threads

Back
Top