PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : lstlisting färbt nicht ein!?



whatever
11-01-2005, 13:24
Sollte meines Wissens nach Quellcode, der mit \begin{lstlisting} und \end{lstlisting} getaggt ist, nicht mit Syntaxhighlighting versehen werden? Bei mir ist alles schwarz und dazu noch in verschnörkelter Schrift. Dachte aber eher an Courier (new).

Habe es folgendermaßen initialisiert:

\usepackage{listings,color}
...
\begin{document}
...
\lstloadlanguages{}
\lstset{language=C++, numbers=left, numberstyle=\tiny,
stepnumber=1, numbersep=5pt, tabsize=4}
...
\begin{lstlisting}
int main()
{
// Hier steht Quellcode
}
\end{lstlisting}
...
\end{document}

Gruß,
whatever...

blubb
11-01-2005, 13:29
Nachdem ich noch ein \documentclass{scrartcl} eingefügt habe (und die ... vor \begin{document} entfernt habe) läuft das Beispiel bei mir durch und zeigt normales Syntaxhighlighting.

whatever
11-01-2005, 13:42
Bei mir leider nicht, habe ein für meine Dipl-Arbeit ein anderes Dokument gewählt:

\documentclass[12pt, a4paper, onecolumn, oneside, german, abstracton, titlepage, headsepline]{scrreprt}
Ansonsten habe ich noch folgende Packages:

\usepackage[latin1]{inputenc}
\usepackage[USenglish,german]{babel}
\usepackage{ngerman}
\usepackage{umlaut}
\usepackage[obeyspaces]{url}
\usepackage{minitoc}
\usepackage[pdftex]{graphicx}
\usepackage{longtable}
\usepackage{rotating}
\usepackage{listings,color}
\usepackage{shortvrb}
\usepackage{calc}

Wenn ich das, was bei Dir angeblich farbig ist, alleine ins TeX schreibe und kompiliere, ist es trotzdem schwarz!? :confused:

whatever...

edico
11-01-2005, 14:34
\documentclass[12pt, a4paper, onecolumn, oneside, german, abstracton, titlepage, headsepline]{scrreprt}
\usepackage{listings,color}
\definecolor{lightestyellow}{rgb}{1,1,0.9}
\definecolor{mydarkred}{rgb}{.6,.1,.1}
\begin{document}
\lstloadlanguages{}
\lstset{language=C++,
%numbers=left,
labelstyle=\tiny,
labelstep=1,
labelsep=5pt,
basicstyle=\small,
frame=trb, %trlbTRBL doppelt top-right-left-bottoom
backgroundcolor=lightestyellow,
keywordstyle=\color{mydarkred}\textbf,
% numberstyle=\tiny,
% stepnumber=1,
% numbersep=5pt,
% tabsize=4
}

\begin{lstlisting}{}
int main()
{
%// Hier steht Quellcode
#include<iostream.h>

void main()
{
cout << "Hello World!" << endl;
}
}
\end{lstlisting}
\end{document}
edico

whatever
11-01-2005, 14:58
OK, habe jetzt meine Styles durchdefiniert:
\lstset{extendedchars=true,
numbers=left,
numberstyle=\tiny,
basicstyle=\ttfamily\small,
keywordstyle=\color{blue}\textbf,
commentstyle=\color{darkgreen}\ttfamily\small,
stringstyle=\color{brown},
backgroundcolor=\color{white},
stepnumber=1,
numbersep=5pt,
breaklines=true,
language=C++}
Leider rückt er immer noch nicht die Zeilen automatisch ein, oder ist das nicht dabei? Muss ich da noch mit {tabbing} arbeiten?

whatever...

blubb
11-01-2005, 15:28
Syntaxhighlighting sagt nichts über Farben aus.
Syntaxhighlighting heisst, das Kommandos anders gesetzt werden als Variablen und Text...
Mein Beispiel macht keine Farben, setzt aber Kommandos fett.


Bei mir ist alles schwarz und dazu noch in verschnörkelter Schrift.
Ich habe das so interpretiert, das du schwarze balken hast und manchmal eine Zierschrift.

Anscheinend meintest du fett und kursiv. Sorry für das Misverständnis.

Die Lösung zur Farbe zeigte ja Edico inzwischen.

Leider rückt er immer noch nicht die Zeilen automatisch ein, oder ist das nicht dabei?
Was meinst du damit?
Die Einrückungen werden so gesetzt wie sie im Sourcecode sind. Ein Prettyprint wird nicht durchgeführt.

Was es gibt, sind Optionen zur Einrückung verschieben (gobble, d.h. du könntest damit Einrückungen deines Codes entfernen) und sichtbarmachen von spaces (kenn ich gerade nict auswendig).

Meinst du sowas?

whatever
11-01-2005, 16:09
Spaces funktionieren ja, aber ich dachte, er kann das automatisch einrücken. :cool:

whatever...

PS: Wie bekomm ich in den Strings die seltsamen Spaces raus (eckiges kleines u)?

blubb
11-01-2005, 17:31
PS: Wie bekomm ich in den Strings die seltsamen Spaces raus (eckiges kleines u)?
Das war das Kommando, das ich nicht mehr wusste:
\lstset{showstringspaces=false}

badera
11-01-2005, 19:09
Spaces funktionieren ja, aber ich dachte, er kann das automatisch einrücken

Meinst Du, dass alles z.B. 1cm nach rechts geschoben wird?



{
\setlength{\leftskip}{1cm}
dein zeugs, das nach rechts soll
}


- Adrian