Listings mit Matlab Thema ist als GELÖST markiert

Schriftbild, Absätze und Auflistungen einstellen


Hannes_r

Listings mit Matlab

Beitrag von Hannes_r »

Ich habe versucht einen Matlab Code in Latex folgendermaßen einzubinden:
\documentclass[
a4paper, 12pt
]{scrreprt}

\usepackage{listings}
\usepackage{color}



\begin{document}

\lstset{
  language=Matlab,
  breaklines=true,
  numbers=left,
  numberstyle=\tiny,
  numbersep=5pt,

\lstinputlisting[language=Matlab, frame=single]{./code/regelstrategie.m}

\end{document}

Ergebnis:
Bild

im Matlabfile an dieser stelle steht:
Tsoll_H = komforttemp - 2;
Tsoll_K = komforttemp + 2;


% Heizgrenze = Tsoll_H-Rlf*qelb;
% Kuehlgrenze= Tsoll_K-Rlf*qeub;

if (T_Au_aktiv < Heizgrenze) && (T_Au_aktiv < Kuehlgrenze)
    Betriebsart= 1; %Heizen
elseif (T_Au_aktiv > Heizgrenze) && (T_Au_aktiv > Kuehlgrenze)
    Betriebsart= 2; %Kuehlen
elseif (T_Au_aktiv <= Heizgrenze) && (T_Au_aktiv >= Kuehlgrenze)
    Betriebsart= 3; %Heizen oder Kuehlen
else
    Betriebsart= 0; %Aus
end
[\code]


Das Einfügen der Kommentare klappt nicht. Wo liegt der Fehler?

Hannes_r

Listings mit Matlab

Beitrag von Hannes_r »

\usepackage[T1]{fontenc}

\usepackage[ngerman]{babel}

\usepackage[utf8]{inputenc}
[\code]

Diese Pakete hatte ich vergessen zu erwähnen. Ich benutze außerdem TeXStudio 2.5.2 und Miktex 2.9 falls das hilft.

Komisch das im Netzt kein Anderer auf dieses Problem stößt.

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Beitrag von Epllus »

Bei mir zeigt das Minimalbeispiel das Gewünschte.
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.m}
Tsoll_H = komforttemp - 2; 
Tsoll_K = komforttemp + 2; 


% Heizgrenze = Tsoll_H-Rlf*qelb; 
% Kuehlgrenze= Tsoll_K-Rlf*qeub; 

if (T_Au_aktiv < Heizgrenze) && (T_Au_aktiv < Kuehlgrenze) 
   Betriebsart= 1; %Heizen 
elseif (T_Au_aktiv > Heizgrenze) && (T_Au_aktiv > Kuehlgrenze) 
   Betriebsart= 2; %Kuehlen 
elseif (T_Au_aktiv <= Heizgrenze) && (T_Au_aktiv >= Kuehlgrenze) 
   Betriebsart= 3; %Heizen oder Kuehlen 
else 
   Betriebsart= 0; %Aus 
end 

\end{filecontents}

\documentclass[ 
a4paper, 12pt 
]{scrreprt} 

\usepackage{listings} 
\usepackage{xcolor} % besser als color

\begin{document} 

\lstset{ 
  language=Matlab, 
  breaklines=true, 
  numbers=left, 
  numberstyle=\tiny, 
  numbersep=5pt, 
}
\lstinputlisting[language=Matlab, frame=single]{\jobname.m} 

\end{document}
Listings habe ich Version 1.4.

Grüße
Epllus

Hannes_r

Listings mit Matlab

Beitrag von Hannes_r »

Danke für das Testen. Also liegt es wohl nicht an falschen Parametern für Listings.
Könnte es dann sein das andere Pakete dazwischen funken?
Bei direkt einbinden ohne externes File kam das selbe Ergebnis..

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Beitrag von Epllus »

Ist das Paket „listings“ auf dem neuesten Stand und richtig installiert?

Hannes_r

Listings mit Matlab

Beitrag von Hannes_r »

Ich habe ebenfalls die Version listings 2007/02/22 1.4.
Zur richtigen Installation kann ich nur sagen, dass im Miktex Package Manager listings mit installed on gekennzeichnet ist.
Listing ohne "s" brauch ich ja nicht oder?

Hannes_r

Listings mit Matlab

Beitrag von Hannes_r »

Ok schuld ist wohl das vorherige XML Listing, daher der komplette Code.
Wie lösche ich die Einstellungen aus dem XML Listings?
\documentclass[
a4paper, 12pt
]{scrreprt}

\usepackage{listings} 
\usepackage{color} 


\begin{document}

\lstset{
  language=XML,
  breaklines=true,
  basicstyle=\ttfamily,
  columns=fullflexible,
  showstringspaces=false,
  commentstyle=\color{gray}\upshape
  morestring=[b]",
  morestring=[s],
  morecomment=[s]{<?}{?>},
  stringstyle=\color{magenta},
  identifierstyle=\color{cyan},
  keywordstyle=\color{darkblue},
  morekeywords={day,date,Jun, low, high, text, code}
  } 

\begin{lstlisting}[frame=single]
<yweather:forecast day="Thu" date="6 Jun 2013" low="17" high="22" text="Partly Cloudy" code="30"/>
<yweather:forecast day="Fri" date="7 Jun 2013" low="17" high="23" text="Partly Cloudy" code="30"/>
<yweather:forecast day="Sat" date="8 Jun 2013" low="17" high="23" text="Partly Cloudy" code="30"/>
<yweather:forecast day="Sun" date="9 Jun 2013" low="17" high="24" text="Mostly Cloudy" code="28"/>
<yweather:forecast day="Mon" date="10 Jun 2013" low="17" high="23" text="AM Clouds/PM Sun" code="30"/>
\end{lstlisting}

\lstset{ 
  language=Matlab, 
  breaklines=true, 
  numbers=left, 
  numberstyle=\tiny, 
  numbersep=5pt, 

\lstinputlisting[language=Matlab, frame=single]{./code/regelstrategie.m} 

\end{document}

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Beitrag von Epllus »

Hannes_r hat geschrieben:Ok schuld ist wohl das vorherige XML Listing, daher der komplette Code.
Wie lösche ich die Einstellungen aus dem XML Listings?
Eher ein vergessenes { und Beistrich:
\RequirePackage{filecontents} 
\begin{filecontents}{\jobname.m} 
Tsoll_H = komforttemp - 2; 
Tsoll_K = komforttemp + 2; 


% Heizgrenze = Tsoll_H-Rlf*qelb; 
% Kuehlgrenze= Tsoll_K-Rlf*qeub; 

if (T_Au_aktiv < Heizgrenze) && (T_Au_aktiv < Kuehlgrenze) 
   Betriebsart= 1; %Heizen 
elseif (T_Au_aktiv > Heizgrenze) && (T_Au_aktiv > Kuehlgrenze) 
   Betriebsart= 2; %Kuehlen 
elseif (T_Au_aktiv <= Heizgrenze) && (T_Au_aktiv >= Kuehlgrenze) 
   Betriebsart= 3; %Heizen oder Kuehlen 
else 
   Betriebsart= 0; %Aus 
end 

\end{filecontents} 


\documentclass[ 
a4paper, 12pt 
]{scrreprt} 

\usepackage{listings} 
\usepackage{xcolor} 


\begin{document} 

\lstset{ 
  language=XML, 
  breaklines=true, 
  basicstyle=\ttfamily, 
  columns=fullflexible, 
  showstringspaces=false, 
  commentstyle=\color{black!50}\upshape , %%% Beistrich vergessen!!!!!!! 
  morestring=[b]", 
  morestring=[s], 
  morecomment=[s]{<?}{?>}, 
  stringstyle=\color{magenta}, 
  identifierstyle=\color{cyan}, 
  keywordstyle=\color{blue}, 
  morekeywords={day,date,Jun, low, high, text, code} 
  } 

\begin{lstlisting}[frame=single] 
<yweather:forecast day="Thu" date="6 Jun 2013" low="17" high="22" text="Partly Cloudy" code="30"/> 
<yweather:forecast day="Fri" date="7 Jun 2013" low="17" high="23" text="Partly Cloudy" code="30"/> 
<yweather:forecast day="Sat" date="8 Jun 2013" low="17" high="23" text="Partly Cloudy" code="30"/> 
<yweather:forecast day="Sun" date="9 Jun 2013" low="17" high="24" text="Mostly Cloudy" code="28"/> 
<yweather:forecast day="Mon" date="10 Jun 2013" low="17" high="23" text="AM Clouds/PM Sun" code="30"/> 
\end{lstlisting} 

\lstset{ 
  language=Matlab, 
  breaklines=true, 
  numbers=left, 
  numberstyle=\tiny, 
  numbersep=5pt, 
} 

\lstinputlisting[language=Matlab, frame=single]{\jobname.m} 

\end{document} 

Grüße
Epllus

Hannes_r
Forum-Newbie
Forum-Newbie
Beiträge: 1
Registriert: Fr 21. Jun 2013, 18:21

Listings mit Matlab

Beitrag von Hannes_r »

Es hat geklappt. Danke für den Hinweis es war wirklich das Komma. Das Alles wegen einem so kleinen Leichtsinnfehlers... Danke dir :)

Antworten