hätte da mal eine Frage zu Listings; speziel zu Listings mit Quellcode der Sprache C. Ich wollte mich farblich an den Editor "Kate" halten, weil ich den gewöhnt bin. Wie kann ich im folgenden Beispiel "return" schwarz und fett darstellen lassen? Außerdem sollten "\n" und "size_t" blau (bzw. cblau) sein. Hab schon mit google und der Forensuche gesucht, aber nur Lösungen mit dem "morekeywords"-Befehl gefunden. Wenn ich diese Keywords mit "morekeywords" einfärbe, dann färbt er automatisch alle anderen Keywords so ein. Das mit den ßß...ßß, ||...|| und @@...@@ zum einfärben der #include-Befehle und der h-Dateinamen ist nur eine Notlösung, geht es besser?
Hier ist mein Minimalbeispiel:
\documentclass{article} \usepackage{xcolor} \usepackage{inconsolata} \usepackage{listings} \definecolor{cblau} {RGB}{ 0, 87,174} \definecolor{cgelb} {RGB}{176,128, 0} \definecolor{crot} {RGB}{191, 3, 3} \definecolor{cgruen} {RGB}{ 0,110, 40} \definecolor{corange} {RGB}{255, 85, 0} \lstdefinestyle{ccode}{ belowcaptionskip =1\baselineskip, breaklines =true, xleftmargin =\parindent, language =C, showstringspaces =false, basicstyle =\ttfamily, keywordstyle =\color{cblau}, commentstyle =\color{gray}, identifierstyle =\color{black}, stringstyle =\color{crot}, moredelim =[is][\color{cgelb}]{ßß}{ßß}, moredelim =[is][\color{corange}]{||}{||}, moredelim =[is][\color{cgruen}]{@@}{@@}, } \lstset{ numbers =left, columns =fullflexible, float, numberstyle =\color{gray}, } \begin{document} \begin{lstlisting}[language=C, style=ccode, caption={C-Code}] @@#include@@||<stdio.h>|| @@#include@@||<stdlib.h>|| @@#include@@||<string.h>|| int main(){ char wochentag[]="Freitag"; int tag=ßß13ßß; char monat[]="Mai"; int jahr=ßß1927ßß; char *string; const size_t kapazitaet=ßß100ßß; string=malloc(kapazitaet); snprintf(string, kapazitaet, "%s, der %d. %s %d\n", wochentag, tag, monat, jahr); printf("%s", string); free(string); return ßß0ßß; } \end{lstlisting} \end{document}
xachse