PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : µ in listings



MarkusRV
03-09-2009, 12:01
Hey,

wie der Titel schon sagt, hab ich ein Problem mit dem µ in einer listings-umgebung. Ich möchte einen MatLab-Quellcode darstellen und habe es so in der Präambdel definiert.

\usepackage{listings}
\lstset{language=Matlab,keywordstyle=\color{blue}, basicstyle=\tiny}

jetzt kommen 101 Fehler wenn ich das µ so stehen lasse, auch wenn es im MatLab als Kommentar steht. ersetze ich das durch \textmu oder $\mu$, dann kommt kein Fehler mehr, aber er erkennt es auch nicht und schreibt \textmu bzw. $\mu$ als text hin.

kann doch nicht so schwer sein, das hinzubekommen. Ich hab auch mal schnell die doku überflogen, aber nichts gefunden.

Gruß, Markus

bobmalaria
03-09-2009, 12:13
hi,

du musst das \mu vielleicht als keyword definieren oder es zwischen escapechar (siehe anleitung) setzen damit $\mu$ auch als latex code interpretiert wird.

das ist doch gerade das ging von listings code eben icht zu übersetzen sondern darzustellen.

wenn du aber \usepackage[latin1]{inputenc} verwendest, kannst du dann nicht direkt µ im text eingeben?

MarkusRV
03-09-2009, 14:41
ja, ich hab es endlich hinbekommen !!!
also die Idee mit \usepackage[latin1]{inputenc} hat nichts gebracht.
escapechar war auch nicht so das wahre, weil ich dem das mit den escape-charactern nicht richtig vorgegeben hatte. Ist aber auch egal. ich hab jetzt ne ganz gute lösung, die im grunde ähnlich ist, und zwar mit mathescape=true.
Damit erkennt er das Dollarzeichen als Latex-Matheumgebung und behandelt das was darin steht auch so.

letztendlich siehts bei mir also so aus:

\lstset{language=Matlab,keywordstyle=\color{blue}, basicstyle=\tiny,mathescape=true}

\begin{document}

\begin{lstlisting}
MatLab-Quellcode MatLab-Quellcode MatLab-Quellcode
MatLab-Quellcode MatLab-Quellcode MatLab-Quellcode
MatLab-Quellcode MatLab-Quellcode MatLab-Quellcode
$\mu$
MatLab-Quellcode MatLab-Quellcode MatLab-Quellcode

\end{lstlisting}
\end{document}

und mein µ erscheint schön als µ.
Zwar nicht in der Schriftform wie ich sie bisher verwendet hab, aber das trifft auf die gesamte Listing-Umgebung zu, also ist mir das grad egal.

PS: falls jemand seine Präambel-Definition so getuned hat, dass es in Latex genauso wie in Matlab aussieht, bitte posten !!!!

MarkusRV
03-09-2009, 15:19
noch ne kurze frage wo ich schonmal dabei bin.

ich möchte, dass mein Kommentar grün angezeigt wird. klappt alles wunderbar, aber das grün, das latex anbietet sieht einfach scheisse aus. Jetzt wollt ich ne neue farbe definieren und bin dabei auf ein problem gestoßen.

Die kommentarfarbe definiere ich in der Präambel mit "morecomment = [\color{green}]":
\lstset{language=Matlab,keywordstyle=\color{blue}, basicstyle=\tiny,mathescape=true,morecomment=[l][\color{green}]{\%}}

und eine neue farbe definiere ich mit
\definecolor{darkgreen}{rgb}{0,1,0}

Problem der ganzen geschichte:
\definecolor muss zwischen \begin{document}...\end{document} während ich aber schon vorher in der Präambel die Farbe festlegen muss. Die Farbe kann ich also erst definieren, nachdem ich schon eine andere festlegen musste.
Hat jemand ne idee für das problem? Es muss doch ein package geben, dass schon diverse farben definiert hat.
Oder gibt es Farbbezeichnungen außer
black, white, red, green, blue, cyan, magenta, yellow
von denen ich nicht nichts weiß?

MarkusRV
03-09-2009, 15:27
ah ok, ich idiot.
hab ne lösung gefunden. (wenn auch keine optimale)

ich definiere in meinem Dokument einfach die Farbe "green" nochmal neu mit definecolor.
dann wird green im gesamten Dokument zwar dunkler angezeigt, aber da ich es sowieso nirgends sonst im text verwende, passt das.

u_fischer
03-09-2009, 15:38
\definecolor muss zwischen \begin{document}...\end{document}

Quatsch.


Oder gibt es Farbbezeichnungen außer
black, white, red, green, blue, cyan, magenta, yellow
von denen ich nicht nichts weiß?

Ja. Siehe Dokumentation von xcolor.