von Gast » Do 2. Dez 2010, 15:09
Hallo,
der Thread ist zwar schon was älter, aber er trifft auf mein Vorhaben zu.
Ich habe den Code umgeformt:
\documentclass[a4paper]{scrreprt} %DIN-A4-Format
%\documentclass{scrbook}
\usepackage[T1]{fontenc}
\usepackage{amsmath} %erweiterter Mathematischer Formelsatz
\usepackage{amssymb} %erweiterter Mathematischer Formelsatz
\usepackage[latin9]{inputenc} %Eingabe von ü,ä,ö,ß erlauben deutscher Zeichensatz
\usepackage[ngerman]{babel} %neue deutsche Trennungen, Überschriften, usw.
\usepackage{graphicx} %Einbindung von Grafikdateien
%\usepackage[dvips]{graphicx}
%\usepackage{siunitx}
\usepackage{setspace} %wird für setstrech benötigt
\usepackage{textcomp} %für Buchstaben wie µ
%\usepackage{tocbibind} %automatisches Erstellten v. Verzeichnisse für Abbildungen,...
\usepackage{pdfpages} %wenn LaTex => PS => PDF dieses Package ausblenden
\usepackage{geometry}
\usepackage{helvet} %Schriftart Arial
\usepackage{multirow} %Tabellen
\usepackage{float} %Grafiken fixieren
\usepackage{tabularx,longtable,ltxtable}%Tabellen
\usepackage{booktabs}
\usepackage{remreset} %zwecks durchlaufender Numerierung von Fußnoten und Formeln
%\usepackage{hypdvips} %ermöglicht das kompelieren von LaTex ==> PS ==> PDF
%\usepackage{epstopdf} %konvertiert eps zu pdf
\makeatletter
\@removefromreset{footnote}{chapter} %zwecks durchlaufender Numerierung von Fußnoten
\@removefromreset{equation}{chapter} %zwecks durchlaufender Numerierung von Formeln
\makeatother
\usepackage{color} %\definecolor
\usepackage{listings} %Programmcodeumgebung
\usepackage{microtype} %Captions im Programmcode
\definecolor{bgcolor}{rgb}{0,0,0}
\definecolor{string}{rgb}{1,0,0}
\lstloadlanguages{Matlab}
\lstnewenvironment{MatlabCode}[1][]
{\microtypesetup{activate=false} %Captions im Programmcode
\lstset{
language= Matlab,
basicstyle=\ttfamily, %generell Schreibmaschinenschrift
basicstyle=\scriptsize,
stringstyle=\color{string},
backgroundcolor=\color{white}, %Hintergrundfarbe
showstringspaces=false, %In Strings keine Backspace zeichen breaklines=true,
captionpos=b, %Beschriftungsposition
frame=single, %shadowbox, leftline, lines, topline, t, r, b, l
numbers = left, %links Zeilennummern
xleftmargin=.04\textwidth,
#1}
}
{}
\begin{document}
Der Matlabcode lautet:
\begin{MatlabCode}
for j = 1:lx(y)
for i = 1:y(t)
if x == 1 %if all is ok
ai) = 0;
elseif x(i) == 0 & i>1
a(i) = a(i-1);
else
a(i) = asind(h(i) / _x(i)); % [°] angle
end
end
end
\end{MatlabCode}
\end{document}
Was mich nun stört (evtl. hat jemand noch ne andere Idee) ist, dass die Schrift nicht die von Matlab ist, die Farben von Matlabausdrücken wie if nicht blau ist sondern fett ist. Kommentare, die mit % beginnen nicht erkeannt werden und dann kursiv anstelle von grün sind. Und ich es nicht hinbekomme die Nummerrierung nur dann anzuzeigen wenn dort Code steht und der Bindestrich fehlt.
Wichtig sind natürlich die Einrückungen bei den Leerzeilen, das geht garnicht...
Wie bekomme ich denn den Rahmen weg und die besche Hintergrundfarbe hin?
Grüße
Hallo,
der Thread ist zwar schon was älter, aber er trifft auf mein Vorhaben zu.
Ich habe den Code umgeformt:
[code]
\documentclass[a4paper]{scrreprt} %DIN-A4-Format
%\documentclass{scrbook}
\usepackage[T1]{fontenc}
\usepackage{amsmath} %erweiterter Mathematischer Formelsatz
\usepackage{amssymb} %erweiterter Mathematischer Formelsatz
\usepackage[latin9]{inputenc} %Eingabe von ü,ä,ö,ß erlauben deutscher Zeichensatz
\usepackage[ngerman]{babel} %neue deutsche Trennungen, Überschriften, usw.
\usepackage{graphicx} %Einbindung von Grafikdateien
%\usepackage[dvips]{graphicx}
%\usepackage{siunitx}
\usepackage{setspace} %wird für setstrech benötigt
\usepackage{textcomp} %für Buchstaben wie µ
%\usepackage{tocbibind} %automatisches Erstellten v. Verzeichnisse für Abbildungen,...
\usepackage{pdfpages} %wenn LaTex => PS => PDF dieses Package ausblenden
\usepackage{geometry}
\usepackage{helvet} %Schriftart Arial
\usepackage{multirow} %Tabellen
\usepackage{float} %Grafiken fixieren
\usepackage{tabularx,longtable,ltxtable}%Tabellen
\usepackage{booktabs}
\usepackage{remreset} %zwecks durchlaufender Numerierung von Fußnoten und Formeln
%\usepackage{hypdvips} %ermöglicht das kompelieren von LaTex ==> PS ==> PDF
%\usepackage{epstopdf} %konvertiert eps zu pdf
\makeatletter
\@removefromreset{footnote}{chapter} %zwecks durchlaufender Numerierung von Fußnoten
\@removefromreset{equation}{chapter} %zwecks durchlaufender Numerierung von Formeln
\makeatother
\usepackage{color} %\definecolor
\usepackage{listings} %Programmcodeumgebung
\usepackage{microtype} %Captions im Programmcode
\definecolor{bgcolor}{rgb}{0,0,0}
\definecolor{string}{rgb}{1,0,0}
\lstloadlanguages{Matlab}
\lstnewenvironment{MatlabCode}[1][]
{\microtypesetup{activate=false} %Captions im Programmcode
\lstset{
language= Matlab,
basicstyle=\ttfamily, %generell Schreibmaschinenschrift
basicstyle=\scriptsize,
stringstyle=\color{string},
backgroundcolor=\color{white}, %Hintergrundfarbe
showstringspaces=false, %In Strings keine Backspace zeichen breaklines=true,
captionpos=b, %Beschriftungsposition
frame=single, %shadowbox, leftline, lines, topline, t, r, b, l
numbers = left, %links Zeilennummern
xleftmargin=.04\textwidth,
#1}
}
{}
\begin{document}
Der Matlabcode lautet:
\begin{MatlabCode}
for j = 1:lx(y)
for i = 1:y(t)
if x == 1 %if all is ok
ai) = 0;
elseif x(i) == 0 & i>1
a(i) = a(i-1);
else
a(i) = asind(h(i) / _x(i)); % [°] angle
end
end
end
\end{MatlabCode}
\end{document}
[/code]
Was mich nun stört (evtl. hat jemand noch ne andere Idee) ist, dass die Schrift nicht die von Matlab ist, die Farben von Matlabausdrücken wie if nicht blau ist sondern fett ist. Kommentare, die mit % beginnen nicht erkeannt werden und dann kursiv anstelle von grün sind. Und ich es nicht hinbekomme die Nummerrierung nur dann anzuzeigen wenn dort Code steht und der Bindestrich fehlt.
Wichtig sind natürlich die Einrückungen bei den Leerzeilen, das geht garnicht...
Wie bekomme ich denn den Rahmen weg und die besche Hintergrundfarbe hin?
Grüße