PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Listings Paket



razor
09-07-2004, 21:16
Hallo Leute,
Ich hab mal wieder ein Problem.
Es geht um folgendes :
Ich möchte Skripte in der Schule mittippen in Latex.Klappt auch alles soweit.Nun mein Problem : Ich muss des öfteren Programmlistings abtippen und möchte das halt "pretty-printed".Ich hab das listingspaket schon über



\usepackage{listings}


eingebunden.Funktioniert auch soweit.Die Ausgabe ist formatiert und so weiter,und es ist auch nen schnieker kasten drumrum.Nun hab ich aber gesehen das man da auch Zeilennummern vor machen kann . Angeblich geht das über :



\lststyle{labelstyle=\tiny, labelstep=5, firstlabel=1, labelsep=5pt}


Das bewirkt angeblich das die Zeilennummern mit der schriftgrösse tiny geschrieben werden das nur jede 5te Zeile eine nummer bekommt , das man mit 1 beginnt beim durchnummerieren und das die Zeilen 5pt vom quellcode entfernt sind.

Nur wenn ich das so mache und dann kompiliere (pdflatex, ALT-6 in Kile) schmeisst der mir folgende Fehlermeldung aus :




! Undefined control sequence.
l.30 \lststyle
{}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.



Kann sich einer vorstellen woran das liegen könnte?? Ich weiss mir langsam echt nicht mehr zu helfen dabei.Hab auch schon gelesen das ,das ne veraltete listings.sty sein könnte.Die hab ich dann auch mal geupdatet.Hat aber auch nichts gebracht.

Ich hoffe ihr könnt mir helfen..

mFg

r4zz0r

edico
10-07-2004, 09:03
Hej r4zz0r,
bei mir geht das so:
--- schnipp ---
\lstset{labelstyle=\tiny,labelstep=5,labelsep=6pt} %
%\begin{lstlisting}[frame=trBL]{}
\begin{lstlisting}{}
for i:=maxinst to 0 do
begin
{ do nothing }
end;

Write('Case insensitive ');
Write('Pascal keywords.');
\end{lstlisting}
--- schnapp ---
compile: latex foo, dvipdf foo.pdf.
edico

razor
10-07-2004, 11:01
Da meldet er mir das "labelstyle" ,"labelsep" und "labelstep" im Package "keyval" nicht definiert sind :(

mfg

bischi
10-07-2004, 11:23
Es gibt glaub ich noch ein anderes Paket als Listings für Code-Schnipsel - leider ist mir aber der Name entfallen und ich habs auch nirgends mehr gefunden... Würd mal Googlen - vielleicht hast du mehr Glück als ich...

MfG Bischi

edico
10-07-2004, 14:38
Ist dein listing-Paket aufgezogen resp. initialisiert?
Das eXample sieht so aus und läuft ohne bugs:
--- schnipp ---
%
% foo.tex :: pdflatex
%
\documentclass[12pt]{article}
\usepackage{german}
\usepackage[latin1]{inputenc}
\usepackage{times}
\usepackage{listings}
\usepackage{color}

\begin{document}

\section*{Listings Package}
The listings package is a source code printer for \LaTeX.

\subsection*{listing as default}
\lstset{labelstyle=\tiny,labelstep=5,labelsep=6pt} %
\begin{lstlisting}{} %% default
for i:=maxinst to 0 do
begin
{ do nothing }
end;
Write('Case insensitive ');
Write('Pascal keywords.');
\end{lstlisting}

\vspace{.5cm}
\subsection*{listing with frame}
\begin{lstlisting}[frame=trBL]{}
for i:=maxinst to 0 do
begin
{ do nothing }
end;
Write('Case insensitive ');
Write('Pascal keywords.');
\end{lstlisting}

\vspace{.5cm}
\subsection*{listing with background-color}
\definecolor{lightgray}{rgb}{.9,.9,.9}
\lstset{backgroundcolor=lightgray}
\begin{lstlisting}{}
for i:=maxinst to 0 do
begin
{ do nothing }
end;
Write('Case insensitive ');
Write('Pascal keywords.');
\end{lstlisting}

\newpage
\subsection*{listing with C++ language zzgl. inputfile}
\lstset{language=C++} %% spec. language
...
\begin{lstlisting}{}
for(int i=0; i<n; i++)
cout << "loop";
\end{lstlisting}
...
\lstinputlisting{hello.cc} %% list extern file
...
\lstinputlisting[first=2,last=4]{hello.cc} %% just list lines 2-4

\end{document}
--- schnapp ---
Compile: pdflatex foo
edico

edico
10-07-2004, 14:43
Ich vergass eben:
@ bischi :
Du meinst wahrscheinlich das verbatim-package für plain/text (Kurzform \verb+STRING+). Ist ebenso denkbar. Der Vorteil des listings-package ist, dass der language entsprechendes highlighting umgesetzt wird.
edico

edico
10-07-2004, 14:47
Ist nicht mein Tag heute ....
ist denn das package keyval installiert?
edico

fs111
10-07-2004, 15:32
Das sieht ganz danach aus, als hättest Du ein veraltetes Listings-Paket. Das hatte ich auch mal, und da wollte gar nichts funktionieren. Besorg Dir mal die neuste Version von CATAN und installier die per Hand.

fs111

razor
10-07-2004, 17:07
Ich habe das listings paket gestern erst geupdatet.... :(

und ja keyval ist auch installiert.Aber es kann sein das keyval veraltet ist.Ich werde das mal noch updaten.Mal schauen was dabei rauskommt.

danke schonmal soweit...

razor
10-07-2004, 23:12
so.leider hat auch das updaten des keyval packages nichts gebracht.Kann aber auch sein das ich einfach zu doof für die updaterei bin. :(..

mFg

edico
11-07-2004, 08:06
Hej razor,
tja, manchmal könnte man an die Decke gehen ...
dein o.g. bug für line 30 deutet AFAIK darauf hin, dass du in der oder den umliegenden Zeilen einen Fehler hast. Kannst du evtl. den Fehler eingrenzen, wenn er tatsächlich nur in Verbindung mit \lststyle auftritt. Was passiert, wenn du die Optionen schrittweise einfügst ... oder lass mal z.B. firstlabel=1 weg.
edico

bischi
11-07-2004, 10:56
Vielleicht hilft dir das was:

http://www.tug.org/tex-archive/macros/latex/contrib/listings/

MfG Bischi

razor
11-07-2004, 12:20
Ich habs.
So musste es gemacht werden damit das funzt :


\lststyle{numbers=left, numberstyle=\tiny, stepnumber=5, numbersep=5pt}

*freu

Nu kanns losgehen