matlab code in latex integrieren

Formelsatz für Mathematik, Naturwissenschaften und Technik


Gast

matlab code in latex integrieren

Beitrag 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

Mechanicus
Forum-Guru
Forum-Guru
Beiträge: 322
Registriert: Mi 8. Okt 2008, 18:41
Wohnort: Hamburg

Beitrag von Mechanicus »

Hi,

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

Das Paket wäre für dich geeignet.

Gruß
Marco
Personalführung ist die Kunst der Vorgesetzten den Untergebenen so schnell über den Tisch zu ziehen, dass er die Reibungshitze als Nestwärme empfindet.

Gast

Beitrag 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

Mechanicus
Forum-Guru
Forum-Guru
Beiträge: 322
Registriert: Mi 8. Okt 2008, 18:41
Wohnort: Hamburg

Beitrag von Mechanicus »

Hi,

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

Gruß
Marco
Personalführung ist die Kunst der Vorgesetzten den Untergebenen so schnell über den Tisch zu ziehen, dass er die Reibungshitze als Nestwärme empfindet.

Gast

Beitrag 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

waba
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Sa 1. Mär 2014, 09:39

Umlaute in Matlab-Code

Beitrag 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

Antworten