Hat jemand einen Tipp für mich, wie man einfach und elegant Matlab-Codes bzw. .m-Dateien in Latex einfügen kann? Habe bisher schon von mehreren packages gehört (verbatim, listings,...), das erschien mir aber alles sehr komplex und zu umfangreich für meine Zwecke. Habe jetzt (wie unten zu sehen) das mcode-Package runtergeladen (basiert auch auf listings), wenn ich das aber so kompiliere, erzeuge ich nur Fehler... Wie macht ihr das denn?

\documentclass[12pt]{scrreprt}%bibliography=totocnumbered
%Um Quellcode einzufügen
\usepackage{mcode}

\begin{document}

%\begin{mcode}
    \lstinputlisting{QR-Zerlegung.m}

%\end{mcode}

\end{document}

gefragt 09 Jun, 17:21

Bachelorette's gravatar image

Bachelorette
464
Akzeptiert: 75%


Ich finde das Paket mcode nicht.

Aber ich interpretiere die Aufgabe so, dass eine matlab-Datei matlab-beispiel.m in Form eines Quelltextbereiches im Dokument erscheinen soll; und dafür reicht m.E. das listings-Paket.

Im Wesentlichen die Zeile \lstinputlisting[language=Matlab, ...]{matlab-beispiel.m}.

PS: Bitte achte darauf, dass Deine Beispiele lauffähig sind. Hier siehst Du eine Möglichkeit, wie das geht.

Kurz:

alt text

\RequirePackage{filecontents}
\begin{filecontents*}{matlab-beispiel.m}
N = 20;
r = linspace(0, 1, N);
[X,Y,Z] = cylinder(r, N);
Z=-Z+1;
h = surf(X, Y, Z);
axis square
\end{filecontents*}

\documentclass[paper=a5]{scrreprt}
\usepackage[margin=8mm]{geometry}
\usepackage{listings} 
\begin{document}
\lstinputlisting[language=Matlab]{matlab-beispiel.m}
\end{document}

Lang:

alt text

\RequirePackage{filecontents}
\begin{filecontents*}{matlab-beispiel.m}
N = 20;
r = linspace(0, 1, N);
[X,Y,Z] = cylinder(r, N);
Z=-Z+1;
h = surf(X, Y, Z);
axis square
\end{filecontents*}

\documentclass[paper=a5]{scrreprt}
\usepackage[margin=8mm]{geometry}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},  germandbls={ß}}
\usepackage[ngerman]{babel}

\usepackage{xcolor} 
%=================================
\usepackage{listings} 
\renewcommand{\lstlistlistingname}{Codeverzeichnis}
\renewcommand{\lstlistingname}{Quellcode}

% Globale  Einstellungen
\lstdefinestyle{matlabstyle}{
  language=Matlab,
  frame=single,
  backgroundcolor=\color{yellow!30},
  rulecolor=\color{lightgray!40},
  breaklines=true,
%  xleftmargin=\parindent,
  basicstyle=\footnotesize\ttfamily,
  keywordstyle=\bfseries\color{black!70!purple},
  commentstyle=\itshape\color{green!40!black},
  identifierstyle=\color{blue},
  stringstyle=\color{orange},
}
%=================================
% Globale Einstellungen
\usepackage{accsupp}    
%% Nummern nicht auswählbar machen !
\newcommand{\noncopynumber}[1]{ \BeginAccSupp{method=escape,ActualText={}}
        #1
\EndAccSupp{}}%
%%

\lstset {numberstyle=\tiny\color{gray!90!black}\noncopynumber, 
numbers=left,  numbersep=1.5pt,
%    stepnumber=2,
 columns=flexible,
literate={ä}{{\"a}}1{ö}{{\"o}}1 {ü}{{\"u}}1{ß}{{\ss}}1,
captionpos=b,      % t op,  b ottom
 }
%=================================

\begin{document}
\lstlistoflistings

\bigskip
\lstinputlisting[language=Matlab, style=matlabstyle,
caption=Beispiel für Matlab, 
]{matlab-beispiel.m}
\end{document}
Permanenter link

beantwortet 09 Jun, 17:59

cis's gravatar image

cis
9.2k19195314

bearbeitet 09 Jun, 19:36

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×3
×1

Frage gestellt: 09 Jun, 17:21

Frage wurde angeschaut: 152 Mal

Zuletzt aktualisiert: 09 Jun, 19:36