フォント courier new を使用して LaTeX にコード matlab を追加し、コードの左側に行番号を付けるにはどうすればよいでしょうか?

フォント courier new を使用して LaTeX にコード matlab を追加し、コードの左側に行番号を付けるにはどうすればよいでしょうか?

以下のようにmatlabコードをlatexに挿入したい

\documentclass[a4paper,twoside,12pt]{book}
\usepackage{listings}
\lstset{basicstyle=\ttfamily\footnotesize,breaklines=true}
\begin{document}
    \lstinputlisting{LaxWendroffakonstan.m}
\end{document}

これは私の Matlab コードです。ファイル名は LaxWendroffakonstan.m です。

clear all;
clc;
tic
fprintf('METODE LAX WENDROFF\n=======================\n');
a=-0.5;
h=0.005;
k=0.01;
x=0:h:4;
t=0:k:5;
nu=a*k/h;
M=length(x);
N=length(t);
u=zeros(M,N);
for j=1:M
    if x(j)>=3.25 && x(j)<=3.75
        u(j,1)=1;
    else
        u(j,1)=0;
    end
end
u(1,:)=0;
u(M,:)=0;
%{
if abs(nu)>1
    error('unstable solution');
end
%}
for n=1:N-1
    for j=2:M-1
        u(j,n+1)=u(j,n)-0.5*nu*(u(j+1,n)-u(j-1,n))+0.5*nu^2*(u(j+1,n)-2*u(j,n)+u(j-1,n));
    end
end
for n=1:N
    plot(x,u(:,n),'or');
    hold off;
    axis([0 4 -0.5 1.5]);
    grid on;
    xlabel('x');
    ylabel('u');
    title(sprintf('Solusi Numerik Metode Lax Wendroff\nt=%5.5f',t(n)));
    pause(0.0005);
end
toc

ラテックスコードの結果は ここに画像の説明を入力してください

今、フォントを Courier New に変更し、コードの左側に行番号を付けたいのですが、誰か手伝ってくれませんか?

答え1

\usepackage{courier}Courier を等幅フォントにして、左側に行番号を追加しますnumbers=left\lstset

\documentclass[a4paper,twoside,12pt]{book}
\usepackage{courier}
\usepackage{listings}
\lstset{
  basicstyle=\ttfamily\footnotesize,
  breaklines=true,
  numbers=left
}
\begin{document}
\begin{lstlisting}
clear all;
clc;
tic
fprintf('METODE LAX WENDROFF\n=======================\n');
a=-0.5;
h=0.005;
k=0.01;
x=0:h:4;
t=0:k:5;
nu=a*k/h;
M=length(x);
\end{lstlisting}
\end{document}

関連情報