Seite 1 von 1

matlab code in latex integrieren

Verfasst: Di 14. Dez 2010, 17:17
von Gast
Nabned zusammen,

habe eine eurer Vorgaben für meine Bedürfnisse umgebaut und dabei verbaut. Schaut selbst:
\documentclass[a4paper]{scrreprt}							%DIN-A4-Format

\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[latin9]{inputenc}	
\usepackage[ngerman]{babel}	
\usepackage{graphicx}			
\usepackage{setspace}	
\usepackage{textcomp}	
\usepackage{pdfpages}		
\usepackage{geometry}
\usepackage{helvet}		
\usepackage{multirow}		
\usepackage{float}
\usepackage{tabularx,longtable,ltxtable}
\usepackage{booktabs}
\usepackage{remreset}	
\usepackage{chngcntr}	
\usepackage{hyperref}
\usepackage{bibgerm}
\usepackage{url}


%\usepackage[colorlinks]{hyperref}
\usepackage{color}						%\definecolor
\usepackage{listings}					%Programmcodeumgebung für Matlab Code
\usepackage{microtype}				%Captions im Programmcode

\definecolor{bgcolor}{rgb}{0,0,0}
\definecolor{string}{rgb}{1,0,0}
\definecolor{darkblue}{rgb}{0,0,.75}
\definecolor{darkred}{rgb}{.75,0,0}
\definecolor{darkgreen}{rgb}{0,.75,0}

\lstloadlanguages{Matlab}
\lstnewenvironment{MatlabCode}[1][]
{\microtypesetup{activate=false}		%Captions im Programmcode
\lstset{
	language= Matlab,
	basicstyle=\ttfamily,							%generell Schreibmaschinenschrift
	basicstyle=\scriptsize,
	keywordstyle=\color{darkblue},
	commentstyle=\color{darkgreen}, 
	stringstyle=\color{string},
	backgroundcolor=\color{yellow},		%Hintergrundfarbe
	showstringspaces=false,						%In Strings keine Backspace zeichen breaklines=true,
	captionpos=b,											%Beschriftungsposition
	numbers	=	left,										%links Zeilennummern
	xleftmargin=.04\textwidth, 
	%frame=single,											%shadowbox, leftline, lines, topline, t, r, b, l
	#1}
}
{}


\begin{document}


\begin{MatlabCode}
for j = 1:length(m)
 for i = 1:length(t)
  if x   == 1                                                                         %hier steht dann eine Erläuterung
   x(i)             = 0;           
  elseif x(i) == 0  & i>1                                                             % ebenso wie hier,aber warum das einrücken? Ich möchte dasss die Zeilen nicht mitgetählt werden
 end
end
\end{MatlabCode}


\end{document}
nun meine Fragen:

1.) wieso wird die Kommentarzeile ohne Nummer so verschoben?
2.) Wie bekomm ich die org. Matlabschrift,Farbe etc. hin?
3.) gibt es evtl. generell bessere Lösungen?


Grüße

Verfasst: Di 14. Dez 2010, 17:21
von Mechanicus
Hi,

http://www.mathworks.com/matlabcentral/ ... ex-package

Das Paket wäre für dich geeignet.

Gruß
Marco

Verfasst: Di 14. Dez 2010, 18:50
von Gast
Hallo Marco,

ok ich habe keine Admin Rechte auf dem Rechner, d.h. die Matlab toolbox werde ich wohl nicht installiert bekommen...

Oder gibt es auch ne Varianten die ohne Adminrechte hinzubekommen?

Ich habe bei Matlab bislang n.n. sowas installieren müssen.

VG

Verfasst: Di 14. Dez 2010, 21:12
von Mechanicus
Hi,

das ist doch nur ein Paket mcode. Das kannst du normal in dein Arbeitsverzeichnis kopieren.

Gruß
Marco

Verfasst: Mi 15. Dez 2010, 17:27
von Gast
Hallo Marco,

ok habe alles entsprechend eingefügt. Nur der Effekt ist der gleiche...

wenn ich eine Datei einlese, wird kein Zeilenumbruch vorgenommen.

auch wenn ich die Zeilenumbrüche in Matlab manuell vornehme kommt es nicht sauber hin.

Gibt es eine Zeilen umbruchbefehl in Matlab oder der Latex Umgebung?

Verwende derzeit folgende:
\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,end,for,function,
   global,if,otherwise,persistent,return,switch,try,while,ones,zeros},
   float=hbp,
   basicstyle=\ttfamily\small,
   identifierstyle=\color{colIdentifier},
   keywordstyle=\color{blue},
   commentstyle=\color{green},
   stringstyle=\color{dkgreen},
   columns=flexible,
   tabsize=2,
   %frame=none; %single,
   numbers=left,
   extendedchars=false,
   showspaces=false,
   numberstyle=\ttfamily\small\color{gray},
   stepnumber=1,
   numbersep=10pt,
   showspaces=false,
   showstringspaces=false,
   breakautoindent=true}



\begin{document}


\lstinputlisting[breaklines=true]{matlab.m}



\end{document}
VG

Umlaute in Matlab-Code

Verfasst: So 16. Mär 2014, 19:32
von waba
Hallo zusammen,

Ich habe mir das empfohlene Packet mcode.sty wie empfohlen herunter geladen und in den betreffenden Ordner gepackt. Soweit funktioniert auch alles super nur habe ich ein Problem mit den Umlauten. Kann ich in die mcode.sty-Datein zum Beispiel den Befehl:
\usepackage[utf8]{inputenc}
einfügen und wenn ja wo? Oder muss ich etwas in meiner eigentlichen Präambel hinzufügen?
Diese sieht momentan wie folgt aus:
\documentclass[a4paper,12pt,titlepage,german,liststotoc,bibtotoc,headsepline]{scrartcl}

\usepackage[ngerman]{babel} % deutsche Silbentrennung
\usepackage{ucs}
\usepackage[utf8]{inputenc} % deutsche Umlaute
	
\usepackage[T1]{fontenc}
\usepackage{graphicx}
Viele Grüße