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 '19, 23:21

Bachelorette's gravatar image

Bachelorette
641510
Akzeptiert-Rate: 0%


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 '19, 23:59

cis's gravatar image

cis
9.5k95459491
Akzeptiert-Rate: 29%

bearbeitet 10 Jun '19, 01:36

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×3
×1

gestellte Frage: 09 Jun '19, 23:21

Frage wurde gesehen: 11,271 Mal

zuletzt geändert: 10 Jun '19, 01:36