chris1234567
01-04-2009, 17:44
Ich möchte den Quellcode den ich in Matlab geschrieben habe mit dem listings package darstellen. Das funktioniert auch. Allerdings möchte ich, dass das Wort "ones" erkannt wird und blau dargestellt wird. Obwohl "ones" in der liste für die blau dargestellten Wörter ist, stimmt die Darstellung nicht. Hat jemand Vorschläge?
Das Beispiel lässt sich kompilieren!
\documentclass[a4paper,bibtotoc,oneside,fleqn]{scrbook}
\usepackage{amsmath,amssymb,amsfonts,amstext}
% highlighting
\usepackage{xcolor,soul}
% listings print source code
\usepackage{listings}
% define colors for source code list
\definecolor{colKeys}{rgb}{0,0,1}
\definecolor{colIdentifier}{rgb}{0,0,0}
\definecolor{colComments}{rgb}{0,1,0.3}
\definecolor{colString}{rgb}{0,0.5,0}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\lstset{language=Matlab,
keywords={break,case,catch,continue,else,elseif,en d,for,function,
global,if,otherwise,persistent,return,switch,try,w hile,ones,zeros},
float=hbp,
basicstyle=\ttfamily\small,
identifierstyle=\color{colIdentifier},
keywordstyle=\color{blue},
commentstyle=\color{red},
stringstyle=\color{dkgreen},
columns=flexible,
tabsize=2,
frame=single,
numbers=left,
extendedchars=true,
showspaces=false,
numberstyle=\tiny\color{gray},
stepnumber=1,
numbersep=10pt,
showspaces=false,
showstringspaces=false,
breakautoindent=true}
\begin{filecontents}{matlab.m}
function [u1] = function(a,b,c)
% Resonanzfrequenzen
f1 = 10.7e6;
iA = ones(1,N);
iB = zeros(1,N);
\end{filecontents}
\begin{document}
\lstset{language=Matlab}
\lstinputlisting[breaklines=true]{matlab.m}
\end{document}
BG
C
Das Beispiel lässt sich kompilieren!
\documentclass[a4paper,bibtotoc,oneside,fleqn]{scrbook}
\usepackage{amsmath,amssymb,amsfonts,amstext}
% highlighting
\usepackage{xcolor,soul}
% listings print source code
\usepackage{listings}
% define colors for source code list
\definecolor{colKeys}{rgb}{0,0,1}
\definecolor{colIdentifier}{rgb}{0,0,0}
\definecolor{colComments}{rgb}{0,1,0.3}
\definecolor{colString}{rgb}{0,0.5,0}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\lstset{language=Matlab,
keywords={break,case,catch,continue,else,elseif,en d,for,function,
global,if,otherwise,persistent,return,switch,try,w hile,ones,zeros},
float=hbp,
basicstyle=\ttfamily\small,
identifierstyle=\color{colIdentifier},
keywordstyle=\color{blue},
commentstyle=\color{red},
stringstyle=\color{dkgreen},
columns=flexible,
tabsize=2,
frame=single,
numbers=left,
extendedchars=true,
showspaces=false,
numberstyle=\tiny\color{gray},
stepnumber=1,
numbersep=10pt,
showspaces=false,
showstringspaces=false,
breakautoindent=true}
\begin{filecontents}{matlab.m}
function [u1] = function(a,b,c)
% Resonanzfrequenzen
f1 = 10.7e6;
iA = ones(1,N);
iB = zeros(1,N);
\end{filecontents}
\begin{document}
\lstset{language=Matlab}
\lstinputlisting[breaklines=true]{matlab.m}
\end{document}
BG
C