Matlab-Skript in LaTex-Dokument einbinden

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


Lena071997
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Do 11. Okt 2018, 14:17

Matlab-Skript in LaTex-Dokument einbinden

Beitrag von Lena071997 »

Hallo zusammen,

ich bin neu hier und danke vorab für eure Mühe und Hilfe. Ich habe selbst schon einiges dazu ausprobiert und mein Problem recht genau identifiziert, komme nun aber nicht weiter.

Also ich würde gerne ein Matlab-Skript direkt in LaTex einbinden, was ich mit dem Paket listing mache. Zusätzlich benutze ich matlab-prettifier für eine bessere Darstellung und bisher hat auch alles gut damit geklappt und sah so aus wie gewünscht. Nun habe ich mich entschieden die Schriftart bitstream-charter zu verwenden (auch in der Matheumgebung) und plötzlich werden die Multiplikationszeichen aus dem Matlab-Skript gar nicht mehr dazeigt.

Ich habe dazu folgendes Minimalbeispiel erstellt:

Code: Alles auswählen

\documentclass[a4paper, 12pt, oneside]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[bitstream-charter]{mathdesign}
\usepackage{listings}
\usepackage[numbered, framed]{matlab-prettifier}

\begin{document}
\lstset{language=matlab}
\begin{lstlisting}
c = a*b
\end{lstlisting}
\end{document}
Eigentlich würde ich für den Code

Code: Alles auswählen

\lstinputlisting[style = Matlab-editor]{test.m}
verwenden. Bei obigem Beispiel tritt mein Problem aber genauso auf. Kommentiere ich bitstream-charter aus, funktioniert alles.
Gibt es eine Möglichkeit, die Multiplikationszeichen des Skripts bei Beibehaltung von bitstream-charter darzustellen?

Grüße,
Lena

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2180
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Also zumindest das funktioniert:

Code: Alles auswählen

\begin{filecontents*}{test.m}
c = a*b
\end{filecontents*}

\documentclass[fontsize=12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[bitstream-charter]{mathdesign}
\usepackage{listings}
\usepackage[numbered, framed]{matlab-prettifier}

%\lstset{style=Matlab-editor}

\begin{document}
\begin{lstlisting}[style=Matlab-editor]
c = a*b
\end{lstlisting}

\lstinputlisting[style=Matlab-editor]{test.m}
\end{document}

Lena071997
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Do 11. Okt 2018, 14:17

Beitrag von Lena071997 »

Danke für die schnelle Antwort! Das klappt tatsächlich, auch wenn ich den Unterschied nicht verstehe.
Nun möchte ich aber gerne auch die Schriftgröße des Matlab-Codes anpassen, da die automatische Variante sehr groß ist.
Wenn ich

Code: Alles auswählen

\lstinputlisting[style=Matlab-editor, basicstyle = \footnotesize]{test.m}
nutze, wird die Schrift zwar kleiner, aber das Multiplikationszeichen verschwindet wieder. Setze ich

Code: Alles auswählen

\lstset{basicstyle = \footnotesize}
global, reagiert es gar nicht, also es wird zwar alles richtig angezeigt, aber die Schriftgröße wird nicht kleiner.
Ich bin total verwirrt. Normalerweise erscheint es mir immer recht logisch, was LaTex tut - hier verstehe ich gerade gar nicht, welche Einstellungen und Pakete sich beeinflussen. :shock:

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2180
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Du musst auch die Einstellung der Schreibmaschinenschrift berücksichtigen:

Code: Alles auswählen

basicstyle=\ttfamily\footnotesize

Gast

Beitrag von Gast »

Laut Anleitung setzt matlab-prettifier in seiner Style-Definition:

Code: Alles auswählen

basicstyle=\color{black}\ttfamily\normalsize
. Damit ist dann sowohl klar, warum * plötzlich wieder funktioniert, und es ist auch klar, warum sich das wieder ändert, sobald man basicstyle ändert und dabei \ttfamily nicht mit angibt …

Lena071997
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Do 11. Okt 2018, 14:17

Beitrag von Lena071997 »

Oh stimmt... Nun geht es! Vielen, vielen Dank :D

Gast

Beitrag von Gast »

Nur Charter hast Du dann natürlich in den Listings nicht. Stattdessen wird sftt1200.pfb (also Computer Modern Typewriter) für die Listings verwendet. In der matlab-prettifier-Anleitung wird übrigens auch noch eine Alternative dazu erwähnt.

Lena071997
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Do 11. Okt 2018, 14:17

Beitrag von Lena071997 »

Danke für den Hinweis. Mir gefällt die Modern Typewriter dennoch für die Anwendung am besten :D

Antworten