2

I'm trying to put in my thesis matlab code but the results are not very good. I would get something like that but I don't know what packages using and how to create this result:

enter image description here

5
  • 4
    Please reformulate the title of your question. I think the listings package is what you're looking for. – Stephan Lehmke Nov 29 '12 at 12:16
  • There's also mcode, which uses listings. – Torbjørn T. Nov 29 '12 at 12:25
  • There's also pythontex and minted, which use the Python syntax highlighting library Pygments. These can highlight Matlab code and Matlab interactive sessions. – G. Poore Nov 29 '12 at 13:10
  • 1
    Whatever solution you choose, please make sure that the resulting code listing is copy-and-pasteable. Your 25 readers will hate it otherwise. – Federico Poloni Nov 29 '12 at 13:13
  • 1
    The matlab-prettifier package is your friend, here; see this answer. – jub0bs Feb 13 '14 at 23:15
3

I personally prefer the minted package. It's a little trouble to set up by the output is very neat and tidy -- and it has syntax highlighting.

Output:

enter image description here

Code:

\documentclass{article}


\usepackage{minted}

\begin{document}

\definecolor{bg}{rgb}{0.95,0.95,0.95}
\begin{minted}[linenos=true,bgcolor=bg]{matlab}


% Gradient descent algo for linear regression
% author: Nauman (recluze) 

%set the data
X=[1 1 1 1 1 1 1; 22 49 80 26 40 54 91];
Y=[20 24 42 22 23 26 55];
hold on;
plot(X(2,:),Y, 'x');

% set the actual values of W
W = [5.775 0.474]';
YAct = (W' * X);

% GRADIENT DESCENT
W = zeros(2,1);     % initialize W to all zeros
m = size(X,2);      % number of instances
n = size(W,1);      % number of parameters
alpha = 0.000025;    % gradient descent step size

disp('Starting Weights:');

\end{minted}   
\end{document}

You'll have to call pdflatex with --shell-escape though and you will have to install a package that provides pygmentize command.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.